Delete Package Config
Delete a matching package config by ID. The delete cascades to every run created from the config and is permanent, so export run history you need first.
Delete a matching package config by its UUID. The delete cascades: every package run created from this config is removed along with it. The config must belong to your organization, and this endpoint requires the write scope.
Because the cascade removes run history, deleting a config is destructive. If you need to keep the runs for audit, export them via the runs list endpoint before deleting — page through GET /v1/matching/packages/runs?package_config_id=<id> and persist the pages, since after the delete those runs are gone from the API. Deletion is permanent and cannot be undone.
The cascade is scoped to the package layer only. The per-type matching configs referenced by the slots, their reference datasets, and any single-document matching runs under /v1/matching are untouched — a package config is a thin orchestration layer, and deleting it never deletes the building blocks it points at. Other package configs referencing the same matching configs keep working.
The lookup is tenant-scoped. Attempting to delete a config that does not exist, or that belongs to another organization, returns 404 not_found. A successful delete returns { "deleted": true }. The call is not idempotent at the HTTP level: a retry of an already-successful delete gets a 404 because the config is gone — so in retry logic, treat a 404 on a delete you previously attempted as success rather than an error worth alerting on.
A deleted config id also invalidates future run triggers immediately: POST /v1/matching/packages/runs resolves package_config_id before executing, so any pipeline still pointing at the deleted id starts failing with 404 not_found on its next trigger. Repoint those callers to the replacement config before deleting, not after, if you are swapping configs in place.
Export run history first
# Page through the config's runs and save them before deleting
curl -s "https://api.talonic.com/v1/matching/packages/runs?package_config_id=4f2a9c1e-8b3d-47e6-9a05-c7d1e2f3a4b5&limit=100" \
-H "Authorization: Bearer tlnc_your_api_key" > runs-page-1.json
# Repeat with ?cursor=<next_cursor> until has_more is false/v1/matching/packages/configs/{id}Path parameters
curl
curl -X DELETE https://api.talonic.com/v1/matching/packages/configs/4f2a9c1e-8b3d-47e6-9a05-c7d1e2f3a4b5 \
-H "Authorization: Bearer tlnc_your_api_key"Response
Response fields
Response
{
"deleted": true
}Errors
Error responses