Skip to main content
All list endpoints in the Launchboard API use cursor-based pagination. Instead of page numbers, each response includes an opaque cursor that points to your position in the result set. Pass that cursor back on the next request to fetch the following page. This approach is stable under concurrent writes — inserting a new record won’t cause you to skip or repeat rows as you page through.

Query parameters

number
default:"50"
The number of records to return. Clamped to a minimum of 1 and a maximum of 200. Omit this parameter to use the default of 50.
string
An opaque string returned as nextCursor in the previous response. Omit on the first request. Pass verbatim — do not decode or modify the cursor value.

Response structure

List endpoints return a JSON object with two top-level fields:
object[]
required
The array of records for the current page, ordered by creation time descending.
string | null
required
An opaque cursor you can pass as ?cursor= to fetch the next page. When this value is null, you have reached the last page and there are no more results.

Example

Fetch the first page of stakeholders, then fetch the next page using the cursor from the response.
When the response contains "nextCursor": null, you have fetched all records.

Iterating through all pages

To retrieve all records for a resource — for example, when building a full cap table export or syncing data into a downstream system — loop until nextCursor is null. Start with a limit close to the maximum (200) to minimize the number of round trips.
Here is a simple pattern in JavaScript:

Cursor internals

The cursor is an opaque, base64url-encoded value. Treat it as a black box — pass it back to the API verbatim. Its internal structure may change between API versions.