Wat betekenen de foutcodes bij een endpoint?
Het eerste cijfer vertelt je al waar je moet zoeken. Een 2 betekent gelukt, een 4 dat jouw verzoek niet klopt, een 5 dat het aan de andere kant misgaat.
Dat onderscheid bepaalt of je zelf iets moet oplossen of dat je de leverancier moet bellen.
Een handvol codes dekt vrijwel alles wat je in de praktijk tegenkomt.

De codes die je vaak ziet
200 betekent gelukt. 201 betekent aangemaakt, bijvoorbeeld na het versturen van een bestelling.
400 betekent dat je verzoek niet klopt: een veld ontbreekt of heeft de verkeerde vorm.
Toegangsproblemen
401 betekent dat je je niet hebt aangemeld of dat je sleutel niet klopt. 403 betekent dat je wel bekend bent maar dit niet mag.
404 betekent dat het adres niet bestaat; meestal een typefout of een verkeerde versie. Meer daarover lees je bij api.
Te veel en te vaak
429 betekent dat je over de limiet gaat. Dan moet je verzoeken spreiden of tussentijds resultaten bewaren.
Dat laatste is vaak de betere oplossing. Meer daarover lees je bij cache.
Mijn vuistregels
- Begint de code met een 4? Kijk eerst naar je eigen verzoek.
- Begint hij met een 5? Bel de leverancier, en probeer het later opnieuw.
- Lees altijd de tekst die bij de code hoort; die is specifieker.
- Leg foutmeldingen vast in een logboek, ook als het maar zelden misgaat.
Die laatste bespaart de meeste tijd bij problemen die maar af en toe optreden.
De 500-reeks
500 is een fout aan de kant van de dienst. 502 en 503 betekenen meestal dat hij overbelast of tijdelijk uit de lucht is.
Daar kun je zelf niets aan doen, behalve netjes opnieuw proberen na een wachttijd.
Wat je bouwer ermee doet
Een goede koppeling reageert per code anders: bij een 429 wachten en opnieuw proberen, bij een 400 stoppen en melden.
Meer daarover lees je bij waarom een endpoint traag reageert.