code and a default message. Codes are grouped into ranges by category. This page is generated from the API error-code manifest, so it matches the codes the API returns.
Request / validation (1000-1999)
| Code | Name | HTTP | Message |
|---|---|---|---|
| 1000 | INVALID_INPUT | 400 | Invalid input |
| 1001 | DIRECT_MESSAGE_MEMBERSHIP_FIXED | 400 | Direct message membership is fixed |
| 1002 | THREAD_TARGET_UNSUPPORTED | 400 | Thread target is not supported |
| 1003 | EXPORT_FORMAT_UNSUPPORTED | 400 | This file cannot be exported to the requested format |
| 1004 | APP_HANDOFF_CODE_INVALID | 400 | Invalid or expired sign-in code |
| 1005 | WORKFLOW_CODE_INVALID | 400 | Workflow code failed to compile |
| 1006 | VOICE_PHONE_NUMBER_REQUIRED | 400 | Add a phone number before starting a voice call |
| 1007 | SIGNUP_HANDOFF_LINK_UNAVAILABLE | 400 | This link is no longer available |
| 1008 | REMOTE_MCP_DCR_UNSUPPORTED | 400 | This server does not support dynamic client registration. Turn it off and enter a Client ID. |
| 1009 | REMOTE_MCP_PKCE_UNSUPPORTED | 400 | This server’s OAuth configuration does not support the required S256 PKCE method. Ask the server owner to enable S256 PKCE or use another MCP server. |
Authentication / authorization (2000-2999)
| Code | Name | HTTP | Message |
|---|---|---|---|
| 2000 | AUTH_REQUIRED | 401 | Authentication required |
| 2001 | ACCESS_DENIED | 403 | Access denied |
| 2002 | CLIENT_SESSION_REQUIRED | 401 | Client session required |
| 2003 | CLIENT_SESSION_INVALID | 401 | Client session is no longer valid |
| 2004 | ACCOUNT_SUSPENDED | 403 | This account is suspended |
| 2005 | WORKSPACE_SUSPENDED | 403 | This workspace is suspended |
| 2006 | SIGNUP_HANDOFF_LINK_NOT_CLAIMABLE | 403 | This link cannot be claimed with this account |
Not found (3000-3999)
| Code | Name | HTTP | Message |
|---|---|---|---|
| 3000 | RESOURCE_NOT_FOUND | 404 | Resource not found |
| 3001 | CHANNEL_AGENT_NOT_FOUND | 404 | Room agent not found |
| 3002 | ENDPOINT_RETIRED | 410 | Endpoint has been retired |
| 3010 | APP_RELEASE_NOT_FOUND | 404 | App release not found |
| 3011 | APP_DOWNLOAD_ARTIFACT_NOT_FOUND | 404 | App download artifact not found |
| 3012 | SIGNUP_HANDOFF_LINK_NOT_FOUND | 404 | This link was not found |
| 3013 | TABLE_RESOURCE_RETIRED | 410 | This structured data resource has moved to a Database App |
Conflict / invalid state (4000-4999)
| Code | Name | HTTP | Message |
|---|---|---|---|
| 4000 | CONFLICT | 409 | Conflict |
| 4001 | WORKSPACE_MEMBER_ALREADY_EXISTS | 409 | User is already a workspace member |
| 4002 | WORKSPACE_PAYMENT_REQUIRED | 402 | Workspace credit is required |
| 4003 | WORKSPACE_SETUP_IN_PROGRESS | 409 | Workspace setup is already in progress |
| 4010 | APP_RELEASE_IMMUTABLE | 409 | App release is immutable after the edit window |
| 4011 | APP_RELEASE_INVALID_SIGNATURE | 409 | App release signature is invalid |
| 4012 | APP_STORE_LISTING_NOT_LIVE | 409 | App store listing is not live |
| 4013 | TOOL_APPROVAL_REQUIRED | 428 | Tool approval is required |
| 4014 | EXPORT_NOT_READY | 409 | The export is not ready yet |
| 4015 | AGENT_INVOCATION_FANOUT_LIMIT | 429 | Too many concurrent sub-agent invocations in flight |
| 4020 | BILLING_ENTITLEMENT_LIMIT_REACHED | 403 | Billing plan limit reached |
| 4021 | WEB_HANDOFF_RATE_LIMITED | 429 | Too many sign-in handoff requests |
| 4022 | APP_HANDOFF_RATE_LIMITED | 429 | Too many sign-in handoff requests |
| 4023 | BILLING_PLAN_CHANGE_QUOTE_STALE | 409 | The amount due for this plan change has changed. Review the updated amount and confirm again. |
| 4024 | REFERRAL_SIGNUP_RATE_LIMITED | 429 | Too many signup requests. Try again later. |
| 4025 | VOICE_OUTBOUND_CALL_RATE_LIMITED | 429 | Too many phone calls placed recently. Try again later. |
| 4026 | AGENT_TURN_NOT_RUNNING | 409 | This agent turn is no longer running |
| 4027 | EXTERNAL_AGENT_OPERATOR_ACK_REQUIRED | 409 | This agent runs in an environment managed by its operator, and the operator cannot read this room. Confirm that room content may be processed there before adding the agent. |
| 4028 | UI_CARD_INTERACTION_LIMIT_REACHED | 409 | This card has reached its response limit |
| 4029 | SUPPORT_REPORT_RATE_LIMITED | 429 | Too many reports from this device. Try again later. |
| 4030 | API_KEY_RATE_LIMITED | 429 | Too many requests from this API credential. Retry after the interval in the Retry-After header. |
| 4031 | API_KEY_QUOTA_EXCEEDED | 429 | This API credential has used its daily request quota. Retrying will not succeed until the quota resets. |
Internal / unknown (5000-5999)
| Code | Name | HTTP | Message |
|---|---|---|---|
| 5000 | INTERNAL_SERVER_ERROR | 500 | Internal server error |
| 5001 | AUTH_PROVIDER_UNAVAILABLE | 503 | The authentication provider is temporarily unavailable |
| 5002 | MODEL_PROVIDER_UNAVAILABLE | 503 | No model credential is configured for this operation |
| 5003 | REMOTE_MCP_SERVER_UNREACHABLE | 502 | Could not reach the MCP server. Check the server URL and try again. |
| 5004 | REMOTE_MCP_SERVER_REJECTED | 502 | The MCP server rejected the connection request. Check its authentication requirements and request headers. |
| 5005 | REMOTE_MCP_PROTOCOL_ERROR | 502 | The server did not respond as a compatible MCP server. Check that the URL points to a Streamable HTTP MCP endpoint. |
| 5006 | REMOTE_MCP_OAUTH_DISCOVERY_FAILED | 502 | The server requires OAuth, but its authorization configuration could not be discovered. Check the server’s OAuth metadata. |
| 5007 | REMOTE_MCP_DCR_FAILED | 502 | The server rejected dynamic client registration. Turn it off and enter credentials for a pre-registered OAuth client. |
| 5008 | REMOTE_MCP_OAUTH_START_FAILED | 502 | OAuth authorization could not be started for this server. Check its authorization configuration. |