# clear_site_email_history

Source: https://modulify.ai/docs/api/emails/clear-site-email-history

Clears the whole email history of a site, while sending, this month's allowance and the blocked addresses stay as they are.

- Title: Clear the email history of a site
- Scope: `config:write`
- Access: Destructive
- Endpoint: `POST /v1/clear_site_email_history`

Every email the site sent disappears from `list_site_email_sends`, the stats, the **Emails** tab and the site's own `getEmail` and `listEmails`, and the cleared rows are erased for good 30 days later. Sending keeps working, and this month's allowance and the blocked addresses do not change.

There is no undo, so the tool tells the client to confirm with you first. **Export history** in the danger zone of the **Emails** tab downloads a full copy first, and with an access token, over MCP or the [HTTP API](https://modulify.ai/docs/api), `list_site_email_sends` pages through the same history. It needs the **Delete projects** permission. See [Danger zone](https://modulify.ai/docs/automations/emails#danger-zone).

## Request

Call it with a `POST` to `https://api.modulify.ai/v1/clear_site_email_history`, sending the inputs below as a JSON object. The token needs the `config:write` scope.

> **Warning**
>
> This method is marked destructive: it deletes or overwrites data. Check the inputs before you call it, and send an [Idempotency-Key](https://modulify.ai/docs/api/idempotency) header whenever you might retry it.

```bash
curl -X POST https://api.modulify.ai/v1/clear_site_email_history \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"projectId":"PROJECT_ID"}'
```

Over MCP, the same method is the [clear_site_email_history tool](https://modulify.ai/docs/mcp/emails/clear-site-email-history).

## Inputs

| Input | Type | Required | Description |
| --- | --- | --- | --- |
| `projectId` | string | Yes | The site id. |

## Response

Every call answers with the [JSON envelope](https://modulify.ai/docs/api/requests-and-responses#the-response) of `success`, `message`, `data`, `code` and `version`. `data` holds the result described above, and on a method that returns a total, `count` carries it. The [response headers](https://modulify.ai/docs/api/requests-and-responses#headers-on-every-method-call) carry the call's `X-Request-Id` and what is left of your per-minute budget in `X-RateLimit-Limit`, `X-RateLimit-Remaining` and `X-RateLimit-Reset`. [Errors](https://modulify.ai/docs/api/errors) explains every status code a call can answer with.