Decision Log
Read the append-only field review decision log: who decided what, prior and final values, action, and reason. Filter to one pipeline or read the org-wide log.
Read the field-review decision log as JSON. The log is the append-only audit trail of every review resolution: for each decision it records who decided, the field, the action (approve, correct, override), the prior and final values, the triggering gate, and the reason note. This is the handover artifact a customer reviews to see exactly how every held value was settled.
Filter to a single run with pipeline_id, or omit it for the org-wide log across every run. Each entry ties back to its pipeline, document, and field, and carries the decider: API-driven resolutions are attributed to the api actor, while app resolutions carry the reviewer's name. The log is ordered newest decision first.
Decisions are immutable once written: resolving the same field again appends a new row rather than editing the old one, so the log is a complete chronological record. For a spreadsheet-friendly export of the same data, use the CSV decisions export endpoint. This endpoint requires an API key with the read scope.
/v1/field-reviews/decisionsQuery parameters
curl
curl -s "https://api.talonic.com/v1/field-reviews/decisions?pipeline_id=a1b2c3d4-e5f6-7890-abcd-ef1234567890" \
-H "Authorization: Bearer tlnc_your_api_key"Response
Response fields
Response
{
"total": 1,
"entries": [
{
"id": "dec_uuid_1",
"pipelineId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"pipelineDocumentId": "pd_uuid_1",
"documentId": "doc_uuid_1",
"documentName": "lease_oct.pdf",
"fieldKey": "total_amount",
"triggerType": "gate",
"stageName": "Amount reconciliation",
"action": "correct",
"priorValue": "12,500.00",
"finalValue": "12500.00",
"reason": "Stripped thousands separator to match field format.",
"decidedBy": null,
"decidedByName": "api",
"decidedAt": "2024-09-14T11:20:05.000Z",
"recommendedAction": null,
"recommendationId": null,
"recommendedByName": null,
"decidedByEmail": null,
"recommendedByEmail": null
}
]
}Errors
Error responses
Frequently asked questions
How are API-driven decisions attributed?+
decidedByName of api and a null decidedBy user id, so they are attributable without forging a user record. App resolutions carry the reviewer's name and, when the user record still exists, their email (decidedByEmail).Can I get the whole organization's log at once?+
pipeline_id to read the org-wide decision log across every run. Pass pipeline_id to scope to a single run for a per-run handover.