Error Response Format
All API errors use the same top-level shape:| Field | Type | Description |
|---|---|---|
error | string | Human-readable error message |
code | string | Machine-readable error code |
retryable | boolean | Whether the request can be safely retried |
validation_errors | string[] | Optional field- or item-level validation details |
tier | string | Present on some 429 responses |
limit_qps | number | Present on some 429 responses |
Error Codes
| Code | Meaning |
|---|---|
unauthorized | Missing or invalid API key |
forbidden | Authenticated, but not permitted for this action |
credentials_required | Exchange credentials not configured |
authentication_failed | Exchange-level auth failure |
missing_parameter | Required parameter missing |
bad_request | Invalid request format or parameters |
validation_error | Structured validation failure |
exchange_not_found | Unknown exchange identifier |
market_not_found | Market does not exist |
event_not_found | Event does not exist |
event_not_resolvable | Event selector cannot be resolved |
order_not_found | Order does not exist |
not_found | Generic resource not found |
insufficient_funds | Not enough balance for the operation |
not_supported | Exchange does not support this operation |
rate_limit_exceeded | Per-second request limit exceeded |
monthly_limit_exceeded | Monthly request quota exhausted |
service_unavailable | Upstream exchange temporarily unavailable |
session_signer_expired | Session signer expired and must be refreshed |
internal_error | Unexpected server failure |
HTTP Status Codes
| Status | Meaning | Action |
|---|---|---|
400 | Bad request or validation failure | Fix the request and retry |
401 | Missing or invalid API key | Check X-API-Key |
402 | Insufficient funds | Fund the exchange account |
403 | Forbidden or exchange credential issue | Check permissions and exchange credentials |
404 | Resource not found | Verify the identifiers you passed |
429 | Rate limited | Honor Retry-After and retry |
500 | Internal server error | Retry; contact support if persistent |
501 | Unsupported operation | Check exchange capabilities |
503 | Upstream exchange or snapshot unavailable | Retry with backoff |
Rate Limiting and Quota Headers
Successful responses may include:| Header | Description |
|---|---|
x-parsec-tier | Your API key tier |
x-ratelimit-monthly-limit | Monthly request quota |
x-ratelimit-monthly-remaining | Remaining monthly requests |
x-ratelimit-monthly-reset | Unix timestamp when monthly quota resets |
| Header | Description |
|---|---|
Retry-After | Seconds to wait before retrying |
| Header | Description |
|---|---|
x-ratelimit-user-limit | End-user QPS limit |
x-ratelimit-user-remaining | Remaining end-user tokens |
x-ratelimit-pool-limit | Builder pool QPS limit |
x-ratelimit-pool-remaining | Remaining builder pool tokens |
Examples
Structured Validation Failure
validation_errors as the authoritative list of what to fix.
Rate Limit Response
Monthly Quota Exceeded
Historical Data Tier Limit
SDK Error Handling
Next Steps
API Overview
Base URL, authentication, identifiers, and pagination.
List Markets
See the discovery-first market lookup contract.