---
title: "Verify Email"
method: POST
path: "/api/v1/auth/verify-email"
tags: ["auth"]
---

# Verify Email

`POST /api/v1/auth/verify-email`

Redeem a signup verification link and continue into admission.

Rate Limited: 5 requests per minute per IP address.

Does not require authentication — the link is the credential, matching the
account-setup redeem path. Each refusal gets its own status so the page can
tell the user what to do next; none of them names an account.

## Request body

- EmailVerificationRequest — Request model for redeeming a signup email-verification link.
  - `token` string, required

## Response `200`

Successful Response

- SignupResponse — Where a signup ended up. ``account_id`` is absent for the two outcomes that create no account — an address that already has one, and one still waiting on its verification link.
  - `status` 'admitted' | 'waitlisted' | 'preparing' | 'verification_required' | 'already_registered', required
  - `account_id` string, uuid, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/maia-analytics/apis/maia-api.md) · [All operations](https://skmtc.net/maia-analytics/apis/maia-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/maia-analytics/maia-api/revisions/136e4af4d514/schema)
