---
title: "Start linking an email identity onto the signed-in user"
method: POST
path: "/api/v1/me/identities/email/start"
tags: ["Account"]
---

# Start linking an email identity onto the signed-in user

`POST /api/v1/me/identities/email/start`

## Request

- Base URL: `https://api.uptimemonitoring.com`
- URL: `https://api.uptimemonitoring.com/api/v1/me/identities/email/start`
- Auth: HTTP bearer

Session-only. Sends a link (`{FRONTEND_URL}/settings/email#token=<tok>`)
and a six-digit code, both valid for 10 minutes, reusing the same
sender/rate limiters as `/oauth/email/start`. Never reveals whether
the address is already linked to another user — that answer only
comes at verify, after ownership is proven.

## Request body

- object
  - `email` string, email, required

## Response `202`

Byte-identical for a known or unknown address.

- object
  - `status` string

## Other responses

- `400`: Invalid request.
- `403`: Caller did not authenticate via a dashboard session.
- `413`: Request body exceeds the 64 KB hard limit. Per docs/SPEC.md §Hard Limits the dispatcher rejects any payload larger than 65,536 bytes before it is decoded.
- `415`: The request `Content-Type` is not `application/json`. Write operations (POST, PUT, PATCH) require that header; a missing or non-JSON media type is rejected before the body is read. The `charset` parameter is accepted and ignored, so `application/json; charset=utf-8` is valid.
- `503`: Email sign-in is disabled.

---

[API](https://skmtc.dev/uptimemonitoring/apis/uptimemonitoring-com-api.md) · [All operations](https://skmtc.dev/uptimemonitoring/apis/uptimemonitoring-com-api/llms.txt) · [OpenAPI document](https://skmtc.dev/uptimemonitoring/apis/uptimemonitoring-com-api/revisions/ddcb2a8bc70f?raw)
