| missing_header | 401 | Authorization header was not sent. |
| malformed_header | 401 | Authorization header is not Bearer + cot_live_<32 hex>. |
| unknown_token | 401 | Token does not match any active row. May have been revoked or never minted. |
| revoked | 403 | Token exists but was revoked (subscription canceled, manual revoke). |
| account_suspended | 403 | The account this token belongs to is suspended or closed. Its tokens work again when a suspension is lifted; a closed account's tokens are revoked with its subscription and do not come back if the account is restored. |
| rate_limited | 429 | Per-minute or per-day limit exceeded. Retry-After header indicates seconds to wait. |
| invalid_code | 400 | cftc_code in the path failed alphanumeric validation. |
| invalid_family | 400 | family parameter not one of legacy, disagg, tff, supp. |
| invalid_from | 400 | from query parameter is not a valid YYYY-MM-DD date. |
| invalid_to | 400 | to query parameter is not a valid YYYY-MM-DD date. |
| invalid_variant | 400 | variant parameter not one of futonly, combined. |
| variant_not_published | 400 | The CFTC does not publish that variant of the report (supp: Futures & Options Combined only). |
| variant_unavailable | 404 | That variant of the report is not available yet. |
| no_data | 404 | No history exists for the requested market in the requested family. |
| db_error | 500 | Internal database error. Retry once; if it persists, contact support. |
| internal | 500 | Unexpected server error. Retry once; if it persists, contact support. |
| demo_rate_limited | 429 | /api/v1/demo/ IP-hash limit (10/day) reached. |