List contracts
Returns a paginated list of contracts. Use the q parameter to filter by contractNumber, name, vendor, companies.id, contractStatus or custom fields.
Used to search and narrow results. A query consists of multiple "clauses" joined by " AND ". "OR" and grouping is not currently supported.
Clauses are made up of {field}{operator}{value}.
{field} must be either "search" when generally searching, or a property from the response body. Use dot notation when the property is nested. When response bodies are paginated, this will be a property from the nested items.
{operator} must be one of:
- '~' for partial, case insensitive matches
- ':' for exact, case insensitive matches
- '>', '<', >=', '<=' for greater than, less than, gte, lte, respectively
{value} supports:
- string: strings must be double quoted ( e.g. name:"john" ). Nested quotes can be escaped ( e.g. name:"John"" ). Supports ~ and : operators.
- number: numbers can be decimals or integers, and support >, <, :, >=, <= operators.
- date: dates support >, <, :, >=, <= operators and can be given as an ISO 8601 string or a timestamp in milliseconds. Date-times must include a timezone offset, and a plain date is treated as midnight UTC. e.g. startDate>"2026-01-01T00:00:00Z", startDate>"2026-01-01" or startDate>1767225600000
- boolean: use true or false without quotes. supports : operator only. e.g. isActive:true
- null: use null without quotes to assert existence. supports : operator only. e.g. endDate:null
- array: use square brackets to search for multiple values. Values must all be the same type. e.g. name:["john", "jill"]
Negate a clause with a leading - character. e.g. -age:20 would find all records where age is not 20.
This endpoint supports the following fields:
- contractNumber — The contract number
- name — The contract name
- vendor — The contract vendor
- companies.id — The id of the company the contract is linked to
- contractStatus — The contract status: pending, active, renewing_soon, expiring_soon, expired, cancelled, incomplete, planned, not_approved or completed
- customFields.{customFieldId} — a custom field value
- search — a free text match across the record
contractNumber>=100 AND name~"Maintenance"Response
Paginated list of contracts
More in contracts
GETGet a contractPATCHUpdate a contractStill need help? Ask the team