Response Format
All successful API responses follow this structure:Response Fields
results- Array of result objectsfilter- Applied filter (if any)sort- Applied sort configurationpagination- Pagination metadatapage- Current page numberperPage- Results per pagepageCount- Total number of pagesresultCount- Total number of results matching the query
Metric Objects
Numeric metrics on assets and tokens are returned as objects containing the current value plus historical snapshots and deltas:| Field | Description |
|---|---|
val | Current value |
val_7d | Value 7 days ago |
val_30d | Value 30 days ago |
val_90d | Value 90 days ago |
chg_7d_amt | Absolute change over 7 days |
chg_7d_pct | Percentage change over 7 days |
chg_30d_amt | Absolute change over 30 days |
chg_30d_pct | Percentage change over 30 days |
chg_90d_amt | Absolute change over 90 days |
chg_90d_pct | Percentage change over 90 days |
Timeseries Responses
Aggregate timeseries endpoints (/v4/assets/aggregates/timeseries, /v4/tokens/aggregates/timeseries) return a different shape. Each result contains a measure descriptor, a group descriptor, and an array of points:
measure— the metric being returned (use the Data Catalog to discover available measures)group— what the data is grouped by (e.g., a specific asset, token, or asset class)points— array of[date, value]pairs in chronological order
Error Handling
HTTP Status Codes
| Status | Description |
|---|---|
200 | Success |
400 | Bad Request — invalid query, filter, or parameters |
401 | Unauthorized — missing or invalid API key |
405 | Method Not Allowed — endpoint only supports GET |
429 | Too Many Requests — rate limit exceeded |
500 | Internal Server Error |
Error Response Format
Common Errors
Invalid Filter
Invalid Operator
Rate Limit Exceeded
When you exceed a rate limit, the API returns429 with headers indicating when you can retry. See Rate Limits for details.