Naar de inhoud

Afspraken

Fouten en statuscodes

Elke fout heeft dezelfde vorm, bij elke status. Reageer op error.code, niet op de HTTP-status alleen en nooit op de tekst: die kan veranderen.

De vorm

NaamTypeStandaardUitleg
error.code verplichtunauthorized | forbidden | not_found | invalid_request | method_not_allowed | conflict | rate_limited | internal-Stable machine code. Switch on this, never on the message.
error.message verplichtstring-Human readable explanation in English. May be reworded at any time.
error.details optioneelobject-Extra context. For invalid_request this carries params, one entry per bad parameter.
request_id verplichtstring-The X-Request-Id of this response. Quote it when you report a problem.
400 invalid_request
{
  "error": {
    "code": "invalid_request",
    "message": "1 parameter is wrong: limit.",
    "details": {
      "params": [
        {
          "param": "limit",
          "message": "must be 100 or less"
        }
      ]
    }
  },
  "request_id": "9f1c2b4a-7e3d-4a10-9c2f-6b8d1e5a0c33"
}

De codes

Dit zijn alle waarden van error.code. Een nieuwe code is een wijziging van de specificatie en komt in de wijzigingen.

error.codeHTTPBetekenis
unauthorized401Geen token, een onbekend token of een ingetrokken token.
forbidden403Een geldig token dat dit niet mag: een recht ontbreekt, de organisatie is geschorst, of het gaat om het event van een ander.
not_found404Het endpoint bestaat, maar wat je vraagt niet.
invalid_request400Het verzoek klopt niet: een onbekende waarde, een slechte cursor, een body die geen JSON is.
method_not_allowed405Het pad bestaat, maar niet met deze methode. Allow zegt welke wel.
conflict409Het verzoek past niet bij de toestand van wat het raakt.
rate_limited429Over de limiet per minuut of het dagbudget. Retry-After zegt hoe lang je wacht.
internal500Onze fout. Het request_id is wat wij nodig hebben om het terug te vinden.

Bij invalid_request staat in error.details.params elke parameter die niet klopt, met de reden, in één keer.

Alle statussen in de specificatie

Per endpoint staat in de referentie welke van deze statussen het kan geven.

StatusBetekenis
400The request is wrong. error.details.params names every bad parameter.
401No token, or a token we do not know.
403The token is valid but does not carry the read scope, or the organisation is suspended.
404No such resource.
409This event does not use external ticketing.
429Over the per-minute limit or the daily quota. Retry-After says how long to wait.
500Something went wrong on our side. Quote request_id.

Een fout melden

Elk antwoord, goed of fout, heeft een header X-Request-Id, en een fout heeft hem ook in de body als request_id. Stuur die mee als je ons mailt; dan vinden we het verzoek terug. Zie Support.

Bijgewerkt