DESTRUCTIVE

delete_epic

Deletes an epic after the person confirms; the work items under it stay without an epic.

Delete an epic by epic_id. Its reference is never reused and the work items under it stay, without an epic. The removal goes through the same action the Epics page runs and epic.deleted goes out. The tool is destructive: a Heimdall turn pauses for the person's confirmation and an MCP client asks before sending. Prefer moving an epic to cancelled with update_epic, so the record keeps what was once in scope. A staff token with epic:delete on the project is needed.

Requires ability

The token behind the MCP session must hold it, or the call is refused with TOKEN_MISSING_ABILITY.

Runs the same action as

The REST endpoint and this tool share one action, so validation, permissions and events are identical.

Fires one event

Delivered to every endpoint subscribed to it once the change is made.

Annotations

Destructive

A client that honours annotations asks a person before running it.

Arguments

epic_id*string

UUID of the epic to delete.

What it returns

{  "data": {    "epic_id": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",    "deleted": true  }}

How it fails

RESOURCE_NOT_FOUND

unknown epic_id, or an epic outside the token's scope or the person's visibility.

FORBIDDEN

the token is a client guest's, or the holder's role on the project does not carry epic:delete.

TOKEN_MISSING_ABILITY

token lacks epic:delete.

How is this guide?

Last updated on