contracts

Update Contract Term

Edit a term's dates or renewal settings and resync its reminders.

patch/contracts/{contract_id}/terms/{term_id}

Path parameters

contract_idstring uuid required
term_idstring uuid required

Request body

start_datestring date nullable
end_datestring date nullable
termination_notice_datestring date nullable
notice_date_source'derived' | 'extracted' | 'manual'

Where a term's termination_notice_date came from.

Drives whether moving end_date recomputes the notice date: only DERIVED dates are recomputed, so a human-entered or document-stated date is never silently overwritten.

notice_period_valueinteger nullable
notice_period_unit'days' | 'months'

Unit of a termination-notice period.

Months are not 30 days: 3 months before 2026-05-31 is 2026-02-28, while 90 days before it is 2026-03-02. This generates a legal deadline, so the unit is stored rather than normalized to days (see backend.helpers.contract_terms.derive_notice_date).

renewal_term_monthsinteger nullable
auto_renewsboolean nullable
notice_reminders_enabledboolean nullable
renewal_reminders_enabledboolean nullable

Response

Successful Response

contract_idstring uuid required
company_idstring uuid required
vendor_idstring uuid nullable
titlestring required
status'draft' | 'active' | 'expired' | 'terminated' required

DRAFT and TERMINATED are human judgments; the derivation in recompute_contract_status overwrites neither.

effective_datestring date nullable
expiration_datestring date nullable
auto_renewsboolean nullable
obligationsstring[]
latest_extraction_run_idstring uuid nullable
latest_summary_run_idstring uuid nullable
summary_run_status'pending' | 'running' | 'completed' | 'failed'
base_file_idstring uuid nullable
base_filenamestring nullable
base_upload_idstring uuid nullable
createdstring date-time nullable
modifiedstring date-time nullable

Changes

No recorded changes to this endpoint across all 1 revision of this API.