Error format
All errors return a JSON body witherror and message:
HTTP status codes
| Code | Meaning | Common causes |
|---|---|---|
200 | OK | — |
400 | Bad Request | Invalid exchange name, malformed parameters |
401 | Unauthorized | Missing or invalid API key |
403 | Forbidden | Subscription doesn’t allow API access |
404 | Not Found | No data available for this coin/exchange/expiration |
429 | Too Many Requests | Daily quota exceeded — see rate limits |
500 | Server Error | Something went wrong on our side — retry or contact support |
Error codes
unauthorized (401)
- The
X-API-Keyheader is present - The key is correct (no copy-paste whitespace)
- The key hasn’t been revoked
- The key starts with
gex_sk_
subscription_required (403)
current_tier field shows
your current plan. Upgrade to Pro
to get API access.
invalid_exchange (400)
bybit, deribit, okx, all (aggregated).
no_data (404)
- The exchange doesn’t list options for this coin (e.g., OKX doesn’t have XRP)
- The expiration has already expired
- The basecoin is mistyped (must be uppercase)
rate_limit_exceeded (429)
Getting help
- Bug reports / unclear errors: admin@gammaflip.io
- Feature requests: open an issue on gammaflip-docs