Document Stack
Document Stack
Docs

Pagination

Navigate large result sets with cursor and offset-based pagination.

Overview

List endpoints that return multiple items (templates, projects, etc.) support pagination. By default, results are returned in pages of 20 items.

Pagination Parameters

ParameterTypeDefaultDescription
pagenumber1Page number (1-indexed)
pageSizenumber20Items per page (1–100)
Requesting Page 2
curl "https://api.documentstack.dev/api/v1/templates?page=2&pageSize=10" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response Structure

Paginated responses include a pagination object alongside the results:

Paginated Response
{
  "success": true,
  "data": {
    "templates": [ ... ],
    "pagination": {
      "page": 2,
      "pageSize": 10,
      "total": 42,
      "totalPages": 5
    }
  }
}

Pagination Fields

FieldTypeDescription
pagenumberCurrent page number
pageSizenumberItems returned per page
totalnumberTotal number of items across all pages
totalPagesnumberTotal number of pages

Iterating Through All Pages

Fetching All Templates
import { DocumentStack } from "@document-stack/sdk-node";

const client = new DocumentStack({ apiKey: process.env.DS_API_KEY! });

async function getAllTemplates() {
    const all = [];
    let page = 1;
    let totalPages = 1;

    while (page <= totalPages) {
        const res = await client.templates.list({ page, pageSize: 50 });
        all.push(...res.templates);
        totalPages = res.pagination.totalPages;
        page++;
    }

    return all;
}

Performance

Avoid fetching all pages unless you actually need every item. Use filtering and search parameters to narrow results before paginating.

Sorting

Some list endpoints support sorting via the sort parameter:

Sort by Recently Updated
curl "https://api.documentstack.dev/api/v1/templates?sort=updatedAt:desc" \
  -H "Authorization: Bearer YOUR_API_KEY"

Sort values use the format field:direction where direction is asc or desc.

Next Steps