# clear_webhook_deliveries

Source: https://modulify.ai/docs/api/webhooks/clear-webhook-deliveries

Clears a site's stored webhook delivery log from view and reports how many entries went.

- Title: Clear the delivery log
- Scope: `config:write`
- Access: Destructive
- Endpoint: `POST /v1/clear_webhook_deliveries`

Pass a `webhookId` to clear the log of one webhook, or leave it out for every webhook on the site. Entries are flagged rather than erased, so they leave the log and the counts of `get_webhook_delivery_stats` at once and are deleted for good 30 days later.

The webhooks themselves are untouched and keep firing, but a cleared delivery that was still being retried is not tried again. It needs the **Delete projects** permission in the workspace, the same one the danger zone of the Webhooks tab asks for. See [Webhooks](https://modulify.ai/docs/automations/webhooks#export-and-clear).

## Request

Call it with a `POST` to `https://api.modulify.ai/v1/clear_webhook_deliveries`, 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_webhook_deliveries \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"projectId":"PROJECT_ID"}'
```

Over MCP, the same method is the [clear_webhook_deliveries tool](https://modulify.ai/docs/mcp/webhooks/clear-webhook-deliveries).

## Inputs

| Input | Type | Required | Description |
| --- | --- | --- | --- |
| `projectId` | string | Yes | The site id. |
| `webhookId` | string | No | Clear only this webhook. Leave it out to clear the log of every webhook on the site. |

## 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.