Operate
Limits and errors
Design clients that respect their assigned capacity, expose failures clearly, and never turn a retry into duplicate work.
Your limits
A CostIQ key may carry its own request-per-minute, token-per-minute, concurrency, expiry, model, and estimated-spend controls. Use the limits supplied with your key; they can be lower than organization capacity.
Requests admitted during the configured window.
Combined input and output tokens during the configured window.
In-flight requests, including streams that have not ended.
Estimated USD usage policy, not an invoice or card balance.
HTTP errors
400Invalid inputMalformed JSON, an unsupported policy field, or another invalid request.
401Authentication failedThe key is missing, invalid, expired, or revoked.
403Access deniedThe model, route, or edge request is not allowed.
404Route unavailableThe requested application route does not exist.
413Request too largeThe request exceeds the 2 MiB body limit.
429Limit reachedA request, token, concurrency, budget, or authentication-attempt limit was reached.
502 / 503Service unavailableThe inference upstream or authentication service could not complete the request.
Retry safely
- Respect
Retry-Afterwhenever it is present. - Use capped exponential backoff with jitter for transient
429,502, and503responses. - Do not retry
400,401, or403without correcting the request or credential. - Do not blindly retry tool calls or other work that may have side effects.
Request constraints
- Request bodies must be JSON and no larger than 2 MiB.
- Only
GET /v1/modelsandPOST /v1/chat/completionsare public. - Query strings and customer-controlled routing or metadata fields are rejected.
- Use only model aliases returned for your key.