contracts

List Current Contract Terms

The term in force on every contract in the company, one row per contract.

Declared above GET /{contract_id} for the same reason /renewals is. Read-only, gated by router auth only, and unfiltered and unpaged — the surface reading it filters, sorts and pages client-side. Unlike /renewals it keeps decided and open-ended terms.

My Services' contracts tab reads the same rows narrowed to the caller's own book (GET /vrm/my-contracts); both build them with build_current_term_rows, so the two cannot describe a term differently.

The term each row carries is the one the contract is in, not the tail of its chain (current_terms_for_company). The cadence is resolved once here because both halves need it: selecting the term consults it, and serializing reports attention_due from it.

get/contracts/current-terms

Response

Successful Response

contract_idstring uuid required
contract_titlestring required
contract_status'draft' | 'active' | 'expired' | 'terminated' required

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

vendor_idstring uuid nullable
vendor_namestring nullable
vendor_websitestring nullable
service_namesstring[]

Changes

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