Error Reference
All errors return a JSON body with an error field containing a human-readable message. Some structured errors include a code field for programmatic handling.
Error body format
{
"error": "Human-readable error message",
"code": "MACHINE_CODE (optional, included for structured errors)"
}HTTP status codes
Structured error codes
Some 402 errors include extra context to help handle free-tier limits:
{
"error": "Free tier limit reached for simulations",
"code": "FREE_TIER_LIMIT",
"feature": "simulations",
"limit": 3,
"used": 3
}Retry guidance
- 4xx errors — do not retry automatically; fix the request first.
- 500 errors — safe to retry with exponential backoff (1s → 2s → 4s).
- 429 errors — honour the
Retry-Afterheader if present, otherwise back off 10–30 seconds.