Retire a source
const url = 'https://example.com/v1/datasets/canonical/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0';const options = {method: 'DELETE', headers: {'X-API-Key': '<X-API-Key>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request DELETE \ --url https://example.com/v1/datasets/canonical/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \ --header 'X-API-Key: <X-API-Key>'Retire one source: it leaves the catalog, and its episodes leave the lake and every facet count.
A TOMBSTONE, not a purge. Nothing is erased and no storage is reclaimed —
ADR 0017 keeps physical deletion separate, and the schema agrees: pinned
DatasetVersions resolve through this source’s episode identities and must
keep resolving. pinned_versions_retained reports how many do.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Query Parameters
Section titled “Query Parameters ”Act on this account (active)
Act on this account (active)
Responses
Section titled “ Responses ”Retired (or already retired — the call is idempotent)
Result of retiring a source.
object
False when the source was already retired; the call is idempotent
Name the source had at retirement
Episodes that left the lake with it
Source-bound dataset definitions retired alongside it
Pinned DatasetVersions that still resolve through this source. Retirement is a tombstone, so these keep working and no bytes are freed.
Example generated
{ "retired": true, "dataset_name": "example", "episodes_hidden": 1, "dataset_defs_retired": 1, "pinned_versions_retained": 1}Invalid or missing API key
Standard error response.
object
Error message describing what went wrong
Example generated
{ "detail": "example"}Unknown source, or outside the caller’s account
Validation Error
object
object
object
Example generated
{ "detail": [ { "loc": [ "example" ], "msg": "example", "type": "example", "input": "example", "ctx": {} } ]}