Password Reset Requested Payload
RFC-025 delivery-pipeline trigger for a forgot-password email (RFC-029). Published from identity-service apps/auth/src/domains/email-action-token/token.ts when a PASSWORD_RESET email action token is issued, via the same identity.outbox mechanism as the account.* events, but this envelope is the RFC-035 email-action-token shape, not a domain-row snapshot. Never emitted for legacy installers, whose password is managed by the monolith.
| $id | https://schemas.texecom-prod.com/v2/events/payload/service/identity/password/reset_requested/v1.0.0.json |
| $schema | http://json-schema.org/draft-07/schema |
Properties
version
| Description |
RFC-035 payload schema version, not the aggregate row version. |
| Type | String |
| Required |
Yes |
| Const |
1.0 |
idempotencyKey
| Description |
Unique per issuance; used by the email delivery pipeline to dedupe retries. |
| Type | String |
| Required |
Yes |
| Format |
uuid |
recipient
| Description |
The account holder who requested the reset. |
| Type | Object |
| Required |
Yes |
Properties
recipient.email
| Type | String |
| Required |
Yes |
| Format |
email |
recipient.name
| Description |
Optional display name for the delivery template's recipient.name (RFC-025 template data). |
| Type | String |
| Required |
No |
recipient.locale
data
Properties
data.resetUrl
| Description |
One-time reset link. https://${gateway_domain}/auth/reset-password/verify?token=... (RFC-035 link format). The field name is the live RFC-025 template contract and must not change. |
| Type | String |
| Required |
Yes |
| Format |
uri |
data.expiresAt
| Description |
ISO 8601 timestamp the reset link stops working (RFC-035 default TTL, 15 minutes). |
| Type | String |
| Required |
Yes |
| Format |
date-time |
Schema
{
"$id": "https://schemas.texecom-prod.com/v2/events/payload/service/identity/password/reset_requested/v1.0.0.json",
"$schema": "http://json-schema.org/draft-07/schema",
"title": "Password Reset Requested Payload",
"description": "RFC-025 delivery-pipeline trigger for a forgot-password email (RFC-029). Published from identity-service apps/auth/src/domains/email-action-token/token.ts when a PASSWORD_RESET email action token is issued, via the same identity.outbox mechanism as the account.* events, but this envelope is the RFC-035 email-action-token shape, not a domain-row snapshot. Never emitted for legacy installers, whose password is managed by the monolith.",
"type": "object",
"properties": {
"version": {
"description": "RFC-035 payload schema version, not the aggregate row version.",
"type": "string",
"const": "1.0"
},
"idempotencyKey": {
"description": "Unique per issuance; used by the email delivery pipeline to dedupe retries.",
"type": "string",
"format": "uuid"
},
"recipient": {
"description": "The account holder who requested the reset.",
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email"
},
"name": {
"description": "Optional display name for the delivery template's recipient.name (RFC-025 template data).",
"type": "string"
},
"locale": {
"type": "string"
}
},
"required": [
"email",
"locale"
],
"additionalProperties": false
},
"data": {
"type": "object",
"properties": {
"resetUrl": {
"description": "One-time reset link. https://${gateway_domain}/auth/reset-password/verify?token=... (RFC-035 link format). The field name is the live RFC-025 template contract and must not change.",
"type": "string",
"format": "uri"
},
"expiresAt": {
"description": "ISO 8601 timestamp the reset link stops working (RFC-035 default TTL, 15 minutes).",
"type": "string",
"format": "date-time"
}
},
"required": [
"resetUrl",
"expiresAt"
],
"additionalProperties": false
}
},
"required": [
"version",
"idempotencyKey",
"recipient",
"data"
],
"additionalProperties": false
}