Guides

Error handling

Errors return a consistent JSON object with a machine-readable code and human message.

400Bad Request
{
  "error": {
    "code": "missing_required_field",
    "message": "The name field is required",
    "field": "name"
  }
}

Common codes

unauthorized401Missing or invalid API key
missing_required_field400Required body/query field missing
invalid_request400Malformed input
not_found404Resource does not exist
slug_taken409Slug already in use
plan_limit403Plan does not allow this action
rate_limited429Too many requests — slow down and retry
server_error500Unexpected server failure