Skip to main content
List endpoints return results in pages so you can retrieve large collections efficiently. Novu uses cursor-based pagination as the standard for list endpoints. Pass an opaque cursor to walk forward or backward through results without skipping or duplicating items as your data changes. A small number of legacy endpoints still use page-based pagination with page and limit. For new integrations, use the cursor-based endpoints listed below.

Query parameters

limit is capped at 100 items per page across list endpoints (cursor-based, offset-based, and legacy page-based). Requesting a limit greater than 100 returns a 422 validation error, so page through large collections with multiple requests instead of raising limit.

Response envelope

Cursor-based list endpoints return a consistent envelope:
To page forward, pass the next cursor as after on the following request. Stop when next is null:

Cursor-based endpoints

These endpoints use cursor pagination:

Fetch all pages

This example walks every page of a cursor-based list with the TypeScript SDK until there are no more results:

Legacy page-based pagination

A few older endpoints still accept page and limit instead of cursors. They return page, pageSize, and hasMore in the response. Prefer the cursor-based alternatives above when both exist.