Skip to content

Send password reset email

POST
/auth/send-password-reset
curl --request POST \
--url https://example.com/api/auth/send-password-reset \
--header 'Content-Type: application/json' \
--data '{ "email": "hello@example.com", "callback_origin": "example" }'

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

Media type application/json
object
email
required
string format: email
callback_origin
string
<= 512 characters

Opaque acknowledgment (whether or not an account exists)

Media type application/json
object
ok
required
boolean
message
required
string

Invalid request

Media type application/json
object
error
required

Human-readable error message

string
code

Stable machine-readable error code for client branching

string
fieldErrors

First validation message per field path

object
key
additional properties
string
issues

Structured validation issues (Zod)

Array<object>
object
path
required
string
message
required
string
retryAfter

Seconds until rate limit resets (429 responses)

number

Rate limited

Media type application/json
object
error
required

Human-readable error message

string
code

Stable machine-readable error code for client branching

string
fieldErrors

First validation message per field path

object
key
additional properties
string
issues

Structured validation issues (Zod)

Array<object>
object
path
required
string
message
required
string
retryAfter

Seconds until rate limit resets (429 responses)

number
retryAfter

Seconds until the rate limit resets

number
Retry-After
string

Auth not configured

Email delivery failed