Une action est refusée comme interdite
Symptom
Vous êtes connecté — les lectures fonctionnent — et une action renvoie 403. Ou chaque requête renvoie 401 et le tableau de bord vous redirige vers la connexion. Les deux sont des problèmes différents et la différence réside dans le numéro.
Diagnose
- 401 ou 403 ? 401 signifie que la plateforme ne sait pas qui vous êtes : le jeton est manquant, mal formé ou expiré. 403 signifie qu’elle sait exactement qui vous êtes et que la réponse est toujours non.
- Pour un 401 de l’API : vérifiez que la requête transporte
Authorization: Bearer <token>et que le jeton n’a pas expiré.odysseus auth whoamietodysseus auth statusrépondent aux deux. - Pour un 403 : sous quel rôle agissez-vous ? L’exécution et la construction sont des droits séparés à dessein — voir ce qu’un agent principal ne peut pas faire, qui énonce la même séparation pour les appelants automatisés.
- La ressource est-elle dans votre locataire ? Chaque enregistrement appartient à exactement un locataire, et une requête qui atteint l’enregistrement d’un autre locataire est refusée plutôt que de répondre de manière vide. Ce refus ressemble à un problème de permissions et constitue une frontière d’isolation — voir multilocation et isolation.

Resolve
- 401 : reconnectez-vous, ou rafraîchissez le jeton.
odysseus auth loginen réémet un. - 403 sur une action que votre rôle ne porte pas : demandez le droit à l’administrateur de votre locataire, en nommant l’action plutôt que le rôle — les rôles diffèrent par ce qu’ils peuvent faire, pas par leur ancienneté.
- 403 sur l’enregistrement d’un autre locataire : il n’y a pas de correction de ce côté ; l’enregistrement n’est pas le vôtre.
Prevent
Donnez aux appelants automatisés un principal avec exactement les droits dont leur travail a besoin. Un principal détenant à la fois le droit de construction et le droit d’exécution contourne discrètement la séparation, et rien ne le signale.