Operations

Errors, request IDs and retries

Errors use a JSON envelope with a stable code and request ID. Payload excerpts are not included.

HTTPCodeClient action
400request_limit_exceededNon-retryable. Stay within the model limit: s1-pro three text questions; s1-fast and s1-vision one; the service does not split or drop questions.
400invalid_requestNon-retryable. Correct the JSON schema or tier header, or stay within the model’s option limits and the per-model input-token limit (s1-fast 4,096, s1-pro 32,000, s1-vision 32,000); an over-limit request returns the message “The model rejected this input.”
401invalid_api_keyCheck key configuration and revocation state.
402insufficient_creditReview the account balance before retrying.
403tier_not_allowedUse a tier permitted by the key.
404unknown_modelRefresh the live model catalogue.
409idempotency_conflictUse a new key only for a deliberately new request.
409idempotency_replay_unavailableThe attempt settled or its settlement is uncertain. A receipt is returned without replaying an answer or charging again; keep the same key until the outcome is clear.
413payload_too_largeStay within the candidate size bounds: request body up to 6 MiB, state up to 16 KiB (s1-fast) or 250 KiB (s1-pro, s1-vision), and one image up to 4 MiB decoded and 2,000,000 pixels. Final image validation is pending.
422unsupported_modalityChoose a model that supports the requested modality.
429rate_limit_exceededWait for Retry-After before retrying.
503model_unavailable / capacity_limitRetry only after the documented wait or capacity issue clears. model_unavailable for s1-vision means Rune is currently unavailable; there is no image fallback on the EU tier or on Peer-to-Peer without worldwide opt-in (Peer-to-Peer keys with worldwide opt-in may be served by on-demand worldwide GPUs running the Gemma 4 12B image implementation when busy).
504inference_timeoutWhen confirmed uncharged, retry with the same key and body. If settlement is uncertain, keep the same key; do not create a second request.
Keep retries intentional

5xx errors are retryable unless the guard condition says otherwise. An EU request never fails over outside the EU. Use the response request ID when contacting support.

Exact retry behavior is governed by the live OpenAPI when it is published.

https://api.system1models.ai keeps working.