---
title: "Verify an email and activate the account"
method: POST
path: "/auth/email-verifications/confirm"
tags: ["Auth"]
---

# Verify an email and activate the account

`POST /auth/email-verifications/confirm`

## Request

- Base URL: `https://api.flashdata.dev/v2`
- URL: `https://api.flashdata.dev/v2/auth/email-verifications/confirm`
- Auth: none required

Atomically consumes the one-time token, activates the Account and User, and initializes the Pay As You Go subscription with a zero-Credits balance. It does not create a Session; the user must log in explicitly.

## Request body

- TokenRequest
  - `token` string, required

## Response `200`

Account activated

- object: Deleted accounts are only returned through authorized Admin projections; their identity fields are redacted.
  - `id` string, required
  - `name` string, required
  - `email` string, email, nullable, required
  - `status` 'active', required
  - `emailVerified` true, required
  - `legalAcceptanceRequired` boolean, required
  - `role` 'user' | 'admin', required
  - `timezone` string, required
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required

## Other responses

- `410`: One-time token is invalid, expired, invalidated, already used, or lost a concurrent confirmation race. Problem.code is `token_unavailable`.
- `422`: Anonymous authentication request validation failed
- `429`: Anonymous authentication rate limit exceeded
- `500`: An unexpected anonymous authentication error occurred
- `503`: An anonymous authentication dependency is temporarily unavailable

---

[API](https://skmtc.dev/flashdata/apis/flashdata-customer-api.md) · [All operations](https://skmtc.dev/flashdata/apis/flashdata-customer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/flashdata/apis/flashdata-customer-api/revisions/109179fe9313?raw)
