Pagination

Some endpoints in the Productboard REST API v2 return paginated results. Instead of returning all records at once, the response includes a limited set of results along with a link to the next page (if more results are available).

The Productboard REST API uses cursor-based pagination for all endpoints that return a list of results.
Instead of using page numbers, we return a pageCursor that points to the next set of results.

🔍 How It Works

  • Responses include a links.next field if there’s another page of results available.
  • This link contains a pageCursor query parameter that you can pass in your next request.
  • If links.next is not present, you’ve reached the end of the results.

Example request

GET http://api.productboard.com/v2/notes?pageCursor=some_cursor
Authorization: Bearer YOUR_ACCESS_TOKEN
Accept: application/json

Example response

{
  "data": [
    { ..., "title": "Customer Feedback – March", ... }
  ],
  "links": {
    "next": "https://api.productboard.com/v2/notes?pageCursor=next_cursor_value"
  }
}

Fetching the Next Page

Example request

GET https://api.productboard.com/v2/notes?pageCursor=next_cursor_value
Authorization: Bearer YOUR_ACCESS_TOKEN
Accept: application/json

Paginated attribute values

  • Some attribute values in a response (e.g. relationships which are part of entity response) can be paginated
  • In this case the shape of the attribute value is the same as that of the list of results as described above
  • links.next then points to a separate endpoint providing listing of resources referenced by the attribute

💡 Best Practices

  • Always check for links.next before making another request.
  • Treat the pageCursor as an opaque string — don’t try to parse or modify it.
  • Continue paging until links.next is no longer returned.