Aller au contenu principal

Pas membre

typehttps://docs.frem.sh/reference/api/errors/not-a-member
Statut HTTP403 Forbidden

Ce que cela signifie

Le login indiqué dans le chemin de la requête n’est pas membre de l’organisation indiquée dans ce même chemin : la requête a donc été refusée sans qu’aucune action soit effectuée.

Il s’agit d’une limite délibérée, pas d’un problème de permissions de votre jeton : un endpoint limité aux membres n’agit que sur les membres de l’organisation à laquelle vous vous êtes adressé. Cela évite de modifier un paramètre pour un utilisateur qui se trouve partager son login avec quelqu’un d’une autre organisation.

Que faire

Vérifiez l’orthographe du login, et confirmez que l’utilisateur est membre de cette organisation :

curl -H "Authorization: Bearer $FREMFORGE_TOKEN" \
  https://frem.sh/api/v1/orgs/<org>/members

Ajoutez-le d’abord à l’organisation s’il n’en fait pas partie. Le login est comparé sans tenir compte de la casse : la casse seule n’est donc pas en cause.

Ne pas confondre avec

ErreurSignification
not-foundCet utilisateur n’existe nulle part sur l’instance.
forgejo-unavailableL’appartenance n’a pas pu être vérifiée du tout : c’est une panne transitoire, pas une réponse sur l’appartenance. Réessayez.

Cette dernière distinction compte dans un script : un 403 est une réponse définitive et réessayer ne la changera pas, tandis qu’un 503 doit être réessayé.

Forme de la réponse

Toutes les erreurs de l’API fremforge sont au format problem+json de la RFC 9457 :

{
  "type": "https://docs.frem.sh/reference/api/errors/not-a-member",
  "title": "Forbidden",
  "status": 403,
  "detail": "<login> is not a member of this organisation."
}

Basez votre logique sur type, et non sur title ou detail : ces champs sont destinés à être lus par un humain et peuvent être reformulés.