Common Errors

The API uses standard HTTP status codes. Errors return a JSON body with status, error, and error_details fields.

Error Response Format

{
  "status": 400,
  "error": "Bad Request",
  "error_details": {
    "message": "Description of what went wrong"
  }
}

Status Codes

400 Bad Request

The request is malformed or contains invalid parameters. Check query parameters, request body, and content types.

{
  "status": 400,
  "error": "Bad Request",
  "error_details": {
    "message": "Invalid value for parameter 'limit'"
  }
}

401 Unauthorized

The access token is missing, malformed, or expired. See Authentication for how to create a new token.

{
  "status": 401,
  "error": "Unauthorized",
  "error_details": {
    "access_token": "The access token expired."
  }
}

403 Forbidden

The token is valid but lacks the required scope for this endpoint. Check that the token has public-api:read or public-api:write as needed.

{
  "status": 403,
  "error": "Forbidden",
  "error_details": {
    "access_token": "The request requires higher privileges"
  }
}

404 Not Found

The resource does not exist, or the token's project does not have access to it.

{
  "status": 404,
  "error": "Not Found",
  "error_details": {
    "url": "/api/2026-01/documents/999999/latestPublication"
  }
}

409 Conflict

A version conflict occurred. This typically happens with document commands when the document was modified by another request between your read and write. Retry the request with the current version.

{
  "status": 409,
  "error": "Conflict",
  "error_details": {
    "message": "Version mismatch"
  }
}

410 Gone

The requested API version has been removed. This happens when you call an API version that has reached end of life. Update the version in your request URL to a supported version.

{
  "status": 410,
  "error": "Gone",
  "error_details": {
    "message": "API version '2024-01' is no longer available. Please upgrade to a supported version."
  }
}

Each API version is supported for a minimum of two years. Check the version selector in the sidebar to see which versions are currently available.

429 Too Many Requests

Rate limiting is active. Wait before retrying. The Retry-After header indicates how many seconds to wait.

{
  "status": 429,
  "error": "Too Many Requests",
  "error_details": {
    "message": "Rate limit exceeded"
  }
}

Next Steps

⌘ K to search