Error handling basics
Omium APIs use standard HTTP status codes. Treat non-2xx responses as failures and log the response body for debugging.| Status | Meaning | What to do |
|---|---|---|
400 | Invalid request (missing fields, invalid enum) | Fix the request payload; don’t retry unchanged. |
401 | Missing / invalid API key | Check X-API-Key and account; rotate key if needed. |
403 | Key is valid but not allowed | Check tenant/workspace permissions and feature access. |
404 | Resource not found | Validate IDs; don’t retry unless you expect eventual consistency. |
409 | Conflict | Treat as state mismatch; refetch and decide. |
413 | Payload too large | Reduce payload size; use files or references if supported. |
422 | Validation failed | Fix the request; don’t retry unchanged. |
429 | Rate limited | Back off and retry with jitter. |
5xx | Server-side error | Retry with exponential backoff; alert if sustained. |
Common patterns
Idempotency and retries
If you’re building an orchestrator or worker system:- Retry only when it’s safe (typically
429and5xx). - Use exponential backoff with jitter.
- If you supply your own
execution_id(where supported), you can make retries safer by de-duplicating on your side.
Logging
Always log:- request path + method
- response status code
- response body (redact secrets)
- correlation IDs if your stack has them
Rate limits
Rate limits protect platform capacity. You may see429 during bursts or when a tenant hits its limit.
Recommended client behaviour on 429:
- Wait using exponential backoff + jitter
- Retry the same request
- If it repeats, reduce concurrency and/or request volume
Next steps
Executions
Create runs and drive replay/rollback.
API overview
Base URL, auth, and resource map.