# Withdraw an edge without erasing it

`DELETE /api/v1/task-links`

MCP tool: `retract-link`

Withdraws an edge without deleting it: it stops gating readiness and stays in the record, kept in the source task's history with its `basis`. Writing it again un-retracts it. An edge that is not there answers `retracted: false`, not an error.

## Parameters

- `from` (query, required) — The source task's id.
- `to` (query, required) — The target task's id.
- `kind` (query, required) — The edge's kind, as `get-task` lists it.
- `basis` (query, optional) — Why, kept in the task's history: a `task_…` (the standing rule you act under) or an http(s) URL. Optional; repeat for several.
- `said` (query, optional) — The person's answer that approved it, verbatim.

## Responses

- `200` — Whether an edge was retracted
- `400` — The request body does not match the operation's schema
