Skip to main content
contracts

List /contracts

Search contracts. Matches subject, contract number, contact name, or description (optional query). Supports pagination and filters: assignees, contact, contract state, contract type, project, organization, and date ranges. Each item uses uuid only. Response: items and pagination.

GET
/contracts
Authorizationstringheaderrequired

API key (Bearer token) created in Setup → API & MCP.

querystringquery

Optional search phrase for contract subject, number, contact name, or description.

Minimum string length: 1
pageintegerquery

Page number (1-based).

Required range: 1 <= x
per_pageintegerquery

Number of results per page. limit is accepted as an alias.

Required range: 1 <= x <= 50
filter[updated_since]stringquery

Return only records whose updated_at is at or after this ISO 8601 timestamp (e.g. 2026-08-11T00:00:00Z). Intended for incremental polling.

filter[created_since]stringquery

Return only records whose created_at is at or after this ISO 8601 timestamp (e.g. 2026-08-11T00:00:00Z). Intended for polling new records.

filter[assignees]string[]query

Responsible person staff UUIDs.

filter[contact]stringquery

Client (contact) UUIDs.

filter[contract_state]string[]query

Contract state picklist value UUIDs.

filter[contract_type]stringquery

Contract type code_name values or numeric IDs.

filter[project]stringquery

Project UUIDs.

filter[organization]string[]query

Organization UUIDs.

filter[datestart]stringquery

Contract start date range.

filter[dateend]stringquery

Contract end date range.

filter[contract_date]stringquery

Contract date range.

filter[dateadded]stringquery

Created date range.

filter[uuid]stringquery

Record UUIDs. Use it to fetch several known records in one call.

filter[created_by]string[]query

Staff UUID who created the record.

filter[updated_by]string[]query

Staff UUID who last changed the record. Empty until the record is saved once after 2026-09.

filter[created_at]stringquery

Created date range (YYYY-MM-DD - YYYY-MM-DD). Use created_since for one-sided incremental polling.

filter[updated_at]stringquery

Last change date range (YYYY-MM-DD - YYYY-MM-DD). Use updated_since for one-sided incremental polling.

sortstringquery

Optional sort order, comma-separated; prefix a field with - for descending (e.g. sort=-updated_at); empty values sort last. Sortable fields: advance, advance_percentage, advance_with_vat, contract_date, contract_number_full, contract_value, created_at, dateadded, dateend, datestart, description, price_with_vat, subject, updated_at, uuid, vat. Default when omitted: -id.

fieldsstring[]query

Optional response field paths (dot notation for nested groups, e.g. billing_address.street; array fields are returned whole). Comma-separated string is also accepted. Identifier field is always included.

Response

application/json

Search results

itemsobject[]
paginationobject
querystring