Skip to main content
Capture the failed response before changing a key, client, or retry policy. A status code by itself cannot distinguish malformed input, rejected authentication, a billing stop, rate limiting, or a temporary service failure. A small diagnostic record lets another operator reproduce the issue without receiving your secrets.

Preserve one inspectable response

Run one request with headers included, then store the output privately. -i exposes response headers such as Request-Id, traceparent, and Retry-After when the API returns them.
Do not paste the command with its expanded key into a ticket, log, or screenshot.

Keep this minimum record

For a body, keep a redacted copy. Include query parameters, response view, and pagination cursor when they affect the result. You may also send x-request-id to match an API call to your own logs; keep the returned Request-Id as the API-side identifier.

Classify before you retry

Do not turn a validation, authorization, billing, hard-cap, or quota response into a tight retry loop.

Verify the same account context

Check limits and billing with the same key used by the failing workload. This is especially useful after a 402 or 429 response.
For an MCP failure, record the client name and version, server URL, tool or method name, JSON-RPC error, error.data.code when supplied, and request identifier. For an SDK or CLI failure, add its version and the smallest redacted reproduction.

Redact before sharing

Remove x-api-key, bearer tokens, cookies, and other credentials. Remove customer data, private holdings, unreleased text, and proprietary prompts unless a narrowed reproduction genuinely requires them. Keep the endpoint path, status, error code, request ID, and the smallest useful response excerpt. Continue with Troubleshooting for the recovery path, Error code catalog for known codes, or API conventions for request behavior.