Notrus

Pagination

List queries use Relay-style cursor pagination. You page forward by passing the last page's cursor back as after.

Connection shape

A paginated field returns a connection: a list of edges (each with a node and an opaque cursor) plus pageInfo.

First page

Request a page size with first:

graphql
query FirstPage {
  conversations(first: 25) {
    edges {
      cursor
      node { conversationId threads { threadId summary } }
    }
    pageInfo { hasNextPage endCursor }
  }
}

Next page

If pageInfo.hasNextPage is true, pass pageInfo.endCursor as after to fetch the next page:

graphql
query NextPage {
  conversations(first: 25, after: "<endCursor from previous page>") {
    edges { node { conversationId } }
    pageInfo { hasNextPage endCursor }
  }
}

Notes

  • Cursors are opaque — do not parse or construct them; only pass back what you received.
  • first is capped server-side; very large values are clamped to the maximum page size.
  • Conversations are ordered oldest-first by their earliest thread — see the Schema Reference for the full shape.