---
title: "Poll the status of a pending agent deletion"
method: GET
path: "/agents/{agent_id}/deletion-status"
tags: ["Agents"]
---

# Poll the status of a pending agent deletion

`GET /agents/{agent_id}/deletion-status`

## Request

- Base URL: `https://api.mnemom.ai/v1`
- URL: `https://api.mnemom.ai/v1/agents/{agent_id}/deletion-status`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Mnemom-Api-Key`
  - API key in cookie `mnemom_session`

Returns the most-recent `deletion_request` row for the agent. Status progresses: `tombstoned` → `phase_N_complete` → `kv_cleared` → `pseudonymized` → `complete` (or `failed` at any phase). Used to track the async GDPR Art. 17 cascade kicked off by `DELETE /agents/{agent_id}`. See ADR-021.

Readable by members of the agent's org. Once the cascade has erased the agent, readable by the requester and by members of the org recorded on the request. Any other caller receives `404`, the same as when no request exists.

## Path parameters

- `agent_id` string, required

## Response `200`

Deletion request status.

- DeletionRequestStatus: Tracks progress of the async GDPR Art. 17 deletion cascade (ADR-021).
  - `deletion_request_id` string, required
  - `status` 'received' | 'tombstoned' | 'phase_1_complete' | 'phase_2_complete' | 'phase_3_complete' | 'phase_4_complete' | 'phase_5_complete' | 'phase_6_complete' | 'phase_7_complete' | 'kv_cleared' | 'pseudonymized' | 'complete' | 'failed', required
  - `requested_at` string, date-time, required
  - `completed_at` string, date-time, nullable
  - `failed_phase` string, nullable
  - `failed_reason` string, nullable
  - `retry_count` integer, required

## Other responses

- `400`: Bad request
- `401`: Authentication required
- `403`: Forbidden
- `404`: Resource not found
- `429`: Rate-limit exceeded. The global per-IP limiter (100 requests/minute, applied to every `/v1/*` route) rejected this request. Back off until the window resets — `Retry-After` carries the cooldown in seconds and `X-RateLimit-Reset` the absolute reset time.
- `500`: Server error — request was well-formed but the server failed to fulfill it. Typically a downstream dependency (DB / RPC / external API) returned an unexpected error.

---

[API](https://skmtc.dev/mnemom/apis/mnemom-api.md) · [All operations](https://skmtc.dev/mnemom/apis/mnemom-api/llms.txt) · [OpenAPI document](https://skmtc.dev/mnemom/apis/mnemom-api/revisions/274b7a6ea182?raw)
