---
title: "Send password reset email"
method: POST
path: "/auth/send-password-reset"
tags: ["Auth"]
---

# Send password reset email

`POST /auth/send-password-reset`

## Request

- Base URL: `https://api.apphandoff.com/api`
- URL: `https://api.apphandoff.com/api/auth/send-password-reset`
- Auth: none required

First-party recovery email via admin `generateLink` (recovery) + Mailgun.
Always returns an opaque success message (enumeration-safe). IP rate limited; no Origin required.

## Request body

- object
  - `email` string, email, required
  - `callback_origin` string

## Response `200`

Opaque acknowledgment (whether or not an account exists)

- object
  - `ok` true, required
  - `message` string, required

## Other responses

- `400`: Invalid request
- `429`: Rate limited
- `500`: Auth not configured
- `502`: Email delivery failed

---

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