Skip to main content
contracts

Create /contracts

Create a contract. Required: subject and either contact (client UUID) or lead (lead UUID). Optional: contract type (code_name), state, dates, values, project, objects, opportunities, assignees, document template, organization, and custom fields. Returns record with the detail projection.

POST
/contracts
Authorizationstringheaderrequired

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

Body

application/json
advancestring

Advance amount.

advance_percentagestring

Advance percentage.

advance_with_vatstring

Advance amount including VAT.

assigneesstring[]

Responsible person staff UUIDs.

contactstring

Client UUID (required on create if lead is omitted).

contact_personstring

Client contact person UUID.

contentstring

Contract content (HTML).

contract_datestring

Contract date (Y-m-d).

contract_numberstring

Contract number (without prefix).

contract_number_fullstring

Full contract number (prefix + number).

contract_prefixstring

Contract number prefix.

contract_statestring

Contract state picklist value UUID.

contract_typestring

Contract type code_name (e.g. sales_contracts) or numeric ID.

contract_valuestring

Contract value.

custom_fieldsobject[]

Custom field values by slug.

dateendstring

Contract end date (Y-m-d).

datestartstring

Contract start date (Y-m-d).

descriptionstring

Contract description.

document_templatestring

Document template UUID.

leadstring

Lead UUID (required on create if contact is omitted).

lead_contact_personstring

Lead contact person UUID.

objectsstring[]

Object UUIDs.

opportunitiesstring[]

Opportunity UUIDs.

organizationstring

Organization UUID.

price_with_vatstring

Price including VAT.

projectstring

Project UUID.

subjectstringrequired

Contract subject/title.

vatinteger

VAT rate (basis points, e.g. 2100 = 21%).

any

Response

application/json

Success

recordobject

Fields enabled for this documentation instance (projection enabled: feature, option, subdomain, closures) plus account-level form field visibility. Role- and user-level field overrides are not applied here, so an API key whose staff user has such overrides may receive fewer fields. A disabled field is omitted from the response object entirely; a present key with a null value means the record simply has no value.