Texecom Event Schemas

JSON Schema Documentation

Site Updated Payload

Payload emitted when an existing site's details are modified. Carries the whole sites row — every field is present on every emission, including after a single-field update (RFC-030 §10), so consumers may converge onto payload contents rather than replaying deltas. Nullable fields are emitted as null; keys are never dropped.

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

Properties

NameType
nameString
countryCodeString
siteTypeString
addressString
cityString
postalCodeString
county[string, null]
clientName[string, null]
commissionedOn[string, null]
versionNumber
updatedByString
occurredAtString

name

Description Display name of the site.
TypeString
Required Yes

countryCode

Description ISO 3166-1 alpha-2 country code of the site.
TypeString
Required Yes

siteType

Description Category of the site.
TypeString
Required Yes
Enum
  • Residential
  • Commercial

address

Description Street address of the site.
TypeString
Required Yes

city

Description City the site is located in.
TypeString
Required Yes

postalCode

Description Postal code of the site.
TypeString
Required Yes

county

Description County the site is located in, or null if not set.
Type[string, null]
Required Yes

clientName

Description Name of the end client the site belongs to, or null if not set.
Type[string, null]
Required Yes

commissionedOn

Description UTC timestamp when the site was handed over to the customer, in ISO 8601 format, or null if not commissioned. An update may clear this by sending null.
Type[string, null]
Required Yes
Format date-time

version

Description Monotonically incrementing row version, used by projections for last-write-wins ordering.
TypeNumber
Required Yes

updatedBy

Description Identifier of the user who made the update. Always present and never null: the route rejects any request whose token carries no subject, so an update always has an identified caller. Differs from the smartpanel updated payload, where updatedBy is optional, and from createdBy on site/created, which is nullable.
TypeString
Required Yes

occurredAt

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

Schema

{
    "$id": "https://schemas.texecom-prod.com/v2/events/payload/service/device/site/updated/v1.0.0.json",
    "$schema": "http://json-schema.org/draft-07/schema",
    "title": "Site Updated Payload",
    "description": "Payload emitted when an existing site's details are modified. Carries the whole sites row — every field is present on every emission, including after a single-field update (RFC-030 §10), so consumers may converge onto payload contents rather than replaying deltas. Nullable fields are emitted as null; keys are never dropped.",
    "type": "object",
    "properties": {
        "name": {
            "description": "Display name of the site.",
            "type": "string"
        },
        "countryCode": {
            "description": "ISO 3166-1 alpha-2 country code of the site.",
            "type": "string"
        },
        "siteType": {
            "description": "Category of the site.",
            "type": "string",
            "enum": [
                "Residential",
                "Commercial"
            ]
        },
        "address": {
            "description": "Street address of the site.",
            "type": "string"
        },
        "city": {
            "description": "City the site is located in.",
            "type": "string"
        },
        "postalCode": {
            "description": "Postal code of the site.",
            "type": "string"
        },
        "county": {
            "description": "County the site is located in, or null if not set.",
            "type": [
                "string",
                "null"
            ]
        },
        "clientName": {
            "description": "Name of the end client the site belongs to, or null if not set.",
            "type": [
                "string",
                "null"
            ]
        },
        "commissionedOn": {
            "description": "UTC timestamp when the site was handed over to the customer, in ISO 8601 format, or null if not commissioned. An update may clear this by sending null.",
            "type": [
                "string",
                "null"
            ],
            "format": "date-time"
        },
        "version": {
            "description": "Monotonically incrementing row version, used by projections for last-write-wins ordering.",
            "type": "number"
        },
        "updatedBy": {
            "description": "Identifier of the user who made the update. Always present and never null: the route rejects any request whose token carries no subject, so an update always has an identified caller. Differs from the smartpanel updated payload, where updatedBy is optional, and from createdBy on site/created, which is nullable.",
            "type": "string"
        },
        "occurredAt": {
            "description": "UTC timestamp when the update occurred, in ISO 8601 format.",
            "type": "string",
            "format": "date-time"
        }
    },
    "required": [
        "name",
        "countryCode",
        "siteType",
        "address",
        "city",
        "postalCode",
        "county",
        "clientName",
        "commissionedOn",
        "version",
        "updatedBy",
        "occurredAt"
    ],
    "additionalProperties": false
}