Skip to main content
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.

Headers

HeaderValeur
Content-Typeapplication/json

Corps de la requête

{
  "username": "user@example.com",
  "password": "motdepasse"
}
ChampTypeObligatoireDescription
usernameStringOuiIdentifiant du compte
passwordStringOuiMot 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
}
ChampTypeDescription
access_tokenStringJWT à passer dans Authorization: Bearer ...
refresh_tokenStringToken de renouvellement
token_typeStringToujours Bearer
expires_inNumberDurée de validité en secondes

Erreurs

CodeDescription
400Corps de requête invalide
401Identifiants incorrects
500Erreur interne serveur

POST /public/refresh_token

Renouvelle un token d’accès expiré à partir du refresh token.

Corps de la requête

{
  "refreshToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..."
}
ChampTypeObligatoireDescription
refreshTokenStringOuiLe 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

CodeDescription
400Refresh token invalide ou expiré
500Erreur 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