Texecom Event Schemas

JSON Schema Documentation

Installation Site Hardware Linked Payload

Payload emitted when hardware is linked to a site during installation. `createdBy` and `version` were added after v1.0.0 first shipped, so both are optional here even though device-service emits them on every event; they can only become required in a new schema major version.

$idhttps://schemas.texecom-prod.com/v2/events/payload/service/device/installation/site_hardware_linked/v1.0.0.json
$schemahttp://json-schema.org/draft-07/schema

Properties

NameType
hardwareIdString
serialString
siteIdString
createdByString
versionNumber
occurredAtString

hardwareId

Description Identifier of the hardware record.
TypeString
Required Yes
Format uuid

serial

Description Hardware serial number as printed on the unit.
TypeString
Required Yes

siteId

Description Identifier of the site the hardware is linked to.
TypeString
Required Yes
Format uuid

createdBy

Description Identifier of the user who linked the hardware to the site. Always emitted by device-service; optional only for backward compatibility.
TypeString
Required No

version

Description Wall-clock-ms tiebreaker used by projections for last-write-wins ordering. Always emitted by device-service; optional only for backward compatibility, so consumers must tolerate its absence.
TypeNumber
Required No

occurredAt

Description UTC timestamp when the link occurred, in ISO 8601 format.
TypeString
Required Yes
Format date-time

Schema

{
    "$id": "https://schemas.texecom-prod.com/v2/events/payload/service/device/installation/site_hardware_linked/v1.0.0.json",
    "$schema": "http://json-schema.org/draft-07/schema",
    "title": "Installation Site Hardware Linked Payload",
    "description": "Payload emitted when hardware is linked to a site during installation. `createdBy` and `version` were added after v1.0.0 first shipped, so both are optional here even though device-service emits them on every event; they can only become required in a new schema major version.",
    "type": "object",
    "properties": {
        "hardwareId": {
            "description": "Identifier of the hardware record.",
            "type": "string",
            "format": "uuid"
        },
        "serial": {
            "description": "Hardware serial number as printed on the unit.",
            "type": "string"
        },
        "siteId": {
            "description": "Identifier of the site the hardware is linked to.",
            "type": "string",
            "format": "uuid"
        },
        "createdBy": {
            "description": "Identifier of the user who linked the hardware to the site. Always emitted by device-service; optional only for backward compatibility.",
            "type": "string"
        },
        "version": {
            "description": "Wall-clock-ms tiebreaker used by projections for last-write-wins ordering. Always emitted by device-service; optional only for backward compatibility, so consumers must tolerate its absence.",
            "type": "number"
        },
        "occurredAt": {
            "description": "UTC timestamp when the link occurred, in ISO 8601 format.",
            "type": "string",
            "format": "date-time"
        }
    },
    "required": [
        "hardwareId",
        "serial",
        "siteId",
        "occurredAt"
    ],
    "additionalProperties": false
}