Pagination
List endpoints accept limit (1–100, default 25) and offset (default 0). Responses include items and total.
curl -s 'https://api.circa.ai/public/materials?limit=50&offset=100' \
-H 'x-api-key: circa_live_xxx'200OK
{
"items": [ /* up to 50 records */ ],
"total": 12453,
"hasMore": true
}Every list endpoint (/materials, /processes, ?pulled=true variants, GraphQL materials / processes) returns the same shape:
items— the page of records, capped at the requestedlimit.total— total matching records when the underlying service knows the count. For some sources (e.g. the process aggregator)totalfalls back toitems.length— usehasMoreto decide whether to paginate.hasMore—trueif there is at least one more record pastoffset + items.length.
For large collections, iterate with stable offset values and cap parallelism to stay under the rate limit.