Page through long lists.
List operations return their items a page at a time. You ask for the next page with the cursor the last one gave you.
Ask for a page
| Query parameter | Meaning |
|---|---|
limit | Items per page, 1 to 100. Defaults to 50. A value outside that range is refused with 422. |
cursor | The meta.next_cursor from the previous page. Leave it out for the first page. |
curl "https://api.appenda.app/v1/tables?limit=100" \
-H "Authorization: Bearer $APPENDA_API_KEY"
Read the page
{
"data": [{ "id": "tbl_67ad65ba34a7bbfc643711b8531cba3f", "name": "Series B SaaS accounts" }],
"meta": {
"next_cursor": "eyJpZCI6InRibF84ZjJjMWEifQ",
"has_more": true
}
}
| Field | Meaning |
|---|---|
data | The items on this page. |
meta.has_more | true when there is another page. |
meta.next_cursor | Pass it as cursor to get the next page. It is null on the last page. |
Get every page
- Call the list without
cursor. - While
meta.has_moreistrue, call it again withcursorset tometa.next_cursor. - Stop when
meta.next_cursorisnull.
A page of records can hold fewer than limit items even when meta.has_more is
true, because it stops near 4 MiB. A short page does not mean the list has
ended, so go by meta.has_more, never by the number of items.
A cursor is opaque: do not build or change one. It works only with the operation and filters that produced it. Pages follow a stable order, but edits made while you page can move an item from one page to another.
A cursor has no expiry time, but do not store it for later. If one is ever
refused with 422, start again from the first page.
Keep your filter and sort unchanged between pages. Date filters compare
YYYY-MM-DD calendar days or relative dates in your workspace's time zone (UTC
if unset). See Conventions.