---
title: "Delete feedback records by user ID"
method: DELETE
path: "/v1/feedback-records"
tags: ["Feedback Records"]
---

# Delete feedback records by user ID

`DELETE /v1/feedback-records`

Permanently deletes feedback record data points for the specified user_id/data subject.
Omit tenant_id to delete that user_id across all tenants for GDPR Article 17 (Right to Erasure)
requests. Provide tenant_id to restrict deletion to that tenant only. Derived embeddings for deleted
feedback records are removed by database cascade. The operation is idempotent; repeated calls return
deleted_count 0 after matching records have already been deleted.

## Query parameters

- `user_id` string, required — Delete records matching this user ID (required). NULL bytes not allowed.
- `tenant_id` string — Optional tenant scope. Omit this parameter to delete all records matching user_id across tenants; provide it to delete only records for this tenant. Empty strings and NULL bytes are not allowed.

## Response `200`

OK

- DeleteFeedbackRecordsByUserOutputBody
  - `deleted_count` integer, required — Number of records deleted
  - `message` string, required — Human-readable status message

## Other responses

- `400` — Bad Request (e.g. validation error on query parameters)
- `409` — Conflict (code `tenant_write_conflict`) – the erasure could not be serialized: either a tenant data purge is in progress for a tenant holding records for this user, or the user's records changed mid-deletion (drift guard). No records were deleted. The conflict is transient; retry the request.
- `default` — Error

---

[API](https://skmtc.net/formbricks/apis/formbricks-hub-api.md) · [All operations](https://skmtc.net/formbricks/apis/formbricks-hub-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/formbricks/formbricks-hub-api/revisions/8d06d9728138/schema)
