---
title: "Request a password reset link by email."
method: POST
path: "/v1/auth/password-reset/request"
tags: ["auth"]
---

# Request a password reset link by email.

`POST /v1/auth/password-reset/request`

## Request

- Base URL: `https://api.andish.ru` (the document declares no server; this is the origin it was published from)
- URL: `https://api.andish.ru/v1/auth/password-reset/request`
- Auth: none declared

Always returns 200 with an identical body regardless of whether the email is registered (AC #1/#3 — anti-enumeration, STRIDE S1/S2). Rate-limited: 10 req/min per IP (Tier 1) + 3 req/hour per email (Redis).

## Request body

- PasswordResetRequestRequest: Request body for POST /v1/auth/password-reset/request. AC #1/#3: always returns uniform 200 response regardless of email existence.
  - `email` string, email, required: Email address to send the password-reset link to.

## Response `200`

Uniform response — does not reveal email existence

- PasswordResetRequestResponse: Response for POST /v1/auth/password-reset/request (always HTTP 200). Uniform response regardless of whether the email exists (AC #1, #3 — anti-enumeration).
  - `message` string: Uniform message — does not reveal whether the email exists.

## Other responses

- `422`: Validation Error
- `429`: Rate limit exceeded

---

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