Vigilfield Docs
API referenceAccount

`POST /account/forgot-password`. Unauthenticated. Always returns 202 — the response shape is identical whether the email matches a real user, matches a federated user, or matches nothing. Anti-enumeration is the whole point: callers learn nothing from the response except "we accepted your request".

POST/account/forgot-password

When the email matches a non-federated user, we generate a fresh setup token (the same machinery signup and invitation use) and email the user a <slug>.<apex>/set-password#<token> link. Since rh-j4af1x the user's row is not touched: this request proves nothing about who sent it, and POST /account/passwords accepts the token on the token row rather than on the user's status.

Federated users (provisioned_by.is_some()) never get a token — their credentials live in their IdP, not in Cognito. Auditing distinguishes every outcome (sent / skipped_federated / skipped_unknown / …) so operators can spot enumeration attempts.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

curl -X POST "https://example.com/account/forgot-password" \  -H "Content-Type: application/json" \  -d '{    "email": "string",    "slug": "string"  }'
Empty