Skip to main content

Pagination

Debitura APIs use offset-based pagination for list endpoints. All paginated responses include metadata to help you navigate through results.

Defaults

All paginated endpoints use consistent defaults:

  • Default PageSize: 10
  • Maximum PageSize: 100

Paginated Endpoints

APIEndpoint
CustomerGET /cases, GET /Payments
Collection PartnerGET /cases, GET /managed-cases
Referral PartnerGET /clients, GET /reporting/transactions

Request Parameters

ParameterTypeDescription
PageintegerPage number (1-indexed). Defaults to 1.
PageSizeintegerResults per page (1-100). Defaults to 10.
GET /v1/cases?Page=2&PageSize=25
Authorization: Bearer {api_key}

All APIs use PascalCase parameters consistently.

Response Metadata

Every paginated response includes a pageData object:

{
"cases": [ ... ],
"pageData": {
"totalResults": 147,
"pageSize": 25,
"currentPage": 2,
"responseCount": 25,
"totalPages": 6
}
}
FieldDescription
totalResultsTotal items matching your query
pageSizeItems per page (as requested or default)
currentPageCurrent page number
responseCountItems returned in this response
totalPagesTotal pages available

Iterating Through Pages

Increment Page until currentPage equals totalPages:

let page = 1;
let totalPages = 1;

do {
const response = await fetch(`/v1/cases?Page=${page}&PageSize=100`);
const data = await response.json();

// Process data.cases

totalPages = data.pageData.totalPages;
page++;
} while (page <= totalPages);

Alternatively, stop when responseCount is less than pageSize.

Combining with Filters

Pagination works with filtering and sorting. The totalResults reflects the filtered count, not the total dataset.

GET /v1/cases?Statuses[]=Active&Sort=date:desc&Page=1&PageSize=50