# Delete Connection

```
DELETE 
/v1/connections/:connection_id
```

Delete a connection. REFUSES one that still feeds datasets.

Deleting a connection removes exactly one row. Nothing cascades: a dataset names its connection inside its own `config` JSON, where no foreign key can reach it. So the datasets built on a deleted connection are neither removed nor disabled — they keep their last ingested rows and keep feeding dashboards that go on looking current, while no refresh on them can ever run again. That failure has no symptom, which is why it is refused here rather than reported afterwards.

**409** — the connection still feeds datasets, or the dependent list could not be read. Nothing was touched, and the same call succeeds once the datasets are deleted or repointed. `detail.blockers[].blocking_datasets` names each one by `id` and `name`. A list that could not be READ refuses too (`CONNECTION_DEPENDENTS_UNKNOWN`): a count nobody could check must never be read as "there were none", and here that misreading cannot be undone.

`force=true` deletes anyway and strands whatever was listed — read the refusal first. The credential goes with the row and cannot be read back beforehand, so re-creating the connection means re-entering the secret.

**204** — deleted. **404** — no such connection in this account. **403** — a connection you may see and may not delete (a Creator may delete only a connection they created; one with no recorded owner is admin-only).

## Request[​](#request "Lien direct vers request")

## Responses[​](#responses "Lien direct vers Responses")

* 204
* 404
* 409
* 422

Successful Response

Not found

The connection still feeds datasets, or what it feeds could not be established. Nothing was deleted. The body names every dependent under `detail.blockers[].blocking_datasets`.

Validation Error
