Geen lid
type | https://docs.frem.sh/reference/api/errors/not-a-member |
| HTTP-status | 403 Forbidden |
Wat het betekent
De login in het pad van het verzoek is geen lid van de organisatie die in hetzelfde pad staat, dus het verzoek is geweigerd zonder dat er iets is gedaan.
Dit is een bewuste grens, geen probleem met de rechten van je token: een endpoint met leden als scope werkt alleen op leden van de organisatie die je aansprak. Zo voorkomt het dat je een instelling wijzigt voor een gebruiker die toevallig dezelfde loginnaam heeft als iemand in een andere organisatie.
Wat je kunt doen
Controleer de spelling van de login, en bevestig dat de gebruiker lid is van die organisatie:
curl -H "Authorization: Bearer $FREMFORGE_TOKEN" \
https://frem.sh/api/v1/orgs/<org>/membersVoeg de gebruiker eerst toe aan de organisatie als die ontbreekt. De login wordt zonder onderscheid tussen hoofd- en kleine letters vergeleken, dus alleen hoofdlettergebruik is niet de oorzaak.
Niet te verwarren met
| Fout | Betekenis |
|---|---|
not-found | Er bestaat nergens op de instantie zo’n gebruiker. |
forgejo-unavailable | Het lidmaatschap kon helemaal niet worden gecontroleerd: een tijdelijke storing, geen uitspraak over het lidmaatschap. Probeer het opnieuw. |
Dat laatste onderscheid is belangrijk in scripts: een 403 is een definitief antwoord en opnieuw proberen verandert daar niets aan, terwijl je een 503 wel opnieuw moet proberen.
Vorm van het antwoord
Alle API-fouten van fremforge zijn RFC 9457 problem+json:
{
"type": "https://docs.frem.sh/reference/api/errors/not-a-member",
"title": "Forbidden",
"status": 403,
"detail": "<login> is not a member of this organisation."
}Baseer je logica op type, niet op title of detail: die zijn bedoeld voor mensen en kunnen anders worden geformuleerd.