Error format
Developer API errors use stable machine-readable codes:Common codes
| HTTP status | Code | Meaning |
|---|---|---|
400 | INVALID_INPUT | Invalid JSON, invalid UUID, unsupported status filter, invalid request shape, unknown field, empty patch body, or another validation failure. |
400 | INPUT_TOO_LARGE | Realtime run input is larger than the public request limit. |
401 | AUTHENTICATION_REQUIRED | Account API key is missing, malformed, revoked, or unknown. |
402 | INSUFFICIENT_CREDITS | The account does not have enough credits to start the run. |
403 | ACCOUNT_BLOCKED | The account is blocked from running. |
404 | AGENT_NOT_FOUND | The agent is missing, inactive, deleted, not personal, or outside the account boundary. |
404 | CONVERSATION_NOT_FOUND | The conversation is missing or outside the account boundary. |
404 | RUN_NOT_FOUND | The run is missing or outside the account boundary. |
429 | RATE_LIMITED | Account-level or IP-level rate limit exceeded. |
503 | SERVICE_UNAVAILABLE | Agent dispatch or Platform write path was unavailable before the request was accepted. |
/v1/runs reports oversized input as INVALID_INPUT. Realtime /v1/realtime/runs reports oversized input as INPUT_TOO_LARGE before the stream opens.
Credit errors
Credit errors can includeavailable and required values:
Rate-limit errors
Rate-limit responses include aRetry-After header when a retry delay is available.