Ces endpoints ne nécessitent aucune authentification — les headers apiKey et apiId ne sont pas requis.
POST /public/access_token
Authentifie un utilisateur et retourne un token d’accès JWT ainsi qu’un refresh token.
| Header | Valeur |
|---|
Content-Type | application/json |
Corps de la requête
{
"username": "user@example.com",
"password": "motdepasse"
}
| Champ | Type | Obligatoire | Description |
|---|
username | String | Oui | Identifiant du compte |
password | String | Oui | Mot de passe |
Exemples
curl -X POST https://api.remita.cm/public/access_token \
-H "Content-Type: application/json" \
-d '{
"username": "user@example.com",
"password": "motdepasse"
}'
Réponse (200)
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"refresh_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 3600
}
| Champ | Type | Description |
|---|
access_token | String | JWT à passer dans Authorization: Bearer ... |
refresh_token | String | Token de renouvellement |
token_type | String | Toujours Bearer |
expires_in | Number | Durée de validité en secondes |
Erreurs
| Code | Description |
|---|
400 | Corps de requête invalide |
401 | Identifiants incorrects |
500 | Erreur interne serveur |
POST /public/refresh_token
Renouvelle un token d’accès expiré à partir du refresh token.
Corps de la requête
{
"refreshToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..."
}
| Champ | Type | Obligatoire | Description |
|---|
refreshToken | String | Oui | Le refresh token à renouveler |
Exemples
curl -X POST https://api.remita.cm/public/refresh_token \
-H "Content-Type: application/json" \
-d '{"refreshToken": "eyJhbGci..."}'
Réponse (200)
Même structure que /public/access_token avec de nouveaux tokens.
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"refresh_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 3600
}
Erreurs
| Code | Description |
|---|
400 | Refresh token invalide ou expiré |
500 | Erreur interne serveur |
Stockez le refresh_token de manière sécurisée et renouvelez votre access_token avant son expiration pour éviter toute interruption de service. Voici un exemple de renouvellement automatique :def make_request(url, access_token, refresh_token, **kwargs):
headers = {"Authorization": f"Bearer {access_token}", **kwargs.pop("headers", {})}
response = requests.request("GET", url, headers=headers, **kwargs)
if response.status_code == 401:
new_tokens = requests.post(
"https://api.remita.cm/public/refresh_token",
json={"refreshToken": refresh_token}
).json()
headers["Authorization"] = f"Bearer {new_tokens['access_token']}"
response = requests.request("GET", url, headers=headers, **kwargs)
return response