Market Data
Intents
Query persisted pair-shaped intent observations.
GET
Intents
Read every stored pair-shaped intent observation in global collector-time order, including unchanged repeat polls and rows with missing assets. Multi-asset observations are not projected into this table.
Request
Query parameters
Access and behavior
With no bounds, the latest hour is available anonymously; older history requires a Polaris API key.start and end are inclusive collector timestamps in Unix milliseconds. intent_id selects only rows carrying that exact nonempty ID. Repeat all filters when continuing with next_cursor.
Response
items[] fields
The response preserves observations, not a deduplicated lifecycle state.
SDK intents and RFQs
Pythonclient.intents(...), TypeScript client.intents(...), and Rust client.intents(HistoricalQuery) return canonical IntentEvent envelopes for RFQs, quotes, executable intents, and settlement updates. Use market="intents" with an exact source from Catalog. The SDK model can retain multi-asset inputs and outputs and a venue-native raw payload; this REST route contains only pair-shaped rows. Correlate rfq_id and intent_id to reconstruct a lifecycle. SDK to is exclusive; REST end is inclusive. See the SDK intent fields and examples for the nested event shape.
Pagination
Passnext_cursor as cursor with the same filters. Stop when has_more is false, or when next_cursor is null for endpoints without has_more. A cursor is opaque; do not edit or reuse it with different filters.
Errors
The OpenAPI contract lists400, 401, 422, 429, 503. Error responses use error.code, error.message, and error.resolution. Narrow an expensive query after 422. Follow Retry-After after 429.
For the machine-readable contract, see the OpenAPI document.