> ## Documentation Index
> Fetch the complete documentation index at: https://docs.uptimeio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Email

> Receive monitor alerts by email and verify the address

Email destinations send alerts to a single address. They must be verified before they receive anything.

## Add an email destination

<Steps>
  <Step title="Open Destinations">
    Click **Destinations** in the sidebar, then **Add Destination**, then choose **Email**.
  </Step>

  <Step title="Fill in the details">
    | Field | Required | Description |
    | - | - | - |
    | **Name** | Yes | A label for the destination, up to 255 characters. |
    | **Email address** | Yes | A valid address, up to 255 characters. |
  </Step>

  <Step title="Choose events">
    Toggle which events this address receives. All are enabled by default; at least one must stay enabled. See [Events](/notifications/overview#events).
  </Step>

  <Step title="Verify the address">
    Unless the address already belongs to an active member of your organization, UptimeIO emails a 12-character verification code. Enter it next to the pending destination on the **Destinations** page.
  </Step>

  <Step title="Assign it to monitors">
    Select the destination in each monitor's **Notifications** section.
  </Step>
</Steps>

## Verification

* Addresses of active organization members are verified automatically.
* Other addresses get a 12-character hexadecimal code. The code expires after 24 hours.
* Use **Resend Code** if it does not arrive. The dashboard enforces a 30-second wait between resends, and resending is limited to 3 requests per hour per destination.
* A destination that is not verified does not receive alerts.

## Test the destination

Use **Test** on the destination to send a test email. Each destination can send 3 test emails per day.

## What an email contains

The subject names the event and the monitor, for example `[UptimeIO] Monitor Down: API Server`. The body includes the monitor name and URL, when it started, the error details and a link to the incident.

## Events

| Event | Preference key |
| - | - |
| Monitor goes down | `on_failure` |
| Monitor recovers | `on_recovery` |
| SSL certificate warnings | `on_ssl_expiry` |
| Domain expiry warnings | `on_domain_expiry` |
| Response time exceeds threshold | `on_slow_response` |
| Response time returns to normal | `on_slow_response_resolved` |

## Create an email destination with the API

The dashboard uses `POST /api/integrations`. Authenticate with a session token; see [Authentication](/api-reference/authentication).

```json theme={null}
{
  "type": "EMAIL",
  "name": "Team email",
  "configuration": { "email": "team@example.com" },
  "events": {
    "on_failure": true,
    "on_recovery": true,
    "on_ssl_expiry": true,
    "on_domain_expiry": true,
    "on_slow_response": true,
    "on_slow_response_resolved": true
  }
}
```

Verify with `POST /api/integrations/{instanceId}/verify` and body `{ "code": "<12-character code>" }`.

## Troubleshooting

| Issue | Solution |
| - | - |
| Not receiving emails | Check spam, confirm the destination is verified, assigned to the monitor, and the event is enabled. |
| Verification email not arriving | Check spam, then use **Resend Code**. |
| Wrong events received | Edit the destination and adjust its event toggles. |

## Next steps

<CardGroup cols={2}>
  <Card title="Setting Up Alerts" icon="bell" href="/essentials/setting-up-alerts">
    Assign destinations to monitors
  </Card>

  <Card title="Notifications Overview" icon="bell" href="/notifications/overview">
    Events and delivery
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.