Wat betekent statuscode 422 Unprocessable Entity?

Home - Wat betekent statuscode 422 Unprocessable Entity?
Statuscode 422

Je stuurt een request naar een API met geldige JSON en de juiste headers. Op het eerste gezicht lijkt alles in orde. Maar in plaats van een succesvolle respons, stuurt de server een foutmelding terug: 422 Unprocessable Entity.

Deze statuscode betekent dat de server je verzoek technisch wel begrijpt, maar de inhoud ervan niet kan verwerken. De structuur klopt, maar de data voldoet niet aan de verwachte validatieregels.

Waarom krijg je een 422?

Omdat je iets stuurt wat niet klopt binnen de regels van het model of validatiesysteem.

Het kan zijn:

  • Je mist een verplicht veld
  • Je geeft een waarde op die niet mag (bijvoorbeeld een negatieve prijs)
  • Of je probeert iets aan te passen dat niet geldig is in de huidige context

Frameworks zoals Laravel, Rails of Django REST geven meestal precies aan wat er fout is. Niet met een lap tekst, maar met gestructureerde foutberichten. Daar kun je iets mee.

Wat maakt een 422 anders dan een 400?

Een 400 Bad Request betekent dat het verzoek als geheel niet correct is opgebouwd, denk aan ontbrekende haakjes, foutieve headers, of invalid JSON.

Een 422 status code zegt daarentegen: je request is technisch valide, maar inhoudelijk niet oké. Denk aan het verschil tussen een verkeerd geadresseerde brief en eentje die netjes aankomt, maar met foute informatie erin.

Waar kom je dit tegen?

Vooral bij REST API’s die streng valideren op veldniveau. Denk aan formulieren, user registration, productupdates, enzovoort. Het komt ook vaak terug in frontend-apps die met een backend praten en waarbij niet alle client-side validatie is ingeschakeld of werkt.

Wat kun je doen?

HTTP 422

Je hoeft geen debuggingtool te openen. Kijk gewoon naar wat de server je terugstuurt. Als het goed is, krijg je precies te zien welke velden missen of waarom een waarde is afgekeurd.

Dus:

  • Begin bij de foutmelding zelf
  • Controleer je payload (veldnamen, types, verplichte attributen)
  • Check de API-documentatie (of praat met de dev die ’m gebouwd heeft)

En vooral: blijf niet hangen in “maar het is toch geldige JSON?”. Dat is het punt niet. Het gaat om wat je ermee probeert te doen.

Samengevat

De 422 status code is geen crash, geen fout in je opbouw. Het is de server die zegt: dit klopt niet volgens mijn regels. Dat kan frustrerend zijn, vooral als alles er aan de buitenkant netjes uitziet, maar het is precies het soort foutmelding die je helpt om beter te bouwen.

Verzoek accepteren? Ja, mits de inhoud klopt. Zo niet, dan krijg je een 422.

Foto van David Ladiges
David Ladiges
Technical Lead
Op deze pagina

Deel dit artikel: