Reference › Error Codes

Reference

Error Codes

Public API errors use one JSON envelope with a stable code, human-readable message, request ID, and optional details object.

Error envelope

{
  "error": {
    "code": "invalid_request",
    "message": "Request body must be valid JSON.",
    "request_id": "req_...",
    "details": {}
  }
}

Common codes

CodeStatusWhat to do
authentication_required401Send Authorization: Bearer <API_KEY>.
permission_denied403Use a key with the required scope and workspace authorization.
organization_context_mismatch403Correct or remove X-Organization-Id.
workspace_id_required400Provide X-Workspace-Id when the key can access multiple workspaces.
missing_idempotency_key400Add Idempotency-Key to send-creating requests.
invalid_request400Fix invalid fields, malformed JSON, or unsupported values.
rate_limited429Wait for Retry-After or X-RateLimit-Reset.
quota_exceeded409/429Reduce volume or resolve usage/billing limits.
webhook_endpoint_not_found404Check the endpoint ID and workspace context.
webhook_event_not_found404Check the delivery/event ID and workspace context.
downstream_error502Retry later with backoff if the request is safe to retry.

Support

Include the request_id from the error payload when contacting support. Do not include API keys or webhook secrets.