exchange in the API contract. Note: May take 30-60 seconds on first request (results are cached server-side for 5 minutes).
Route Metadata
| Field | Value |
|---|---|
| Method | GET |
| Path | /v1/data-quality/coverage/{exchange} |
| operationId | getExchangeCoverage |
| Tag | Data Quality |
| Family | Data Quality |
| Deprecated or legacy | no |
Human endpoint reference
OpenGET /v1/data-quality/coverage/{exchange} for authentication, parameters, responses, and examples.
Request Parameters
Path Parameters
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "getExchangeCoverage path parameters",
"type": "object",
"required": [
"exchange"
],
"properties": {
"exchange": {
"description": "Venue-family key recognized by this route, such as `hyperliquid`.",
"type": "string",
"enum": [
"hyperliquid",
"lighter",
"hip3",
"spot",
"hip4"
],
"example": "hyperliquid",
"x-parameter-location": "path"
}
}
}
Response Contracts
Status 200
Exchange coverageapplication/json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "getExchangeCoverage response 200",
"description": "Coverage for one venue-family key recognized by this route",
"type": "object",
"properties": {
"data_types": {
"type": "object",
"additionalProperties": {
"description": "Coverage for a data type",
"type": "object",
"properties": {
"completeness": {
"description": "Completeness percentage (0-100)",
"type": "number"
},
"earliest": {
"description": "Earliest available data timestamp",
"type": "string",
"format": "date-time"
},
"lag": {
"description": "Current data lag",
"type": "string",
"nullable": true
},
"latest": {
"description": "Latest available data timestamp",
"type": "string",
"format": "date-time"
},
"resolution": {
"description": "Data resolution (e.g., '1.2s', '1m')",
"type": "string",
"nullable": true
},
"symbols": {
"description": "Number of symbols with data",
"type": "integer"
},
"total_records": {
"description": "Total number of records",
"type": "integer",
"format": "int64"
}
}
}
},
"exchange": {
"description": "Venue-family key recognized by this route, such as `hyperliquid`.",
"type": "string"
}
}
}
Status 401
Authentication requiredapplication/json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "getExchangeCoverage response 401",
"description": "Error response",
"type": "object",
"properties": {
"code": {
"description": "HTTP status code",
"type": "integer"
},
"error": {
"description": "Error message",
"type": "string"
},
"error_code": {
"description": "Machine-readable error code. Common values: `invalid_query_params` (a query parameter failed to parse or validate) and `invalid_path_params` (a path parameter failed to parse). Other endpoint-specific codes exist; treat unknown codes as generic errors of the given HTTP status.",
"type": "string"
},
"param": {
"description": "The parameter at fault, when the error is about one parameter.",
"type": "string"
},
"request_id": {
"description": "Unique request ID for support",
"type": "string",
"format": "uuid"
},
"success": {
"description": "Always false on an error.",
"type": "boolean",
"example": false
}
}
}
OpenAPI example
{
"code": 401,
"error": "Missing authentication credentials. Provide X-API-Key header or Bearer token.",
"error_code": "unauthorized",
"request_id": "71ed4b6f-63ef-4ae1-a123-07ffa47c1c14",
"success": false
}
Status 404
Resource not foundapplication/json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "getExchangeCoverage response 404",
"description": "Error response",
"type": "object",
"properties": {
"code": {
"description": "HTTP status code",
"type": "integer"
},
"error": {
"description": "Error message",
"type": "string"
},
"error_code": {
"description": "Machine-readable error code. Common values: `invalid_query_params` (a query parameter failed to parse or validate) and `invalid_path_params` (a path parameter failed to parse). Other endpoint-specific codes exist; treat unknown codes as generic errors of the given HTTP status.",
"type": "string"
},
"param": {
"description": "The parameter at fault, when the error is about one parameter.",
"type": "string"
},
"request_id": {
"description": "Unique request ID for support",
"type": "string",
"format": "uuid"
},
"success": {
"description": "Always false on an error.",
"type": "boolean",
"example": false
}
}
}
OpenAPI example
{
"code": 404,
"error": "No L4 checkpoint available before requested timestamp",
"error_code": "not_found",
"request_id": "ad7df471-eb8a-477c-bd9f-c685a9825f5b",
"success": false
}