Texecom Event Schemas

JSON Schema Documentation

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.

$idhttps://schemas.texecom-prod.com/v2/events/payload/service/identity/site_handover/invited/v1.0.0.json
$schemahttp://json-schema.org/draft-07/schema

Properties

NameType
versionString=1.0
idempotencyKeyString
recipientObject
dataObject

version

Description RFC-035 payload schema version, not the aggregate row version.
TypeString
Required Yes
Const 1.0

idempotencyKey

Description Unique per issuance; used by the email delivery pipeline to dedupe retries.
TypeString
Required Yes
Format uuid

recipient

Description The invited end user, identified by email only — they may not have an identity-service account yet.
TypeObject
Required Yes

Properties

NameType
emailString
nameString
localeString

recipient.email

TypeString
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.
TypeString
Required No

recipient.locale

TypeString
Required Yes

data

TypeObject
Required Yes

Properties

NameType
acceptUrlString
expiresAtString

data.acceptUrl

Description One-time invite link. https://${gateway_domain}/auth/invite/verify?token=... (RFC-035 link format).
TypeString
Required Yes
Format uri

data.expiresAt

Description ISO 8601 timestamp the invite link stops working (SITE_HANDOVER_INVITE_TTL_HOURS, default 7 days).
TypeString
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
}