Ga naar hoofdinhoud

Foutafhandeling

De API retourneert consistente foutresponses. Leer hoe u deze correct afhandelt.

// ERROR_FORMATFoutformaat
FoutformaatAlle fouten volgen hetzelfde JSON-formaat

Foutresponses bevatten altijd een message veld en kunnen aanvullende details bevatten.

Validatiefout (422)

{
  "error": {
    "code": "validation_error",
    "message": "The postcode field format is invalid.",
    "status": 422,
    "errors": {
      "postcode": [
        "The postcode format is invalid. Use format: 1234AB"
      ]
    }
  }
}

Niet gevonden (404)

{
  "error": {
    "code": "address_not_found",
    "message": "No address found for the given postcode and house number.",
    "status": 404
  }
}

Authenticatiefouten (HTTP 401)

{
  "error": {
    "code": "unauthenticated",
    "message": "Unauthenticated.",
    "status": 401
  }
}

Authenticatie- en autorisatiefouten gebruiken dezelfde { error: { code, message, status } } envelope als domeinfouten. Validatiefouten behouden de { message, errors } vorm zodat bestaande clientbibliotheken blijven werken.

// HTTP_CODESHTTP Statuscodes
HTTP StatuscodesOverzicht van alle gebruikte statuscodes
CodeNaamBeschrijvingOplossing
400Bad RequestHet verzoek bevat ongeldige of ontbrekende parametersControleer de parameters en hun formaat
401UnauthorizedAuthenticatie vereist of ongeldig tokenVoeg een geldige Bearer token toe aan de Authorization header
403ForbiddenGeen toegang tot deze resourceControleer uw IP-whitelist, domein-whitelist of accountrechten
404Not FoundDe gevraagde resource bestaat nietControleer of de resource bestaat
405Method Not AllowedDeze HTTP-methode wordt niet ondersteund voor dit endpointRaadpleeg de documentatie voor ondersteunde HTTP-methoden op dit endpoint
408Request TimeoutDe server heeft te lang gewacht op het verzoekProbeer het verzoek opnieuw; overweeg de scope te verkleinen
422Validation ErrorValidatie mislukt voor de gegeven parametersCorrigeer de validatiefouten in uw verzoek
429Too Many RequestsTe veel verzoeken, rate limit bereiktWacht tot de Retry-After periode voorbij is
500Internal Server ErrorInterne serverfoutProbeer later opnieuw, neem contact op bij aanhoudende fouten
503Service UnavailableService tijdelijk niet beschikbaarWacht tot de service weer beschikbaar is
// APP_CODESApplicatiefoutcodes
ApplicatiefoutcodesSpecifieke foutcodes voor domeinlogica
CodeBeschrijving
unauthenticatedAuthenticatie is vereist; geef een geldig Bearer token mee in de Authorization header
unauthorizedAuthenticatie is mislukt (meestal door een ongeldig of verlopen token)
forbiddenHet geauthenticeerde account heeft geen rechten om deze actie uit te voeren
token_revokedDe API-sleutel is ingetrokken door de eigenaar of een beheerder
token_expiredDe API-sleutel is voorbij de vervaldatum
ip_not_allowedHet IP-adres van het verzoek staat niet op de IP-whitelist van de sleutel
domain_not_allowedHet domein van het verzoek staat niet op de domein-whitelist van de browsersleutel
origin_requiredBrowsersleutels vereisen een Origin-header op het verzoek
browser_key_read_onlyBrowsersleutels ondersteunen alleen lees-verzoeken (GET)
bad_requestHet verzoek is ongeldig of mist verplichte velden
validation_errorEen of meer parameters zijn ongeldig; per-veld details onder error.errors
invalid_postcodeOngeldige postcode-indeling (verwacht formaat: 1234AB)
invalid_fileHet opgegeven bestand is ongeldig (grootte, formaat of inhoud)
bbox_too_largeDe opgegeven bounding box is groter dan toegestaan (~0,5° vierkant / een grote stad). Beperk de zoekopdracht en probeer opnieuw
method_not_allowedDeze HTTP-methode wordt niet ondersteund voor dit endpoint
request_timeoutDe server heeft te lang gewacht op het verzoek
not_foundDe gevraagde resource is niet gevonden (geldt voor gebouwen, steden, straten, gemeenten, provincies en verblijfsobjecten)
address_not_foundGeen adres gevonden voor de gegeven postcode en huisnummer
file_not_foundHet exportbestand is verlopen of niet gevonden op de server
not_readyDe gevraagde export is nog niet voltooid; probeer het later opnieuw
too_many_requestsRate limit per minuut overschreden; wacht en probeer opnieuw
quota_exceededMaandelijks API-quotum is overschreden voor deze sleutel
server_errorEr is een onverwachte fout opgetreden; het verzoek mag na korte vertraging opnieuw geprobeerd worden
service_unavailableDe dienst is tijdelijk niet beschikbaar; probeer opnieuw na de Retry-After vertraging
// BEST_PRACTICESBest Practices
Best PracticesTips voor robuuste foutafhandeling
  • 1. Controleer altijd de HTTP-statuscode voor het parsen van de response
  • 2. Implementeer exponential backoff bij 429-fouten
  • 3. Log foutresponses voor debugging
  • 4. Gebruik de foutcode voor specifieke afhandeling
  • 5. Monitor uw quotumgebruik via de dashboard