Contract

Updates an existing Contract by ID

Required permission: Contracts - Edit

Covered items are part of the contract payload:

  • product_price_overrides — the covered products with their contracted rate (price_retail_cents or discount_percentage) and their block-list status (blacklisted, meaning the product is billed separately from the contract).
  • non_billable_product_ids — products covered by the contract and therefore not billed on their own.
  • schedule_ids — the recurring invoice schedules this contract governs. Link a schedule to a contract by sending contract_id to the Schedule endpoints.
put/contracts/{id}

Path parameters

idinteger required

Request body

contract_amountstring
customer_idinteger required
descriptionstring
start_datestring date
end_datestring date
namestring
primary_contactstring
statusstring
likelihoodinteger
apply_to_allboolean
sla_idinteger
tag_liststring[]
non_billable_product_idsinteger[]

Products covered by the contract and therefore not billed separately. Replaces the whole set; omit the key to leave it untouched. Must be a JSON array of integers — anything else, including an array containing null, is rejected with 422 rather than treated as an empty set. Clearing the set requires a JSON body, since a form-encoded empty array cannot be transmitted.

Response

successful

Changes