For the complete documentation index, see llms.txt. This page is also available as Markdown.

Pagination

Journey paginates exclusively at the GraphQL layer. REST endpoints under https://journey-server-prod.us-east-1.core.inseng.io/api/v1 generally do not support limit, offset, page, per_page, or cursor query parameters, and they do not emit a Link header. List-style queries that need pagination live on the GraphQL schema at /graphql.

GraphQL cursor pagination

Most paginated queries use an opaque cursor and return a pageInfo of type CursorPaginationInfo.

Input fields (canonical shape):

  • cursor: String — opaque id of the last item from the previous page; omit for the first page.

  • limit: Int — page size. Per-query default varies (4–20); max is 100.

  • forward: Booleantrue for next page, false for previous. Defaults to true.

Response pageInfo carries nextCursor, previousCursor, hasNextPage, hasPreviousPage, an optional totalCount (populated only when cheap to compute), and an optional pageCursors array for jump-to-page UIs. Treat cursors as opaque and pass them back unchanged.

query {
  learningLibraryCollections(
    accountId: "1234"
    input: { limit: 20, cursor: "8f1c…", forward: true }
  ) {
    collections { id name }
    pageInfo { nextCursor hasNextPage totalCount }
  }
}

Cursor-paginated queries include learningLibraryCollections, learningLibraryCollectionsWithCounts, learningLibraryCollectionItems, and learnItems.

Page-number variants

A few queries use 1-indexed page numbers instead:

  • people — input takes page: Int; response includes pagination: PaginationInfo { currentPage, totalPages, hasNextPage, hasPreviousPage }.

  • nonContentLibraryCoursesForAccount — proxies Canvas's Link-header pagination and surfaces it as CanvasPaginationInfo { page, perPage, totalPages, hasNextPage, hasPreviousPage }. totalCount is always null because Canvas does not return it.

Unpaginated endpoints

Many list-returning GraphQL queries and every REST list-style endpoint return the full result set unbounded — for example GET /api/v1/prism/conversations and most metadata, skill-space, and program queries. Expect the entire collection in one response and apply client-side limits if needed.

Last updated

Was this helpful?