OnworkDevelopers

Pagination

Every list endpoint is paginated the same way.

Request parameters

Parameter Default Max Description
page 1 Page number, 1-based.
per_page 25 100 Items per page.
curl "https://<host>/api/public/v1/users?page=2&per_page=50" \
  -H "X-Api-Key: $ONWORK_API_KEY"

Response envelope

{
  "data": [ ... ],
  "pagination": {
    "page": 2,
    "per_page": 50,
    "total": 137,
    "total_pages": 3
  }
}

Stable ordering

Lists are ordered by id ascending. Ids are monotonically increasing, so new records always append at the end: iterating page by page never skips or duplicates rows created while you paginate.

Incremental sync

For periodic synchronization, avoid re-reading everything: filter with updated_since (ISO 8601) and keep a high-water mark on your side.

curl "https://<host>/api/public/v1/users?updated_since=2026-07-01T00:00:00Z" \
  -H "X-Api-Key: $ONWORK_API_KEY"

Store the timestamp you started the sync at, and pass it as updated_since on the next run. Overlapping windows are safe — process records idempotently by id.