API Foutmeldingen

Deze pagina beschrijft hoe onze API foutmeldingen teruggeeft, welke HTTP‑statuscodes we gebruiken, en hoe de JSON‑structuur eruitziet.

TL;DR

  • Alle fouten volgen het Google JSON error patroon.

  • Body:

    {
      "id": "<request-id>",
      "status": "failure",
      "error": {
        "code": <http-status-code>,
        "message": "<korte samenvatting>",
        "errors": [
          { "reason": "<machine-leesb. reden>", "message": "<menselijke uitleg>" }
        ]
      }
    }
  • CORS‑headers zijn aanwezig op alle foutantwoorden.

  • Waar van toepassing geven we extra context via errors[].reason.


Standaard JSON‑structuur

Velden

  • error.code (number): De HTTP‑statuscode.

  • error.message (string): Korte samenvatting (in het Engels; stabiele API‑conventie).

  • error.errors (array): Optionele lijst met detailobjecten:

    • reason (string): Machine‑leesbare reden (stabiele sleutel die clients kunnen mappen).

    • message (string): Menselijke toelichting; kan in de loop der tijd verfijnen.


Scenario’s & statuscodes

400 — Bad Request

Wordt teruggegeven wanneer parameters onjuist zijn ingegeven.

Voorbeelden van oorzaken

  • Verplichte parameter ontbreekt.

  • Waarde van een parameter is onjuist.

Response

401 — Unauthorized

Wordt teruggegeven wanneer authenticatie ontbreekt of ongeldig is.

Voorbeelden van oorzaken

  • Verkeerde of ontbrekende Authorization: Bearer <api-key> header.

  • Inactieve API‑key.

Response


403 — Forbidden

Wordt teruggegeven wanneer de aanroepende klant bekend is, maar geen rechten heeft op de gevraagde resource.

Mogelijke reasons

  • access_denied — algemene weigering.

  • missing_subscription — endpoint valt buiten het abonnement.

  • rate_limit — als throttling wordt afgedwongen (dan blijft het statuscode 403).

Response


404 — Not Found

We gebruiken 404 in twee situaties:

  1. Route/methode bestaat niet (bijv. /v1/niet-bestaand).

  2. Resource bestaat niet (bijv. object‑ID onbekend, onbekend adres).

Responses


CORS

Alle foutantwoorden bevatten CORS‑headers:

Richtlijnen voor clients

  • Gebruik error.code voor primaire afhandeling (HTTP‑niveau).

  • Gebruik errors[0].reason voor specifieke beslissingen

  • Log de id , uit de body, en de header X-Amzn-Trace-Id voor support/correlatie.


Backwards compatibility

Het top‑level error‑object en de waarden van error.code en error.message blijven stabiel. We kunnen nieuwe reason‑waarden toevoegen; clients dienen onbekende reasons te negeren of als generieke fout te behandelen.


Contact & support

Neem bij vragen of onduidelijkheden contact op via onze support ([email protected]). Vermeld altijd de endpoint‑URL, timestamp, en (indien mogelijk) de id en de X-Amzn-Trace-Id.

Last updated