> For the complete index of the 402pay docs, see [llms.txt](https://developer.402pay.co/llms.txt).

# Cancel an alert email change

Drop the alert address waiting for its code, so alerts keep going where they go now.

`POST https://dash.402pay.co/api/v1/businesses/{id}/alert-email/cancel`

Drops `pending_alert_email` and its code, so alerts keep going to `alert_email`. With nothing waiting, it returns the business as it is. It takes a person signed in to the dashboard, never an API key.

### Path

- `id` (string, required): The business's ID, such as `biz_Nq4sT8vWx2Lm6Rb1`.

### Errors

- 403 `session_required` An API key sent the request. Only a person signed in to the dashboard can send.
- 404 `not_found` You don't own a business with that ID.

Any request can also fail on its key or its body. See [errors](https://developer.402pay.co/api/errors.md).

Request, Browser:

```js
// On a dashboard page, whose session cookie the browser sends.
const response = await fetch("/api/v1/businesses/biz_Nq4sT8vWx2Lm6Rb1/alert-email/cancel", {
  method: "POST",
  headers: {
    "402pay-Business": businessId,
  },
});
const { data } = await response.json();
```

Response, 200 OK:

```json
{
  "data": {
    "id": "biz_Nq4sT8vWx2Lm6Rb1",
    "kind": "business",
    "name": "Acme Studio",
    "website": "https://example.com",
    "support_email": "billing@example.com",
    "alert_email": "payments@example.com",
    "pending_alert_email": null,
    "status": "active",
    "suspended_at": null,
    "email_alerts": true,
    "product_updates": false,
    "created_at": "2026-05-09T21:18:42.216Z",
    "updated_at": "2026-09-24T10:02:51.338Z"
  }
}
```
