Skip to main content
All endpoints on this page require a tenant bearer token. See Roles & Permissions for what each @Perm module/level means.

List contracts

GET /contracts · requires contract_view (view)
integer
default:"1"
integer
default:"20"
Max 200.
string
Free-text search.
string
sale | lease
string
Custom contract type code, if configured.
string
in_progress | completed
string
string
unpaid | partial | paid
string
string
string
One of draft, extracted, review, approved, signed, active, completed, archived.
string
boolean
boolean
string
string
default:"asc"
asc | desc

Get a contract

GET /contracts/:id · requires contract_view (view)

Create a contract

POST /contracts · requires contract_edit (edit)
string
required
string
required
string
required
string
sale | lease
string
string
required
string
required
string
required
string
required
string
required
integer
required
Minimum 1.
number
required
Minimum 0.
number
Minimum 0.
string
string
required
string
string
number
number
string
string
ISO date.
string
required
ISO date.
string
required
ISO date.
integer
string
File reference.
string
in_progress | completed
string
string
required
string
string
object
Custom field values keyed by field id.
string
string
string
string[]
array
Initial payment plan lines — see Add a payment line for the shape of each entry.
array
array
{ label, value }[]

Update a contract

PATCH /contracts/:id · requires contract_edit (edit) Same fields as create, all optional.

Delete a contract

DELETE /contracts/:id · requires contract_delete (edit)

Bulk operations

Import and export

Both export endpoints respond with Content-Type: text/csv; charset=utf-8.

OCR extraction

See Contract Intake for how this fits into the upload flow.

Add a note

POST /contracts/:id/notes · requires contract_edit (edit)
string
required
string
required

Add a term note

POST /contracts/:id/terms · requires contract_edit (edit)
string
required
deposit | delivery | debug | payment | expiry | other
string
required
string
ISO date.
string
required

Add a payment line

POST /contracts/:id/payments · requires payment_entry (edit)
string
required
string
required
ISO date.
number
required
Minimum 0.
string
number
string
string
string
string
string
string
pending | matched | exception
string
number
string
string
string
string
For updating a payment that already exists (rather than adding a new line), see Payments.

Fulfillment tasks

status is one of pending, in_progress, completed, accepted, blocked, canceled, overdue.

Add an invoice record

POST /contracts/:id/invoices · requires invoice (edit)
string
string
string
required
number
required
Minimum 0.
string
string
draft | issued | void | red_letter
string
number
string