Skip to navigation

Errors

The error document and the status codes the API answers
View as MarkdownOpen in Claude

The API uses standard HTTP status codes: 2xx for success, 4xx for a problem with the request, 5xx for a problem on our side. Every error answers a JSON:API error document with Content-Type: application/vnd.api+json.

The error document

{
"errors": [
{
"status": "422",
"title": "Validation Error",
"detail": "The page.size field must not be greater than 50.",
"source": { "parameter": "page[size]" }
}
],
"jsonapi": { "version": "1.1" }
}
MemberAlways presentMeaning
statusYesThe HTTP status code, as a string
titleYesA short summary of the kind of error
detailWhen there is a messageWhat went wrong in this request, in English
source.parameterValidation and query errorsThe offending field or query parameter, in bracket form (page[size], filter[core_version])

A validation failure lists one error object per problem, so a single response can carry several entries in errors.

Status codes

CodetitleWhen
400Invalid Query ParameterAn unknown filter, sort or include. source.parameter is filter, sort or include, and detail lists the allowed values. See Filtering and sorting.
401UnauthenticatedThe token is missing, malformed, unknown or expired. See Authentication.
403ForbiddenA read-only token tried to write, your role does not allow the action, or the organization’s Public API is disabled or out of quota. See Organizations.
404Not FoundThe resource does not exist, or belongs to another organization.
409ErrorThe request conflicts with the organization’s state, for example creating backups with the storage quota exhausted.
422Validation ErrorA body field or query value is invalid, page[size] is above 50, or the query uses a parameter the API does not accept.
429ErrorToo many requests. See Rate limits.
500Server ErrorSomething failed on our side. Retrying later is safe for reads.

Handling errors

  • Branch on the HTTP status and on status, not on detail: the wording of detail can improve over time.
  • Show detail to a person when it helps: it is written to be read.
  • Use source.parameter to point at the field to fix.