API reference
Pagination
Cursor-based pagination across list endpoints — items plus an opaque next_cursor.
List endpoints use cursor-based pagination. A page returns an items array and an
opaque next_cursor; pass it back to fetch the next page. When next_cursor is
empty or absent, you've reached the end.
Request
Bash
curl 'https://api.qeetid.com/v1/users?limit=50&cursor=<next_cursor>' \
-H "Authorization: ApiKey $QEETID_API_KEY"| Param | Type | Notes |
|---|---|---|
limit | integer | Page size. |
cursor | string | Opaque cursor from the previous page's next_cursor. |
Response
JSON
{
"items": [
/* … records … */
],
"next_cursor": "eyJjcmVhdGVkX2F0Ijoi…"
}Loop until next_cursor is empty:
Bash
cursor=""
while :; do
resp=$(curl -s "https://api.qeetid.com/v1/users?limit=100&cursor=$cursor" \
-H "Authorization: ApiKey $QEETID_API_KEY")
# … process .items …
cursor=$(echo "$resp" | jq -r '.next_cursor // empty')
[ -z "$cursor" ] && break
doneSDK helpers
The SDKs hide the cursor loop behind iterators.
TypeScript
for await (const user of qeetid.users.listAll({ tenant: "acme" })) {
console.log(user.email);
}page, err := qeetid.Users.List(ctx, qeetidsdk.ListParams{Tenant: "acme", Limit: 100})
// page.Items, page.NextCursorPython
for u in qeetid.users.list_all():
print(u.email)Cursors encode the ordering and position. Don't hand-construct them; always pass back
the next_cursor the server returned.