---
title: "Forget a respondent"
method: DELETE
path: "/api/v1/manage/respondents/{id}"
tags: ["Respondents"]
---

# Forget a respondent

`DELETE /api/v1/manage/respondents/{id}`

## Request

- Base URL: `https://fillo.so`
- URL: `https://fillo.so/api/v1/manage/respondents/{id}`
- Auth: HTTP bearer

Erase a person inside the key's project (GDPR erasure), optionally with every response they submitted. The path accepts the profile id or the external id; a person named only by submit-time snapshots still resolves. Destructive (Tier C): `confirm` must equal the respondent's EXTERNAL id. Scope: respondents:delete — a danger-tier scope that is never part of a preset and must be named explicitly at mint.

## Path parameters

- `id` string, required

## Request body

- object
  - `confirm` string, required: The respondent's exact external id.
  - `alsoResponses` boolean: Also erase every response they submitted, with its files.

## Response `200`

The person was forgotten.

- object
  - `externalId` string, required
  - `forgotten` true, required
  - `responsesDeleted` integer, required
  - `profileDeleted` boolean, required

## Other responses

- `400`: Invalid request (e.g. a body on a GET/DELETE, or a missing required query parameter).
- `401`: Missing, malformed, unknown, revoked, or expired key.
- `403`: The key is valid but lacks the required scope.
- `404`: No such resource in this project (returned instead of 403 for ids in other projects).
- `409`: The request was understood but refused in this state — an unmet precondition, or a confirm value that did not match. Nothing was changed.
- `413`: The request body exceeded the 16 KiB management cap.
- `429`: Per-key (120/min), per-workspace (240/min), or per-IP (300/min) rate limit exceeded. Retry after the Retry-After header.

---

[API](https://skmtc.dev/fillo/apis/fillo-management-api.md) · [All operations](https://skmtc.dev/fillo/apis/fillo-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/fillo/apis/fillo-management-api/revisions/867f943f04f5?raw)
