List pagination¶
Some lists are paginated; the rest return the full collection in one response. Full collection: features, plans, overrides, and entitlements (GET …/entitlements). Paginated: the lists under Paginated lists.
Query¶
| Param | |
|---|---|
limit |
Optional. Default 50, max 100. Over-max is clamped, not 422. < 1 or non-integer → 422 VALIDATION_ERROR, message limit must be an integer from 1 to 100., detail path limit. |
starting_after |
Optional. Exclusive cursor: the id of the last item on the previous page. Omit on the first page. |
Pagination is cursor-based (starting_after), not page numbers.
limit and starting_after apply to paginated lists only. GET /org/features and GET /org/plans reject any query parameter they do not define (422, one detail per parameter). Other lists ignore unknown query parameters.
starting_after must be a well-formed id for that collection. Invalid → 422 VALIDATION_ERROR with a detail on starting_after (a subscriber id has no spaces or slashes; a subscription id is a ULID). A well-formed id that is not in the collection is not an error — the walk continues after that point in id order.
Order¶
Paginated lists are id ascending, except the audit log, which is newest first. Full-collection lists (features, plans, overrides) are newest first.
Subscriber id is the id you chose (lexicographic). Subscription id is a ULID (time-sortable).
Body¶
| Field | |
|---|---|
| named collection | Plural resource key (subscribers, subscriptions, audit_events, members, invites, service_accounts, keys). |
has_more |
true if another page exists. Always present. |
When has_more is true, pass the last item’s id as starting_after on the following request. Do not send starting_after when has_more is false.
No total. limit is not echoed.
Paginated lists¶
GET …/subscribersGET …/subscribers/{subscriber_id}/subscriptionsGET …/audit-events(newest first)GET /org/membersGET /org/invitesGET /org/service-accountsGET /org/service-accounts/{service_account_id}/api-keys