Pagination
GET /devices, GET /alerts and GET /devices/{device_id}/telemetry return one page at a time.
Request
Section titled “Request”| Parameter | Type | Default | Notes |
|---|---|---|---|
limit |
integer | 50 | 1 to 200. The maximum is also published as max_devices_per_page on the account endpoint. |
cursor |
string | — | A next_cursor from a previous page of the same request. |
Response
Section titled “Response”Each page is an object with a data array and, when there is another page, a next_cursor:
{ "data": [ ... ], "next_cursor": "eyJkZXZpY2VfaWQiOiJUQ1RBLUYyRUE1QTAwMDAwMSJ9"}Pass next_cursor back as cursor to continue. The member is absent on the last page — test for its absence rather than for an empty string.
Cursors are opaque
Section titled “Cursors are opaque”A cursor encodes where the previous page ended. Do not build, decode or edit one: its contents are not part of the contract and may change without notice. A cursor that this API did not issue, or that has been altered, is refused:
{ "error": { "code": "invalid_request", "message": "cursor: not a cursor this API issued." } }Keep the other parameters the same from page to page. For telemetry in particular, the time window travels inside the cursor, so a paged read stays anchored to the window the first page was answered for even as time passes.
Ordering
Section titled “Ordering”Devices are ordered by device_id. Alerts and telemetry readings are newest first.

