Skip to main content
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

Python client.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

Pass next_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 lists 400, 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.