Texecom Event Schemas

JSON Schema Documentation

Factory Pubkey Rotated Payload

Payload emitted when a serial's factory Ed25519 attestation public key — the BLE/attestation trust anchor — is replaced. Rotation requires the permit stamped by a factory reset or Ops retire; first uploads and idempotent same-key re-uploads do not emit this event (PLAT-449).

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

Properties

NameType
serialString
previousKeyString
newKeyString
previousKeyUploadedBy[string, null]
actorString
rotationPermittedAt[string, null]
rotationPermittedBy[string, null]
rotatedAtString

serial

Description Serial whose attestation key changed.
TypeString
Required Yes

previousKey

Description The replaced Ed25519 public key (32 raw bytes, base64). Public material — safe to carry.
TypeString
Required Yes

newKey

Description The newly registered Ed25519 public key (32 raw bytes, base64).
TypeString
Required Yes

previousKeyUploadedBy

Description IAM caller that uploaded the replaced key, when recorded.
Type[string, null]
Required No

actor

Description IAM caller ARN performing the rotation upload.
TypeString
Required Yes

rotationPermittedAt

Description When the consumed rotation permit was stamped.
Type[string, null]
Required No

rotationPermittedBy

Description Actor that stamped the consumed rotation permit (factory machine ARN or ops user).
Type[string, null]
Required No

rotatedAt

Description ISO-8601 timestamp of the rotation.
TypeString
Required Yes
Format date-time

Schema

{
    "$id": "https://schemas.texecom-prod.com/v2/events/payload/service/identity/factory-pubkey/rotated/v1.0.0.json",
    "$schema": "http://json-schema.org/draft-07/schema",
    "title": "Factory Pubkey Rotated Payload",
    "description": "Payload emitted when a serial's factory Ed25519 attestation public key — the BLE/attestation trust anchor — is replaced. Rotation requires the permit stamped by a factory reset or Ops retire; first uploads and idempotent same-key re-uploads do not emit this event (PLAT-449).",
    "type": "object",
    "properties": {
        "serial": {
            "description": "Serial whose attestation key changed.",
            "type": "string"
        },
        "previousKey": {
            "description": "The replaced Ed25519 public key (32 raw bytes, base64). Public material — safe to carry.",
            "type": "string"
        },
        "newKey": {
            "description": "The newly registered Ed25519 public key (32 raw bytes, base64).",
            "type": "string"
        },
        "previousKeyUploadedBy": {
            "description": "IAM caller that uploaded the replaced key, when recorded.",
            "type": [
                "string",
                "null"
            ]
        },
        "actor": {
            "description": "IAM caller ARN performing the rotation upload.",
            "type": "string"
        },
        "rotationPermittedAt": {
            "description": "When the consumed rotation permit was stamped.",
            "type": [
                "string",
                "null"
            ]
        },
        "rotationPermittedBy": {
            "description": "Actor that stamped the consumed rotation permit (factory machine ARN or ops user).",
            "type": [
                "string",
                "null"
            ]
        },
        "rotatedAt": {
            "description": "ISO-8601 timestamp of the rotation.",
            "type": "string",
            "format": "date-time"
        }
    },
    "required": [
        "serial",
        "previousKey",
        "newKey",
        "actor",
        "rotatedAt"
    ],
    "additionalProperties": false
}