Skip to main content
GET
List Offers

Authorizations

Authorization
string
header
required

OAuth 2.0 client credentials. The access token from POST /oauth/token is sent as a bearer token. Request only the scopes you need.

zivio-tenant-id
string
header
required

Your Zivio organisation identifier. The regional API endpoints serve every Zivio organisation, so each request must identify yours.

Query Parameters

page
integer
default:1

Page number for pagination

limit
integer
default:20

Number of results per page (max 100)

Required range: x <= 100
filter[<attribute>]
object

Filterable attributes:

integer (operators: eq, not_eq, in, not_in, gt, gte, lt, lte, between): approved_by_id, bid_id, client_contract_template_id, created_by_id, id, supplier_contract_template_id, version datetime (operators: eq, not_eq, gt, gte, lt, lte, between): accepted_at, approved_at, created_at, declined_at, due_on, expires_at, submitted_at, updated_at string (operators: eq, not_eq, in, not_in, like, not_like): additional_terms, approver_declined_reason, declined_reason, rate_ccy, reject_reason, status (one of: pending, accepted, declined, withdrawn, expired, onboarding, generating, signature_error, sending, cancelled, draft, submitted) boolean (operators: eq, not_eq): auto_close, skip_acceptance money (operators: eq, not_eq, in, not_in, gt, gte, lt, lte, between): budget, rate date (operators: eq, not_eq, gt, gte, lt, lte, between): start_date

Note: money values are in minor currency units (e.g. pence for GBP). Use 1000000 for £10,000.00.

Note: like is a case-insensitive substring match — pass the bare term (filter[title][like]=redesign). Do not add % wildcards; they are not needed.

or[group]
object

OR condition groups. Filters within a group are ANDed; groups are ORed.

Syntax: or[group_key][<attribute>]=value or or[group_key][<attribute>][operator]=value

Examples:

  • Simple OR: or[1][state]=draft&or[2][state]=pending
  • Complex: or[1][state]=draft&or[1][budget][gte]=50000&or[2][state]=closed
  • With custom fields: or[1][cf][priority]=high&or[2][state]=pending

Group keys can be any string (1, 2, a, b, etc.) - they just need to be unique.

cf[key]
object

Custom field filters using concise syntax.

Syntax:

  • Equality: cf[key]=value
  • With operator: cf[key][operator]=value

Operators: eq (default), not_eq, in, not_in, contains, not_contains, exists, not_exists

Examples:

  • cf[priority]=high - exact match
  • cf[department][in]=eng,design - matches any
  • cf[priority][not_eq]=low - not equal
  • cf[notes][contains]=urgent - contains text
  • cf[legacy_field][exists]= - field exists (value ignored)
  • cf[deprecated][not_exists]= - field does not exist
or[group][cf][key]
object

Custom field filters within OR condition groups.

Syntax: or[group][cf][key]=value or or[group][cf][key][operator]=value

Example: or[1][cf][priority]=high&or[2][state]=pending

sort[<attribute>]
object

Sort results by attribute. Direction defaults to ascending.

Syntax: sort[<attribute>]= (ascending) or sort[<attribute>]=desc (descending)

Sortable attributes: accepted_at, additional_terms, approved_at, approved_by_id, approver_declined_reason, auto_close, bid_id, budget, client_contract_template_id, created_at, created_by_id, declined_at, declined_reason, due_on, expires_at, id, rate, rate_ccy, reject_reason, skip_acceptance, start_date, status, submitted_at, supplier_contract_template_id, updated_at, version

Examples:

  • Ascending: sort[created_at]= or sort[created_at]=asc
  • Descending: sort[created_at]=desc

Response

List of offers

offers
object[]