Contract Register and 360 View
List the contract register with status, dates, annual value and direction, then open the 360 view of one contract with every term, document and its source quote.
GET /v1/contracts returns every contract of the workspace, filtered by q, status and key. Each entry carries the status, the dates that matter (effective date, expiry, notice deadline, termination), the annual value, the document count, the next open key date, a summary of the open process items and the links to Price Baseline and Money Found. The response is { "data": [...] } and is not paginated; it is ordered by counterparty, then contract key.
direction states whether the workspace sells under the contract, buys under it or the contract is internal. It is derived on read from the parties the documents name, compared with the workspace's own company names, so changing the own company names needs no backfill. direction_source is read when a document states it and rule when the platform estimated it from the contract type; both are null when the documents name no company of the workspace, and direction_why then gives the reason.
/v1/contractsQuery parameters
Entry fields (data[])
cURL: Terminated contracts of one counterparty
curl "https://api.talonic.com/v1/contracts?status=terminated&q=musterstadt" \
-H "Authorization: Bearer $TALONIC_API_KEY"The 360 View
GET /v1/contracts/{id} returns everything the platform knows about one contract. contract is the folded record; its terms object maps each canonical field name to a value with document_id and quote. not_maintained marks a field that is deliberately empty, and computed marks a value the fold derived from another term (the cited document then states that other term, not this one). documents lists the contract's documents in fold order, each with its role, whether it is excluded, the key a person gave it, and the terms read from it.
Around the contract the view carries its working surface: issues (open problems with the documents concerned), document_history (the edit history per document, newest first, at most 20 entries each), related_documents (letters, e-mails and protocols that are not read for terms), captured (what the workspace's active data products captured from the contract's documents; a value held for review is returned as status only), key_dates, processes, links, the current decision, the decision history (newest first, at most 50 entries) and term_fields, the term vocabulary with each field's value type.
/v1/contracts/{id}Path parameters
Response fields
Response: A term with its source (excerpt)
{
"contract": {
"id": "6f1c2a9e-1d4b-4a7e-9c33-2b8a5e0d7f11",
"contract_key": "1043020-WLV",
"key_source": "filename",
"status": "active",
"expiry_date": "2026-12-31",
"printed_expiry": "2025-12-31",
"terms": {
"notice_months": {
"value": 6,
"document_id": "0b7d3c1e-5f2a-4c68-8a19-7e4d9b2c6a30",
"quote": "Die Kuendigungsfrist betraegt sechs Monate zum Vertragsende."
},
"governing_law": { "value": null, "not_maintained": true }
},
"computed_on": "2026-05-06"
},
"documents": [
{ "id": "d2a8e1f4-9b3c-4d57-a6e0-1c5f8b7a2d93", "document_id": "0b7d3c1e-5f2a-4c68-8a19-7e4d9b2c6a30", "filename": "1043020-WLV_Vertrag.pdf", "role": "master", "excluded": false, "extracted": true }
],
"issues": [],
"decision": null
}title, counterparty, our_party, our_side, family, site, signed_date, effective_date, service_start, expiry_date, initial_term_months, auto_renewal, renewal_term_months, notice_days, notice_months, terminated_on, annual_value, currency, escalation_pct, escalation_date, min_commitment, cap_amount, payment_terms_days, governing_law and is_draft.printed_expiry appears when auto-renewal moved the end in force past the printed end. The fold rolls an auto-renewing contract forward to the first term whose notice deadline is still ahead: a missed deadline counts as a renewal, not as a date to meet. A termination contributes its end, never a new start.