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.
| $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 |
Properties
name
| Description |
Display name of the site. |
| Type | String |
| Required |
Yes |
countryCode
| Description |
ISO 3166-1 alpha-2 country code of the site. |
| Type | String |
| Required |
Yes |
siteType
| Description |
Category of the site. |
| Type | String |
| Required |
Yes |
| Enum |
|
address
| Description |
Street address of the site. |
| Type | String |
| Required |
Yes |
city
| Description |
City the site is located in. |
| Type | String |
| Required |
Yes |
postalCode
| Description |
Postal code of the site. |
| Type | String |
| 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. |
| Type | Number |
| 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. |
| Type | String |
| Required |
Yes |
occurredAt
| Description |
UTC timestamp when the update occurred, in ISO 8601 format. |
| Type | String |
| 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
}