SPB Git forge

spb/doc-api

Public
2commits 1branches 0releases
15.7 MBsize
maindefault branch
13 days agolast push
Python 88.3% TypeScript 7.6% Shell 4.1%
10.5 KB · 257 lines json
Raw Blame History
1[2  {3    "provider": "anthropic",4    "http_status": 400,5    "type": "invalid_request_error",6    "code": null,7    "message_semantics": "Malformed/invalid request; also used for other 4xx not listed, org/workspace spend limit reached, invalid anthropic-version or anthropic-beta value, unsupported parameter for the model.",8    "retryable": false,9    "recommended_action": "Fix the request (message names the field, e.g. 'max_tokens: Field required'). Do not retry unchanged.",10    "status": [11      "DOCUMENTED",12      "LIVE_VERIFIED"13    ],14    "source": "https://platform.claude.com/docs/en/api/errors",15    "live_messages": [16      "max_tokens: Field required",17      "max_tokens: 1000000 > 64000, which is the maximum allowed number of output tokens for claude-haiku-4-5-20251001",18      "temperature: range: 0..1",19      "top_k: Input should be a valid integer",20      "`temperature` and `top_p` cannot both be specified for this model. Please use only one.",21      "messages: at least one message is required",22      "The request body is not valid JSON: …",23      "anthropic-version: \"2020-01-01\" is not a valid version",24      "anthropic-version: \"2023-01-01\" not allowed for this endpoint",25      "Unexpected value(s) `…` for the `anthropic-beta` header. …",26      "This model does not support assistant message prefill. The conversation must end with a user message.",27      "adaptive thinking is not supported on this model",28      "messages.2: `tool_use` ids were found without `tool_result` blocks immediately after: … Each `tool_use` block must have a corresponding `tool_result` block in the next message.",29      "Server tools are not supported in the count_tokens endpoint: web_search_20250305. Use the /v1/messages endpoint instead.",30      "'claude-haiku-4-5-20251001' does not support inference_geo.",31      "'claude-haiku-4-5-20251001' does not support the `speed` parameter. This feature is only available on supported models.",32      "betas: Extra inputs are not permitted",33      "output_format: Extra inputs are not permitted",34      "The /v1/complete endpoint has been deprecated. Please use the /v1/messages endpoint instead. See https://platform.claude.com/docs/en/api/messages for details."35    ],36    "response_headers": {37      "x-should-retry": "false"38    }39  },40  {41    "provider": "anthropic",42    "http_status": 401,43    "type": "authentication_error",44    "code": null,45    "message_semantics": "API key malformed, revoked, expired (or bad AWS SigV4 on Claude Platform on AWS).",46    "retryable": false,47    "recommended_action": "Check the key / auth header. Live: 'invalid x-api-key'; anthropic-organization-id header absent on 401.",48    "status": [49      "DOCUMENTED",50      "LIVE_VERIFIED"51    ],52    "source": "https://platform.claude.com/docs/en/api/errors"53  },54  {55    "provider": "anthropic",56    "http_status": 402,57    "type": "billing_error",58    "code": null,59    "message_semantics": "Billing/payment problem.",60    "retryable": false,61    "recommended_action": "Fix payment details in Console (or AWS Marketplace).",62    "status": [63      "DOCUMENTED"64    ],65    "source": "https://platform.claude.com/docs/en/api/errors"66  },67  {68    "provider": "anthropic",69    "http_status": 403,70    "type": "permission_error",71    "code": null,72    "message_semantics": "Key lacks permission for the resource (workspace/org settings).",73    "retryable": false,74    "recommended_action": "Check organization access / workspace settings. Does NOT mean the endpoint doesn't exist.",75    "status": [76      "DOCUMENTED"77    ],78    "source": "https://platform.claude.com/docs/en/api/errors"79  },80  {81    "provider": "anthropic",82    "http_status": 404,83    "type": "not_found_error",84    "code": null,85    "message_semantics": "Resource not found: unknown path, unknown resource id, or unknown model ('model: <id>').",86    "retryable": false,87    "recommended_action": "Check path/ids; for models, use GET /v1/models.",88    "status": [89      "DOCUMENTED",90      "LIVE_VERIFIED"91    ],92    "source": "https://platform.claude.com/docs/en/api/errors"93  },94  {95    "provider": "anthropic",96    "http_status": 409,97    "type": "conflict_error",98    "code": null,99    "message_semantics": "Request conflicts with resource state (concurrent modification, uniqueness).",100    "retryable": true,101    "recommended_action": "Resolve the conflict then retry (SDKs retry 409 by default).",102    "status": [103      "DOCUMENTED"104    ],105    "source": "https://platform.claude.com/docs/en/api/errors"106  },107  {108    "provider": "anthropic",109    "http_status": 413,110    "type": "request_too_large",111    "code": null,112    "message_semantics": "Body exceeds the size limit: Messages & count_tokens 32 MB, Batches 256 MB, Files 500 MB (returned by Cloudflare before the API).",113    "retryable": false,114    "recommended_action": "Shrink the request (use Files API / batches).",115    "status": [116      "DOCUMENTED"117    ],118    "source": "https://platform.claude.com/docs/en/api/errors"119  },120  {121    "provider": "anthropic",122    "http_status": 422,123    "type": "unprocessable_entity (SDK class only)",124    "code": null,125    "message_semantics": "Not in the HTTP error list of the docs; SDKs map 422 to UnprocessableEntityError.",126    "retryable": false,127    "recommended_action": "Treat like 400.",128    "status": [129      "DOCUMENTED"130    ],131    "source": "https://platform.claude.com/docs/en/api/errors"132  },133  {134    "provider": "anthropic",135    "http_status": 429,136    "type": "rate_limit_error",137    "code": null,138    "message_semantics": "Rate limit (RPM/ITPM/OTPM), monthly tier spend cap (no retry-after header, keeps failing), acceleration limit, or Claude Code workspace spend limit.",139    "retryable": true,140    "recommended_action": "Honor `retry-after` when present, exponential backoff with jitter; if no retry-after and message mentions spend cap, stop retrying and raise the cap. Ramp traffic gradually.",141    "status": [142      "DOCUMENTED"143    ],144    "source": "https://platform.claude.com/docs/en/api/errors",145    "response_headers": [146      "retry-after",147      "anthropic-ratelimit-*"148    ]149  },150  {151    "provider": "anthropic",152    "http_status": 500,153    "type": "api_error",154    "code": null,155    "message_semantics": "Unexpected internal error.",156    "retryable": true,157    "recommended_action": "Retry with exponential backoff; if persistent, contact support with request_id.",158    "status": [159      "DOCUMENTED"160    ],161    "source": "https://platform.claude.com/docs/en/api/errors"162  },163  {164    "provider": "anthropic",165    "http_status": 504,166    "type": "timeout_error",167    "code": null,168    "message_semantics": "Request timed out while processing.",169    "retryable": true,170    "recommended_action": "Use streaming or the Batches API for long requests; retry.",171    "status": [172      "DOCUMENTED"173    ],174    "source": "https://platform.claude.com/docs/en/api/errors"175  },176  {177    "provider": "anthropic",178    "http_status": 529,179    "type": "overloaded_error",180    "code": null,181    "message_semantics": "API temporarily overloaded (all users); can also arrive as a mid-stream `error` event after HTTP 200.",182    "retryable": true,183    "recommended_action": "Retry with backoff; Priority Tier reduces occurrence. Handle the SSE `error` event.",184    "status": [185      "DOCUMENTED"186    ],187    "source": "https://platform.claude.com/docs/en/api/errors"188  },189  {190    "provider": "anthropic",191    "http_status": null,192    "type": "streaming error event",193    "code": null,194    "message_semantics": "After HTTP 200 the stream may emit `event: error` with {type: error, error:{type, message}} (e.g. overloaded_error).",195    "retryable": true,196    "recommended_action": "Abort the stream, then retry (SDKs raise; Claude 4.6+: resume by sending partial text in a user message asking to continue).",197    "status": [198      "DOCUMENTED"199    ],200    "source": "https://platform.claude.com/docs/en/build-with-claude/streaming"201  },202  {203    "provider": "anthropic",204    "http_status": null,205    "type": "x-should-retry header",206    "code": null,207    "message_semantics": "Observed on every error response: `x-should-retry: false` for 4xx; SDKs consult this header (true/false) before their status-based retry decision.",208    "retryable": null,209    "recommended_action": "Respect it when present.",210    "status": [211      "LIVE_DISCOVERED"212    ],213    "source": "https://platform.claude.com/docs/en/api/errors"214  },215  {216    "provider": "anthropic",217    "http_status": 200,218    "type": "stop_reason: refusal",219    "code": null,220    "message_semantics": "Not an error: safety classifiers stopped generation; HTTP 200 with stop_details.category.",221    "retryable": false,222    "recommended_action": "Retry on a fallback model (server-side `fallbacks` beta or client-side), redeem fallback_credit_token.",223    "status": [224      "DOCUMENTED"225    ],226    "source": "https://platform.claude.com/docs/en/build-with-claude/handling-stop-reasons"227  },228  {229    "provider": "anthropic",230    "http_status": null,231    "type": "tool result error codes",232    "code": null,233    "message_semantics": "Server-tool result blocks carry `error_code` instead of HTTP errors: web_search invalid_tool_input|unavailable|max_uses_exceeded|too_many_requests|query_too_long|request_too_large; web_fetch invalid_tool_input|url_too_long|url_not_allowed|url_not_in_prior_context|url_not_accessible|unsupported_content_type|too_many_requests|max_uses_exceeded|unavailable|content_too_large; code_execution invalid_tool_input|unavailable|too_many_requests|execution_time_exceeded (+output_file_too_large bash, +file_not_found text_editor).",234    "retryable": null,235    "recommended_action": "Inspect the result block; `too_many_requests`/`unavailable` are transient.",236    "status": [237      "DOCUMENTED"238    ],239    "source": "https://platform.claude.com/docs/en/api/messages"240  },241  {242    "provider": "anthropic",243    "http_status": null,244    "type": "SDK retry policy",245    "code": null,246    "message_semantics": "Official SDKs retry connection errors, 408, 409, 429 and >=500 twice by default with exponential backoff (Python: 0.5s initial → 8s max, jitter) honoring retry-after; non-streaming requests time out after 10 min (TS scales up to 60 min by max_tokens/128000 and refuses non-streaming requests expected >10 min: 'Streaming is required for operations that may take longer than 10 minutes').",247    "retryable": null,248    "recommended_action": "Configure max_retries / timeout; stream for large max_tokens.",249    "status": [250      "DOCUMENTED",251      "LIVE_VERIFIED"252    ],253    "source": "https://platform.claude.com/docs/en/cli-sdks-libraries/sdks/python",254    "verification_note": "constants read from installed anthropic 1.7.0 and @anthropic-ai/sdk 0.126.0"255  }256]257