Docs

Docs

x-cpod-domain: contracts

Contracts

Vendors, master contracts, and obligations.

Try in explorer client.contracts

Vendor

A vendor counterparty.

REST path/api/v1/contracts/vendors
Operations
listgetcreateupdatedelete
SDK
// list — returns only your records; add filters/search:
await client.contracts.vendors.list()

// create:
await client.contracts.vendors.create({
  id: "rec_01HXEXAMPLE",
  tenant_id: "example tenant_id",
  created_at: "2026-01-01T00:00:00Z",
  updated_at: "2026-01-01T00:00:00Z",
  app_id: "example app_id",
  created_by: "rec_01HXEXAMPLE",
})
FieldTypeDescription
id*uuidServer-assigned ULID with type prefix (e.g. per_…).
tenant_id*stringTenant scope — auto-stamped from the caller's JWT.
app_idstringApp scope. Stamped ONLY when the caller's JWT was minted for a specific Application (integration API keys). Absent for human-user sessions. Filters reads when present.
created_at*date-timeServer stamp.
updated_at*date-timeServer stamp; updated on every patch.
created_byuuidPerson id from the caller's JWT (sub).
updated_byuuidPerson id from the last writer's JWT (sub).
sourcestringProvenance tag — defaults to 'edm'.
source_typeenumWhere the write originated. Defaults to 'api'.frontendbackendserversystemapi
is_deletedbooleanSoft-delete flag. Excluded from default list queries.
deleted_atdate-timeStamped when soft-deleted; null otherwise.
deleted_byuuidPerson id who soft-deleted; null otherwise.
schema_versionnumberDocument schema version. Bumped on incompatible writes.
namestringCanonical machine-friendly name for the vendor (e.g. 'acme-corp'). Used in API filters and cross-system references.
display_namestringHuman-readable display name shown in the UI and API responses.
websitestringPrimary website URL for this vendor. Null if unknown.
risk_ratingstringVendor risk rating assigned by the procurement or security team. Drives contract review cadence and access controls.
payment_terms_daysnumberStandard payment terms in days (e.g. 30 for net-30). Null if not yet negotiated.
account_manager_namestringFull name of the vendor's account manager for this enterprise.
account_manager_emailemailEmail address of the vendor's account manager.
strategic_tierstringProcurement tier classification. 'preferred' vendors receive priority sourcing; 'restricted' vendors require executive approval.
statusstringLifecycle status of the vendor relationship. 'under_review' triggers a compliance workflow.
notesstringFreeform notes about the vendor, visible only to internal users.
tagsjsonFlat string tags for grouping and filtering (e.g. 'cloud', 'saas', 'eu-gdpr').

Contract

A master contract with a Vendor.

REST path/api/v1/contracts/contracts
Operations
listgetcreateupdateterminate
SDK
// list — returns only your records; add filters/search:
await client.contracts.contracts.list()

