unauthorized
Statut HTTP : 401 · Rejouable : oui, une fois un jeton valide obtenu.
Cause
L'API n'a pas pu établir votre identité. Les causes possibles :
- header
Authorizationabsent ou ne commençant pas parBearer; - jeton vide après le préfixe
Bearer; - jeton expiré, révoqué, ou émis pour une autre audience ;
- jeton d'un autre environnement (un jeton sandbox n'est pas accepté en production, et réciproquement) ;
- jeton sans l'identité de votre organisation, parce que le scope
urn:zitadel:iam:user:resourceownermanque dans la demande de jeton.
Réponse
HTTP/1.1 401 Unauthorized
Content-Type: application/problem+json
{
"type": "https://docs.pesia.fr/partner/errors/unauthorized",
"title": "Unauthorized",
"status": 401,
"detail": "Missing or malformed Authorization header",
"code": "unauthorized",
"instance": "/partner/v1/smic",
"timestamp": "2026-08-14T09:12:44.318Z"
}
Le detail précise le motif : Missing or malformed Authorization header,
Empty bearer token, ou Invalid partner credentials.
Que faire
-
Vérifier la forme exacte du header — un seul espace, préfixe sensible à la casse :
curl -s https://api.pesia.fr/partner/v1/organizations/me \
-H "Authorization: Bearer $TOKEN" -
Rafraîchir le jeton s'il a expiré. Les jetons sont de courte durée : votre intégration doit en redemander un automatiquement, pas au premier
401d'une journée de production. -
Vérifier que l'audience demandée correspond bien à l'API partenaire, et que l'environnement du jeton correspond à l'hôte appelé.
-
Si le
detailvautInvalid partner credentialset que le jeton vient d'être délivré, vérifier le scopeurn:zitadel:iam:user:resourceowner. Sans ce scope, le jeton ne porte pas l'identité de votre organisation, et l'API le refuse. La procédure complète est décrite dans Authentification. -
Si les identifiants sont corrects et que le
401persiste, ils ont pu être révoqués : contactez votre interlocuteur Pesia (partenaires@pesia.fr).
Extensions
Aucune — seuls les champs standard ci-dessus.
Voir aussi : Authentification · Sandbox · Tous les codes d'erreur