Docs
← chronapilot.com v 2026-05-12

Error catalog

Every error code ChronaPilot returns, what triggers it, and how to recover. The error.doc_url in every error response links here.

CodeStatusTypeDescription
missing_required_field400invalid_request_errorRequired body field absent.
invalid_field_format400invalid_request_errorFormat constraint violated.
invalid_enum_value400invalid_request_errorEnum field outside allowed set.
resource_not_found404invalid_request_errorResource does not exist or is not visible.
idempotency_key_in_use409idempotency_errorSame key used with a different body.
connection_expired410connection_errorProvider tokens expired and refresh failed.
provider_rate_limit429rate_limit_errorUpstream provider returned 429.
rate_limit_exceeded429rate_limit_errorYour API key hit ChronaPilot's rate limit.
authentication_failed401authentication_errorMissing or invalid API key.
authorization_failed403authorization_errorKey lacks scope for this operation.
account_deactivated403authorization_errorEnd user's ChronaPilot account is deactivated.
webhook_signature_failed400webhook_signature_errorSignature verification failed.
voice_quota_exceeded429rate_limit_errorVoice realtime concurrent-session limit hit.
voice_model_unavailable503api_errorOpenAI realtime model temporarily unavailable.
provider_oauth_revoked410connection_errorUser revoked OAuth in the provider portal.
internal_error500api_errorServer-side error.

Envelope

JSON
{
  "error": {
    "type": "invalid_request_error",
    "code": "missing_required_field",
    "message": "The `start_time` parameter is required.",
    "param": "start_time",
    "doc_url": "https://docs.chronapilot.com/errors/missing-required-field",
    "request_id": "req_1A2b3C4d5E6f"
  }
}

See Errors concept for the full envelope description.