Skip to content

Request a password reset link

POST
/api/v1/auth/forgot-password
Code sample: cURL
curl -X POST 'https://dashboard.justcrawl.io/api/v1/auth/forgot-password' \
-H 'Content-Type: application/json' \
-d '{"email":"you@example.com"}'

Initiates the password-reset flow. The response is always 200 with a generic message — the server never discloses whether the email maps to an account, blocking email enumeration. When the email does map to an account, a single-use reset token is emailed with a 1-hour TTL, and any previously-issued reset tokens for the same user are invalidated. Subject to a dedicated forgotPasswordLimiter rate bucket — bursts of requests for the same email return 429.

Media type application/json
object
email
required
string format: email
Example generated
{
"email": "hello@example.com"
}

Reset email sent if the account exists. Body is identical for both branches by design.

Media type application/json
object
message
string
Example
{
"message": "If that email exists, a reset link has been sent"
}

Validation failed — request body or query is missing/invalid

Media type application/json
object
error
string
Example
{
"error": "Missing or invalid \"url\" field"
}

Unexpected server error. Logs and PostHog $exception capture

Media type application/json
object
error
string
Example
{
"error": "Something went wrong"
}