updateContract
updateContractUpdate an existing contract's details including status, dates, phases, and renewal policy after fetching the original contract via getContractById.
Instructions
Update an existing contract. This is a PUT endpoint — you MUST fetch the contract first with getContractById, then send ALL required fields including phases. Without phases the API returns 500. Copy phases from the GET response (each phase needs name, start_date, end_date at minimum). Status: draft, active, paused, expired, disputed. Renewal: renew_with_default_contract, renew_with_existing, do_not_renew.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| contractId | Yes | The unique identifier (UUID) of the contract to update. | |
| name | Yes | Human-readable name for the contract. | |
| status | Yes | Contract status: draft, active, paused, or disputed. Cannot set to 'expired' via update. | |
| currency | Yes | Three-letter ISO 4217 currency code (e.g. USD, EUR, GBP). | |
| start_date | Yes | Contract start date in ISO 8601 format (e.g. 2026-01-01T00:00:00). | |
| customer_id | Yes | UUID of the customer associated with this contract. | |
| description | No | Detailed description of the contract terms. | |
| end_date | No | Contract end date in ISO 8601 format. | |
| anchor_date | No | Reference date for billing cycle calculations. | |
| is_last_day_of_month | No | When true, billing cycles always end on the last day of the month. | |
| custom_attributes | No | Key-value pairs for organization-specific metadata (e.g. automatic_renewal flag). | |
| phases | No | Array of contract phases. Each phase needs at minimum: name, start_date, end_date. Include pricings array if the phase has pricing. Defaults to empty array if omitted. | |
| renewal_policy | No | Contract renewal behavior: renew_with_default_contract, renew_with_existing, or do_not_renew. | |
| contract_link | No | URL to external contract document or signed agreement. | |
| bill_parent_customer | No | When true and customer has a parent relationship, invoices are sent to the parent. | |
| invoice_payer_customer_id | No | Optional customer UUID who will receive and pay invoices for this contract. | |
| include_in_renewal | No | When true, this contract is eligible for renewal processes. | |
| tags | No | List of tags for categorizing and filtering contracts. | |
| source | No | Metadata about the originating system (e.g. {source_type: 'hubspot', source_id: 'deal_123'}). | |
| __userContext | No | Internal user context for multi-tenant authentication and approval workflow |