Skip to main content

Delete Pipeline

Delete a document processing pipeline run and its owned data: value cells, record sets, cascaded documents, and field states. The seed record set survives.

DELETE /v1/pipelines/{id} deletes a pipeline run and the data it owns. Deletion removes the run's value cells, its owned record sets, and cascades to its pipeline documents, field states, validation results, and review decisions. The Spec's seed record set (the shared registry the run read from) is not touched, so deleting a run never damages the source data other runs depend on.

Deletion runs inside a transaction so the run and its owned data are removed atomically. This is a destructive, irreversible operation: the extracted cells, the compiled phase config, and the per-document state for this run are gone. If you produced a data product from the run, manage that separately through the data-products endpoints.

For a full cleanup, order matters: the data product is not removed by this endpoint — it survives with its reference to the deleted run's record set cleared, so its share links stop serving rows but the product shell remains. Archive or delete the product through the data-products endpoints (before or after this call), and treat the pipeline delete as the step that actually destroys the extracted values.

A run can be retained: when its published output is pinned by an active Business Rule evaluation or a reconciliation case, deletion is refused with 409 until that consumer releases the hold — deleting the run would break the replay guarantee the consumer depends on. Holds the run itself placed on other publications are released as part of the delete, so a deliberate deletion never leaves dangling references behind.

The run is tenant-scoped: a run that belongs to another organization returns 404 not_found. The master view (all) can read runs but cannot delete them, since deletion is a tenant-scoped mutation. The response confirms the deletion with the deleted run's id. This endpoint requires an API key with the write scope.

Deletion is irreversible. The run's value cells, record sets, documents, field states, validation results, and review decisions are permanently removed. The Spec's seed record set is preserved.
DELETE/v1/pipelines/{id}

Request

curl -X DELETE https://api.talonic.com/v1/pipelines/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
  -H "Authorization: Bearer $TALONIC_API_KEY"

Response

Response fields

deletedbooleanAlways true on success.
idstringUUID of the deleted pipeline run.

Response

{
  "deleted": true,
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}

Errors

Error responses

400bad_requestInvalid pipeline ID format, or an active organization is required (the master view cannot delete).
401unauthorizedMissing or invalid API key.
404not_foundNo pipeline with this ID exists for your organization.
409conflictThe run is retained by an active Business Rule evaluation or reconciliation case. Release that hold, then retry.
429rate_limitedToo many requests. Retry after the period indicated in the Retry-After header.

Frequently asked questions

Does deleting a run delete its source documents?+
No. Deletion removes the run's owned data (value cells, record sets, documents, field states), but the Spec's seed record set and the underlying source documents are untouched.
Can I undo a delete?+
No. Deletion is irreversible and runs inside a transaction. Re-running the Spec produces a fresh pipeline run with new ids.
Why is my delete rejected with 409?+
The run's published output is pinned by an active Business Rule evaluation or a reconciliation case that depends on replaying it. Resolve or release that consumer first — deletion is the enforcement boundary for the retention guarantee, so it fails closed while a hold is active.
What happens to a data product produced from the deleted run?+
The data product is not removed by this endpoint — it survives with its reference to the deleted run's record set cleared. Manage it separately through the data-products endpoints if you also want the delivery surface gone.
What do reads of the run return after the delete?+
GET /v1/pipelines/{id}, /progress, and /results all return 404 not_found once the delete commits, and the run no longer appears in GET /v1/pipelines. Treat that 404 as terminal in polling loops: stop polling and drop any cached poll URLs, since the id will never resolve again.