Path: venue family and symbol
The symbol sits in the path, and its shape depends on the venue family:
Keep the symbol shape intact. A HIP-3 prefix or a HIP-4
# is part of the identifier, not decoration.
Query: time windows
Most routes accept astart and end window. Snapshot-at-time routes use timestamp instead, and the levels routes also accept at. Every one of these parameters takes either form:
- Unix milliseconds, for example
1767225600000. - RFC 3339, for example
2026-01-01T00:00:00Zor2026-01-01T02:00:00+02:00. URL-encode+as%2B.
start defaults to 24 hours before end on most history routes, and end defaults to now. A time that does not parse returns 400 with error_code invalid_time_range when you send the version header, or invalid_query_params without it. A range that starts before a data type’s first served row is served from that row; see API conventions.
Use start and end on /history and /diffs routes. Use timestamp only on snapshot routes such as /orderbook/{symbol} or /orderbook/{symbol}/l2.
Query: shape, size, and filters
A value outside a documented parameter’s accepted set returns
400 and names the parameter. The generated contract for every route is in OpenAPI.
Keep requests bounded
Start with one symbol, one route, and one short window before widening. A bounded request is cheaper, easier to retry, and easier to reason about than an open-ended pull. Size the window andlimit to the question, then paginate rather than asking for everything at once.