Pagination
List endpoints use cursor-based pagination. Each response includes a pagination object:
{
"data": [
/* items */
],
"pagination": {
"next_cursor": "eyJpZCI6IjAxSjkifQ==",
"has_more": true
}
}
Requesting a page
| Query parameter | Type | Default | Notes |
|---|---|---|---|
cursor | string | — | Pass the next_cursor from the previous response |
limit | integer | 50 | Max 200 |
Example (set N24M_API_KEY to your workspace API key in the shell first):
curl --url 'https://api.not24get.me/workspaces/WS/bookmarks?limit=100' \
--header "Authorization: Bearer ${N24M_API_KEY}" \
--header 'X-Workspace-ID: WS'
Then for the next page:
curl --url 'https://api.not24get.me/workspaces/WS/bookmarks?limit=100&cursor=eyJpZCI6IjAxSjkifQ==' \
--header "Authorization: Bearer ${N24M_API_KEY}" \
--header 'X-Workspace-ID: WS'
When pagination.has_more is false, you have reached the end. next_cursor will be null or absent.
Stable ordering
Items are ordered by descending creation time, then by ID for tiebreakers. Cursors include both, so a page never shifts mid-iteration even if new items are created while you paginate.
Don't compute total counts
The API does not return a total row count by default. Counting is expensive and rarely useful in real integrations. If you need an exact count, iterate fully — but consider whether your UX really needs it.