Skip to main content
A contract is the agreement a customer is on. It is written when a quote is accepted, or by a person in Custral. Through the API you can read contracts; creating one is done in the app. Amounts are in minor units (cents), like every other revenue response.

Attributes

List contracts

GET /v1/contracts lists the workspace’s contracts. Filter with customer (your app’s customer id or a record id) and status.

Retrieve a contract

GET /v1/contracts/{id} returns one contract.

List contract templates

GET /v1/contract-templates lists the contracts a quote can ask its customer to sign: each one’s id, name, kind (pdf for your own document, text for one written in Custral) and isDefault. Pass an id or name as contractTemplate on POST /v1/quotes with requireSignature: true.

Renewals

Subscribe to the contract.renewing webhook to hear when a contract comes within its notice days of its end. It fires once per term. See Quote and billing events.

Scopes

All three endpoints need the billing:read scope.