Read-only developer reference

Pagination

/timeseries returns at most 10,000 points. Pass the opaque next_cursor value back unchanged in cursor; never decode it or construct one.

Cursors currently encode the last timestamp and do not have a clock-based expiry. They can still produce an empty page after the underlying retention window removes old data. Restart from an absolute start/end window when that happens. Do not run page requests in parallel because their order is part of the cursor contract.