Case Operations
Update the lifecycle status of a case from discovered through confirmed and active to Closed. Transitions are forward-only and can carry resolution notes.
The case status endpoint manages the case lifecycle: PATCH /v1/cases/:key/status moves a case through discovered → confirmed → active → Closed as your team reviews it. Closed is the terminal state; the API payload value for it remains resolved. Any status update can carry optional resolution_notes documenting the decision.
The four states map to a review workflow. discovered is the initial state stamped when the synthesis build first materializes the case. confirmed records that a human verified the grouping is real, active marks the case as being worked, and resolved closes it. Transitions may skip states — moving discovered → resolved directly is valid — but never run backward, and setting the current status again is an allowed no-op.
Notes travel with the update: whenever resolution_notes is present in the body it overwrites the stored notes, at any status. To update the notes without advancing the lifecycle, send the case's current status together with the new notes. Sending an unknown status value — including validated, which is an internal audit stamp written by the platform validation surface, not a lifecycle state — returns a 400.
Closing a case has a side effect worth designing around: the transition into resolved publishes a case.resolved delivery event, which is the natural trigger for case-snapshot deliverables configured in Delivery. The event fires only on an actual transition — re-sending resolved on an already-Closed case is a no-op and does not re-trigger delivery.
resolved) is terminal. Optional resolution_notes can be attached with any status update./v1/cases/:key/statusBody parameters
Request
curl -X PATCH https://api.talonic.com/v1/cases/5c7fa78c-4d92-4613-9f42-9fe74458d8a9/status \
-H "Authorization: Bearer $TALONIC_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "status": "resolved", "resolution_notes": "All invoices reconciled." }'Response
The response is the updated case row.
Response fields
Response
{
"id": "5c7fa78c-4d92-4613-9f42-9fe74458d8a9",
"case_key": "8c1ca050535e3ea3",
"status": "resolved",
"display_name": "Acme Corp Q4 Invoices",
"resolution_notes": "All invoices reconciled."
}A typical review integration advances the case as work progresses: confirm it when a reviewer accepts the grouping, mark it active when reconciliation starts, and resolve it with notes when the work completes.
Request — advance to active
curl -X PATCH https://api.talonic.com/v1/cases/5c7fa78c-4d92-4613-9f42-9fe74458d8a9/status \
-H "Authorization: Bearer $TALONIC_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "status": "active" }'Errors
Error responses