---
title: "Verify password reset OTP"
method: POST
path: "/internal/api/auth/verify-otp"
tags: ["USERS"]
---

# Verify password reset OTP

`POST /internal/api/auth/verify-otp`

## Request

- Base URL: `https://api.signalshq.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.signalshq.io/internal/api/auth/verify-otp`
- Auth: none declared

Verify the OTP sent to the user's email and get a temporary token for password reset.

    The system will:
    1. Validate the OTP
    2. Check OTP expiration
    3. Return a temporary token for password reset

## Request body

- VerifyOTPRequest
  - `email` string, email, required
  - `otp` string, required: 6-digit OTP received via email

## Response `200`

OTP verification status with temporary token

- VerifyOTPResponse
  - `message` string
  - `token` string, required: Temporary token for password reset

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/signalshq/apis/signals-api.md) - [All operations](https://skmtc.dev/signalshq/apis/signals-api/llms.txt) - [OpenAPI document](https://skmtc.dev/signalshq/apis/signals-api/revisions/2c22af3b5576?raw)
