Skip to main content

Response Envelope & Pagination

Envelope Shape

All list endpoints return a consistent envelope:

{
"count": 150,
"results": [
{ "id": 1, "name": "..." },
{ "id": 2, "name": "..." }
]
}
FieldTypeDescription
countintegerTotal number of matching records across all pages
resultsarrayThe items on the current page

Single-resource endpoints (for example, GET /recitations/{id}/) return the object directly with no envelope.

Pagination Parameters

ParameterTypeDefaultMax
pageinteger (1-indexed)1
page_sizeinteger201000

Both parameters are optional. Omitting them returns the first 20 results.

Paging Through Results

Use count to determine how many pages exist, then increment page until you have all records.

# Page 1
curl "https://staging.api.cms.itqan.dev/reciters/?page=1&page_size=10"

# Page 2
curl "https://staging.api.cms.itqan.dev/reciters/?page=2&page_size=10"

Large Page Sizes

Set page_size=1000 to fetch up to 1 000 records in a single request. This is the hard cap; values above 1 000 are silently clamped to 1 000.


See also: Design Principles · Searching, Filtering, Ordering · Error Handling