Docs

Errors

The JSON:API error format and every error code the API returns.

Failed requests return a JSON:API error document with the application/vnd.api+json content type:

{
  "jsonapi": { "version": "1.1" },
  "errors": [
    {
      "status": "404",
      "code": "resource_not_found",
      "title": "Not Found",
      "detail": "The requested resource does not exist or is not accessible with this API key."
    }
  ]
}

status is the HTTP status as a string, code is a stable machine-readable identifier, and detail is a human-readable explanation. Branch on code, not on detail.

Error codes

StatusCodeWhen
400bad_requestInvalid query parameters (unknown sort field, bad include path) or malformed request syntax
401unauthorizedMissing, invalid, expired, or revoked API key
403forbiddenThe key is valid but lacks the required grant for this resource, action, or field
403origin_not_allowedBrowser request from an origin outside the key's allowlist
404not_foundUnknown endpoint or record
404resource_not_foundThe resource exists in Einblick but is not granted to this key (indistinguishable from not existing)
405method_not_allowedThe resource does not support the requested write action
409conflictThe write conflicts with current state, e.g. a duplicate slug
422unprocessable_entityWell-formed JSON with invalid or non-writable field values

Note that "not granted" and "does not exist" intentionally look the same (404) so that keys cannot probe for the existence of resources they cannot read.

Command errors

Command endpoints return a simpler shape:

{ "error": "Job posting not found" }

with a status code matching the failure. Handle both shapes if you mix resource calls and commands.

Handling errors in practice

  • 401 — the key is gone; alert whoever owns the integration rather than retrying.
  • 403 / 405 — a grant is missing; fix the key configuration in System settings → Integrations → Public API.
  • 409 with Idempotency-Key — you may be retrying an operation whose first attempt succeeded; fetch the record to check.
  • 5xx — safe to retry with backoff; use idempotency keys for writes.