All errors return a consistent JSON envelope and include anDocumentation Index
Fetch the complete documentation index at: https://rimp.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
X-Request-Id header so you can quote it to support.
Error types
| Type | HTTP | Retry? | Meaning |
|---|---|---|---|
invalid_request | 400 | No | Body or query failed schema validation. Fix and retry. |
authentication | 401 | No | Missing or invalid bearer token. |
authorization | 403 | No | Token doesn’t have the scope or IP isn’t allowed. |
not_found | 404 | No | Resource doesn’t exist or belongs to another org. |
conflict | 409 | Conditional | Idempotency-Key reused with different body, or job not cancelable. |
insufficient_credits | 402 | After top-up | Wallet below reservation. |
rate_limited | 429 | Yes, with Retry-After | Per-key RPM exceeded. |
content_policy_blocked | 422 | No | Prompt or output blocked by moderation. |
provider_unavailable | 502 | Yes (backoff) | Upstream model is down. Try a different model or wait. |
quota_exceeded | 429 | After top-up | Monthly hard cap reached. |
internal | 500 | Yes (backoff) | Bug on our side. Include request_id when reporting. |
Common error codes
Retry strategy
Forprovider_unavailable and internal, retry with exponential backoff:
rate_limited (429), honor the Retry-After header instead of exponential backoff.
Idempotency-Key replay
If a POST creates a generation and the connection drops, retry with the sameIdempotency-Key. The original response is replayed (we send Idempotent-Replayed: true in the headers). No duplicate charge.