Errors and limits
Fail-closed behavior, status codes, rate limits, and pagination constraints.
HTTP behavior
| Status | Meaning |
|---|---|
400 | Malformed or schema-invalid request. |
401 | Missing or invalid bearer token. |
403 | Host or browser-origin policy rejected the request. |
404 | Part or route was not found. |
405 | Method is not supported for the route. |
413 | MCP request exceeded the default 65,536-byte service limit. |
429 | Request-rate or concurrency admission limit was exceeded. |
500 | Internal failure; preserve the request ID when reporting it. |
503 | API is alive but not ready to serve a verified release. |
REST failures use application/problem+json with type, title, status, detail, stable code, optional param, requestId, and docUrl. The legacy error, message, and request_id aliases remain during migration. Common part-query outcomes include INVALID_PART_QUERY and PART_NOT_INDEXED.
Read retry guidance for any stable code at /v1/error-codes/:code. Clients should retry RATE_LIMITED and CONCURRENCY_LIMITED only after Retry-After or the reported rate-limit window.
MCP behavior
- An unknown tool returns JSON-RPC error
-32602. - A known tool with invalid arguments returns a tool result with
isError: true. - Missing verified coverage is explicit; it does not fall back to a plausible neighboring part.
- Tool success includes
structuredContentand JSON text content.
Retrieval bounds
get_context accepts at most 50 facts and a token target from 256 to 16,000. The response reports estimated tokens and whether one indivisible fact exceeded the budget.
Use page.next_cursor for subsequent pages. Cursors are opaque and bound to every relevant request constraint. Changing the part, release, topic, query, package, peripheral, or revision invalidates the cursor.
Logging and support
Responses include Request-Id, x-request-id, and Errata-Version. Production logs failed and slow requests and samples ordinary successful traffic. Query strings, tokens, and document bodies are not logged. Preserve the request ID and timestamp when reporting a problem.