Skip to main content
contracts

Update a contract

Partially updates a contract and returns it. Any field omitted from the body is left unchanged. When terms is provided, all existing terms and their payments are replaced by the supplied terms. customFields sets only the custom fields it names, keyed by custom field id; a null value clears that field.

PATCH
/v1/contracts/{id}
beam-api-keystringheaderrequired
idstringrequired

Body

application/json
categoryIdstring | null
companyIdstring | null
customFieldsobject

Custom field values keyed by custom field id, for example { "<customFieldId>": "value" }. An existing value is overwritten (null clears it), and a value is only created when content is non-empty

descriptionstring | null
namestring
Minimum string length: 1
termsobject[]
Required array length: 1 - 100
vendorstring
Minimum string length: 1

Response

application/json

The updated contract

allTermsobject[]required
assetsobject[]required
categorystring | nullrequired
categoryIdstring | nullrequired
companiesobject[]required
contractNumbernumberrequired
contractStatusenum<string>required
Available options: pending, active, renewing_soon, expiring_soon, expired, cancelled, incomplete, planned, not_approved, completed
createdAtstringrequired
createdBystringrequired
currentTermobject | nullrequired
descriptionstring | nullrequired
fieldsByIdobjectrequired
idstringrequired
namestringrequired
nextPaymentobject | nullrequired
previousTermobject | nullrequired
renewalTermobject | nullrequired
tagsobject[]required
updatedAtstringrequired
vendorstringrequired