---
title: "Confirm an email address with a PocketBase verification token"
method: POST
path: "/api/auth/verify-email"
tags: ["account"]
---

# Confirm an email address with a PocketBase verification token

`POST /api/auth/verify-email`

## Request

- Base URL: `https://voltplan.app`
- URL: `https://voltplan.app/api/auth/verify-email`
- Auth: none required

No authentication. Calls `users.confirmVerification(token)` with an unauthenticated PocketBase client (`POCKETBASE_URL`); no superuser client is involved. A PocketBase 404 or a token field error answers 400; any other PocketBase failure answers 500 with the PocketBase field errors in `details`. A truthy non-string `token` (e.g. a number) is not rejected up front and ends in 500 `Failed to verify email`. A non-JSON or `null` body answers 500 `Internal server error`.

## Request body

- AuthVerifyEmailRequest
  - `token` string, required: Verification token from the PocketBase verification email link; used as sent.

## Response `200`

Email address verified.

- AuthVerifyEmailResponse: Email address verified.
  - `success` unknown, required
  - `message` 'Email verified successfully', required

## Other responses

- `400`: Token missing, unknown, expired or rejected by PocketBase.
- `500`: PocketBase failed for another reason, or the body could not be read.

---

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