---
title: "Delete Mission"
method: DELETE
path: "/actions/mission/{mission_id}"
---

# Delete Mission

`DELETE /actions/mission/{mission_id}`

## Request

- Base URL: `https://api.signalpipe.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.signalpipe.io/actions/mission/{mission_id}`
- Auth: none declared

Hard-delete a mission row. No RL signal — use for noise/duplicates.

v3.7.17 — when the sidecar's swarm-suppress path calls this with
`?reason=swarm_suppressed&fused=..&skeptic=..&analyst=..&optimist=..`,
we first emit a `mission_suppressed` event capturing the scout's
raw_score alongside the swarm S/A/O scores BEFORE deleting. This closes
the observability blind spot that hid the ~2-day, ~100% suppression
incident (drought began 2026-05-28 09:20:35): missions were created,
deleted, and left no trace, so the queue going dry looked like an empty
feed rather than mass over-veto. The raw_score vs fused-score gap in
each event is the Case-A (correct junk kill) vs Case-B (buyer wrongly
vetoed) discriminator — a high scout raw_score with a pinned fused~0.20
flags a buyer we shouldn't have dropped. Manual MCP/UI deletes pass no
`reason`, so their behavior is unchanged (no event, no extra read).

## Path parameters

- `mission_id` string, required

## Query parameters

- `reason` string, nullable
- `fused` number, nullable
- `skeptic` number, nullable
- `analyst` number, nullable
- `optimist` number, nullable

## Headers

- `authorization` string

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/signalpipe/apis/mantidae-v3-0.md) · [All operations](https://skmtc.dev/signalpipe/apis/mantidae-v3-0/llms.txt) · [OpenAPI document](https://skmtc.dev/signalpipe/apis/mantidae-v3-0/revisions/14f89c374730?raw)
