Skip to main content
All list endpoints return paginated results using offset-based pagination. This page describes the REST API v1 response contract. MCP list tools use pagination: { total, limit, offset } without has_more; do not mix the REST and MCP response shapes.

Parameters

Response format

Iterating through all results

Filtering and sorting

Most list endpoints support filtering and sorting via query parameters. Filters use operator-based syntax: Sorting uses a sort parameter with - prefix for descending order:

Incremental synchronization

Mutable CRM collections support updated_after and, except for contacts, updated_before. These offset-paginated filters reduce full scans but are best-effort during concurrent writes; consumers that require an exact mirror should keep a lower-frequency reconciliation. Timestamps must be RFC 3339 values. The lower bound is strict and the upper bound is inclusive:
The contacts collection may redeliver rows exactly equal to updated_after. This at-least-once behavior avoids gaps; consumers should upsert by resource ID. The workspace-level pipeline entry collection provides the stronger contract: keyset cursor pagination and a fixed checkpoint obtained from the database clock.
Follow meta.next_cursor until meta.has_more is false. Persist meta.checkpoint only after the final page succeeds, then use it as the next request’s updated_after. Process entries idempotently by ID.
Pipeline entry deletions are not yet emitted by this endpoint. Keep a lower-frequency full reconciliation for deletion detection.