Skip to main content
GET
Events
Query trades, L2 source updates, funding observations, intents, quotes, option tickers, and venue-published candles together. Every item has a type and its original typed row in data. Reconstructed L2 books and the /perpetual-ticker alias are excluded.

Request

Query parameters

Access and behavior

A Polaris API key is required for every request. Both start and end are required inclusive collector timestamps in Unix milliseconds, including when the selected type is ohlcv. types is a comma-separated subset of trade,l2_update,funding_rate,intent,quote,option_ticker,ohlcv; omitting it selects all seven. The cursor is bound to the complete query, so repeat every filter on continuation.

Response

items[] fields

The data value is the flat row from the corresponding typed endpoint. Use the type-specific reference page for that row’s fields. Query work is bounded and may return 422 for an overly expensive range.

SDK mixed events

Python client.events(...), TypeScript client.events(...), and Rust client.events(HistoricalQuery) return standardized event envelopes from historical data. Their event set is broader than this REST route: it can include perpetual ticker and datapoint events, and it can reconstruct order books by default. SDK to bounds are exclusive; this REST route’s end is inclusive. See the SDK event details and event envelope for payload and replay behavior.

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, 503, 429. 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.