Skip to main content
Free academy website with paid plans.

Working with the API

Pagination

List endpoints use opaque cursors with a default page size of 25 and a maximum of 100.

Updated

Browse the developer docs

Steps

  1. Call a list endpoint: GET /v1/students, GET /v1/events or GET /v1/webhook_endpoints/{id}/deliveries. Responses have the shape { data: [...], page: { next_cursor } }.
  2. Set limit to choose a page size. The default is 25 and values above 100 are reduced to 100. A value that is not a positive integer returns 400 "limit must be a positive integer".
  3. To get the next page, pass the previous page’s next_cursor as the cursor query parameter. When next_cursor is null you have reached the last page.
  4. Treat the cursor as opaque. A cursor you changed or built yourself returns 400 "malformed cursor".

Notes

  • Pages are ordered newest first. They stay stable when new rows are added while you page.
  • GET /v1/students?email= does not page. It returns up to 25 matches with next_cursor null.
  • GET /v1/events also accepts after, which returns newer events oldest first for polling. See the Events article.

Still need help?

Email hello@chesscore.io. Using ChessCore day to day? Visit the Help centre.