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
| Name | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | The numeric ID of the contract to update. |
Request body
Content type application/json (required).
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Human-readable contract title. Max length: 255 |
status | string | No | One of: |
start_date | string (date) | No | |
end_date | string (date), nullable | No | |
total_value | number (float) | No | Total contract value in the specified currency. |
currency | string | No | ISO 4217 currency code. Max length: 3 |
billing_frequency | string | No | One of: |
customer_id | integer | No | |
notes | string | No |
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."}'