# clear_site_analytics

Source: https://modulify.ai/docs/api/analytics/clear-site-analytics

Permanently deletes the entire visitor history of a site, with no export taken first.

- Title: Delete all visitor analytics
- Scope: `sites:delete`
- Access: Destructive
- Endpoint: `POST /v1/clear_site_analytics`

Every visitor, pageview and source ever recorded is erased and cannot be recovered. It needs the **Delete projects** permission in the workspace, so an ordinary member cannot run it, and unlike deleting a site there is no exemption for whoever created it.

Collection normally carries on, so new visitors start filling an empty history straight away. If the call reports a failure, treat the history as already gone and publish the site again, because a half-finished clear can leave the site unregistered and collecting nothing.

The tool tells the client never to call it to tidy up, only when you have asked for exactly this. It makes no analytics lookup. See [Danger zone](https://modulify.ai/docs/grow/analytics#danger-zone).

## Request

Call it with a `POST` to `https://api.modulify.ai/v1/clear_site_analytics`, sending the inputs below as a JSON object. The token needs the `sites:delete` 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_analytics \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"projectId":"PROJECT_ID"}'
```

Over MCP, the same method is the [clear_site_analytics tool](https://modulify.ai/docs/mcp/analytics/clear-site-analytics).

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