Errors
Every error response is JSON with a stable error string and a request_id you can include in support requests.
jsonjson
{
"error": "company and a name are required",
"request_id": "8d1e4b2a-9f0c-4c7b-9a3d-1f2b3c4d5e6f"
}Status codes
| Code | Slug | Meaning |
|---|---|---|
| 400 | bad_request | Missing required parameters or malformed body. |
| 401 | unauthorized | Missing bearer token or the key is invalid, revoked, or expired. |
| 404 | not_found | The endpoint does not exist. Check the URL and version. |
| 405 | method_not_allowed | All Spotium endpoints are POST. |
| 429 | rate_limited | You exceeded your per-minute or per-day request quota. |
| 500 | internal_error | Something went wrong on our side. Safe to retry with backoff. |
| 502 | upstream_error | An upstream data provider failed. Retry with backoff. |
Retry policy
Retry 429, 500, and 502 responses with exponential backoff starting at 1s, capped at 30s, up to 5 attempts. Do not retry other 4xx responses — they indicate a bug in the request payload.