Skip to content

Update revenue contract

PUT/revenue/contracts/{id}

Updates mutable fields of an existing contract such as name, dates, total value, or billing frequency. Contracts in "active" status should be amended via the /amend endpoint rather than directly updated to preserve audit history.

Request

Path parameters

NameTypeRequiredDescription
idintegerYes

The numeric ID of the contract to update.

Request body

Content type application/json (required).

FieldTypeRequiredDescription
namestringYes

Human-readable contract title.

Max length: 255

statusstringNo

One of: "draft", "active", "amended", "expired", "terminated" · Default: "draft"

start_datestring (date)No
end_datestring (date), nullableNo
total_valuenumber (float)No

Total contract value in the specified currency.

currencystringNo

ISO 4217 currency code.

Max length: 3

billing_frequencystringNo

One of: "monthly", "quarterly", "annually", "one_off"

customer_idintegerNo
notesstringNo

Example

{
  "name": "Acme Corp Enterprise Agreement 2026 (revised)",
  "total_value": 52000.0,
  "notes": "Revised after Q1 scope addition."
}

Responses

200 Contract updated

404 Contract not found

422 Validation failed

Example request

curl -X PUT "https://{tenant}.faciotech.net/api/v1/revenue/contracts/{id}" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"name": "Acme Corp Enterprise Agreement 2026 (revised)", "total_value": 52000.0, "notes": "Revised after Q1 scope addition."}'
Loading