Site Handover Invited Payload
RFC-025 delivery-pipeline trigger for a site handover invite (SOFTC-7250) — an installer's invite of an end user, by email, to become a site's master user. Published from identity-service apps/auth/src/domains/email-action-token/token.ts via the same identity.outbox mechanism as the identity.account.* events, but this envelope is the RFC-035 email-action-token shape, not a domain-row snapshot.
| $id | https://schemas.texecom-prod.com/v2/events/payload/service/identity/site_handover/invited/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 invited end user, identified by email only — they may not have an identity-service account yet. |
| 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). Supplied by the inviting installer. |
| Type | String |
| Required |
No |
recipient.locale
data
Properties
data.acceptUrl
| Description |
One-time invite link. https://${gateway_domain}/auth/invite/verify?token=... (RFC-035 link format). |
| Type | String |
| Required |
Yes |
| Format |
uri |
data.expiresAt
| Description |
ISO 8601 timestamp the invite link stops working (SITE_HANDOVER_INVITE_TTL_HOURS, default 7 days). |
| Type | String |
| Required |
Yes |
| Format |
date-time |
Schema
{
"$id": "https://schemas.texecom-prod.com/v2/events/payload/service/identity/site_handover/invited/v1.0.0.json",
"$schema": "http://json-schema.org/draft-07/schema",
"title": "Site Handover Invited Payload",
"description": "RFC-025 delivery-pipeline trigger for a site handover invite (SOFTC-7250) — an installer's invite of an end user, by email, to become a site's master user. Published from identity-service apps/auth/src/domains/email-action-token/token.ts via the same identity.outbox mechanism as the identity.account.* events, but this envelope is the RFC-035 email-action-token shape, not a domain-row snapshot.",
"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 invited end user, identified by email only — they may not have an identity-service account yet.",
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email"
},
"name": {
"description": "Optional display name for the delivery template's recipient.name (RFC-025 template data). Supplied by the inviting installer.",
"type": "string"
},
"locale": {
"type": "string"
}
},
"required": [
"email",
"locale"
],
"additionalProperties": false
},
"data": {
"type": "object",
"properties": {
"acceptUrl": {
"description": "One-time invite link. https://${gateway_domain}/auth/invite/verify?token=... (RFC-035 link format).",
"type": "string",
"format": "uri"
},
"expiresAt": {
"description": "ISO 8601 timestamp the invite link stops working (SITE_HANDOVER_INVITE_TTL_HOURS, default 7 days).",
"type": "string",
"format": "date-time"
}
},
"required": [
"acceptUrl",
"expiresAt"
],
"additionalProperties": false
}
},
"required": [
"version",
"idempotencyKey",
"recipient",
"data"
],
"additionalProperties": false
}