Feilmeldingen står i svaret

Tjenestene returnerer en lesbar melding — både i svarkroppen og i headeren error-message. Det er den meldingen som skal vises til brukeren, oversatt om nødvendig. Ikke vis en rå HTTP-statuskode; den sier ingenting om hva som faktisk gikk galt.

  HTTP/1.1 403 Forbidden
error-message: Bruker har ikke tilgang til denne organisasjonen
  

401 og 403 er to forskjellige problemer

StatusBetyrSjekk
401 UnauthorizedTokenet mangler, er utløpt, eller er ikke gyldigSendes Authorization: Bearer …? Er tokenet utløpt? Er det utstedt av auth2.sirktek.com? Stemmer audience?
403 ForbiddenTokenet er gyldig, men gir ikke tilgang til detteMangler X-auth-owner, peker den på feil organisasjon, eller mangler brukeren eller API-nøkkelen rettigheten?

Kort sagt: 401 er et tokenproblem, 403 er et rettighetsproblem. Å hente nytt token hjelper aldri mot en 403.

Andre statuser du vil møte

  • 400 — forespørselen er feil satt sammen. Meldingen sier hvilket felt.
  • 404 — objektet finnes ikke, eller du har ikke tilgang til å se det. Behandle dem likt i klienten din.
  • 409 — konflikt, typisk fordi noen andre har endret objektet i mellomtiden.
  • 5xx — feil hos tjenesten. Prøv igjen med økende ventetid; ikke i løkke.

Backend er sannheten

Klienter kan skjule knapper etter rettighetene i tokenet, men det er tjenesten som avgjør. En integrasjon skal derfor alltid håndtere 401 og 403 selv om den «vet» at brukeren har tilgang — rettigheter kan endres mellom to kall.

Videre