// create:
await client.contracts.contracts.create({
  id: "rec_01HXEXAMPLE",
  tenant_id: "example tenant_id",
  created_at: "2026-01-01T00:00:00Z",
  updated_at: "2026-01-01T00:00:00Z",
  app_id: "example app_id",
  created_by: "rec_01HXEXAMPLE",
})
FieldTypeDescription
id*uuidServer-assigned ULID with type prefix (e.g. per_…).
tenant_id*stringTenant scope — auto-stamped from the caller's JWT.
app_idstringApp scope. Stamped ONLY when the caller's JWT was minted for a specific Application (integration API keys). Absent for human-user sessions. Filters reads when present.
created_at*date-timeServer stamp.
updated_at*date-timeServer stamp; updated on every patch.
created_byuuidPerson id from the caller's JWT (sub).
updated_byuuidPerson id from the last writer's JWT (sub).
sourcestringProvenance tag — defaults to 'edm'.
source_typeenumWhere the write originated. Defaults to 'api'.frontendbackendserversystemapi
is_deletedbooleanSoft-delete flag. Excluded from default list queries.
deleted_atdate-timeStamped when soft-deleted; null otherwise.
deleted_byuuidPerson id who soft-deleted; null otherwise.
schema_versionnumberDocument schema version. Bumped on incompatible writes.
vendor_iduuidUUID of the Vendor that is party to this contract.
owner_iduuidUUID of the Person (employee) who owns and is accountable for this contract internally.
typestringContract type classification. 'msa' = Master Service Agreement; 'sow' = Statement of Work; 'ela' = Enterprise License Agreement.
namestringHuman-readable name for this contract (e.g. 'Acme SaaS Platform — 2025 Renewal').
statusstringLifecycle status of the contract. 'executed' = signed but not yet in the effective date window; 'active' = currently in force.
signed_datedate-timeISO 8601 date when the contract was signed by all parties. Null if not yet executed.
effective_datedate-timeISO 8601 date when the contract's obligations begin. May differ from signedDate.
expiry_datedate-timeISO 8601 date when the contract expires or must be renewed. Null for evergreen contracts.
notice_period_daysnumberNumber of days notice required to terminate the contract before its expiry.
auto_renewal_window_daysnumberIf set, the contract auto-renews unless cancelled at least this many days before the expiryDate (e.g. 60 means cancel 60 days before expiry or it renews automat
valuenumberTotal contract value (TCV) in the specified currency. Null if the value is time-and-materials or otherwise variable.
currencystringISO 4217 3-character currency code for the contract value (e.g. 'USD', 'EUR', 'GBP'). Null if value is null.
linked_license_idsjsonUUIDs of SoftwareLicense records that are governed by or created as a result of this contract.
document_refstringMinIO object path to the stored contract document (e.g. 'contracts/2024/acme-saas-renewal.pdf'). Access controlled by the cPod storage layer.
notesstringInternal notes about the contract visible only to authorized users.
tagsjsonFlat string tags for filtering and grouping.

ContractObligation

A specific obligation pulled out of a Contract.

REST path/api/v1/contracts/obligations
Operations
listgetcreateupdatecomplete
SDK
// list — returns only your records; add filters/search:
await client.contracts.obligations.list()

// create:
await client.contracts.obligations.create({
  id: "rec_01HXEXAMPLE",
  tenant_id: "example tenant_id",
  created_at: "2026-01-01T00:00:00Z",
  updated_at: "2026-01-01T00:00:00Z",
  app_id: "example app_id",
  created_by: "rec_01HXEXAMPLE",
})
FieldTypeDescription
id*uuidServer-assigned ULID with type prefix (e.g. per_…).
tenant_id*stringTenant scope — auto-stamped from the caller's JWT.
app_idstringApp scope. Stamped ONLY when the caller's JWT was minted for a specific Application (integration API keys). Absent for human-user sessions. Filters reads when present.
created_at*date-timeServer stamp.
updated_at*date-timeServer stamp; updated on every patch.
created_byuuidPerson id from the caller's JWT (sub).
updated_byuuidPerson id from the last writer's JWT (sub).
sourcestringProvenance tag — defaults to 'edm'.
source_typeenumWhere the write originated. Defaults to 'api'.frontendbackendserversystemapi
is_deletedbooleanSoft-delete flag. Excluded from default list queries.
deleted_atdate-timeStamped when soft-deleted; null otherwise.
deleted_byuuidPerson id who soft-deleted; null otherwise.
schema_versionnumberDocument schema version. Bumped on incompatible writes.
contract_iduuidUUID of the Contract this obligation belongs to.
titlestringShort descriptive title of the obligation (e.g. 'Submit quarterly SOC 2 attestation').
descriptionstringDetailed description of what is required to fulfil this obligation.
due_datedate-timeISO 8601 date by which this obligation must be completed. For recurring obligations this is the date of the next occurrence.
owner_person_iduuidUUID of the Person internally responsible for ensuring this obligation is met. Null if unassigned.
statusstringCurrent fulfilment status of the obligation. 'overdue' is set automatically when dueDate passes without completion. 'waived' requires an audit note.
recurringbooleanWhether this obligation repeats on a schedule. If true, recurrenceInterval must be set.
recurrence_intervalstringHow often the obligation recurs. Required when recurring is true; null otherwise.
notesstringInternal notes about this obligation, including waiver justifications or completion evidence references.