---
title: "Delete contacts in bulk"
description: "Deletes up to 200 addresses in one call, each the way `DELETE /contacts/{email}` deletes one: a saved contact goes with its notes, photo and audience memberships, and every address is hidden, so a send does not record it again."
url: "https://openemail.uk/docs/api/contacts/batch-delete"
area: "API"
category: "Mailbox"
---

# Delete contacts in bulk

Deletes up to 200 addresses in one call, each the way `DELETE /contacts/{email}` deletes one: a saved contact goes with its notes, photo and audience memberships, and every address is hidden, so a send does not record it again.

`POST /contacts/batch-delete`

## POST /contacts/batch-delete

Deletes up to 200 addresses in one call, each the way `DELETE /contacts/{email}` deletes one: a saved contact goes with its notes, photo and audience memberships, and every address is hidden, so a send does not record it again.

## Example

Needs `contacts:write`.

**curl**

```
curl -X POST "$OE/contacts/batch-delete" -H "$AUTH" -H 'content-type: application/json' -d '{
  "emails": ["ada@example.com", "offers@shop.example", "not-an-address"]
}'
```

**Response**

```
{
  "object": "contact_batch_delete",
  "deleted": 2,
  "saved": 1,
  "invalid": ["not-an-address"]
}
```

> `deleted` counts the addresses deleted and hidden, saved or only seen in mail, and `saved` how many of them were saved contacts. An entry that is not an address comes back in `invalid` and the rest still go through.

> A repeated address counts once, and sending the same call again changes nothing. There is no undo.
