---
title: "Batch Delete Contacts"
method: POST
path: "/v1/contacts/bulk-delete"
tags: ["Contacts"]
---

# Batch Delete Contacts

`POST /v1/contacts/bulk-delete`

Delete up to 1000 contacts by email in a single request. Requires API key with audience:write. Partial-success-safe: emails with no matching contact are returned in `notFound`, never treated as errors.

## Headers

- `Idempotency-Key` string

## Request body

- BatchDeleteContactsRequest
  - `emails` string[], required — Email addresses to delete (1-1000 per request).
  - `projectId` string, required

## Response `200`

Batch delete result

- ApiResponseBatchDeleteResult
  - `success` boolean, required
  - `data` object, nullable
    - `deleted` integer — Number of contacts actually deleted.
    - `notFound` string[] — Submitted emails with no matching contact (not an error).
  - `error` string, nullable

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden - Missing required permissions or access denied
- `409` — Conflict - the Idempotency-Key was reused with a different request body (code: IDEMPOTENCY_CONFLICT)

---

[API](https://skmtc.net/migma/apis/migma-ai-api-v1.md) · [All operations](https://skmtc.net/migma/apis/migma-ai-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/migma/migma-ai-api-v1/revisions/2d06ad0e0bc3/schema)
