Ir al contenido

Referencia de eventos del WebSocket

Cada mensaje del destino de cambios del WebSocket de eventos de Rhombus: el sobre, los cambios de alertas de políticas, los cambios de otras entidades, los encabezados STOMP, los tipos de cambio y las garantías de entrega, generados a partir de la especificación AsyncAPI.

En esta página

Esta página enumera los mensajes que recibe un suscriptor de /topic/change/{orgUuid}. Se genera a partir de la especificación AsyncAPI del WebSocket de eventos; los campos de las alertas de políticas y sus enums vienen de los mismos esquemas que la referencia de la API. Las descripciones de los mensajes están en inglés. Para conectarte y suscribirte, consulta la descripción general del WebSocket y la autenticación del WebSocket.

Entrega

  • Como máximo una vez. Los mensajes no se confirman, no se guardan y no se reenvían. Lo que se publica mientras estás desconectado se pierde, y un mensaje que el servicio no puede procesar dentro de los 30 segundos posteriores a su publicación se descarta. Después de reconectarte, lee lo que te perdiste con la API REST; Crear una canalización de eventos muestra cómo.
  • Filtrado por rol. Una conexión recibe solo lo que puede ver el rol de su credencial. Una alerta de política se entrega cuando el rol tiene acceso al dispositivo o a la ubicación de la alerta; una alerta sin ninguno de los dos solo llega a roles de acceso completo. Un rol limitado a algunas ubicaciones o dispositivos recibe solo los tipos de entidad que el servidor puede verificar contra ellos. Consulta Qué recibe una conexión.
  • Sin garantía de orden. Ordena los eventos por sus marcas de tiempo, no por su orden de llegada.
  • Tramas. El cuerpo es JSON, aunque el encabezado content-type de la trama indica text/plain;charset=UTF-8. El orden de las claves varía, y los campos nulos se omiten. Los UUID son cadenas, incluidos los de los arreglos targetUsers y targetRoles que llevan algunos mensajes.
  • No se envían todos los cambios. Muchos tipos de entidad envían un REFRESH breve sin update; lee la entidad con la API REST cuando necesites su estado. Los puntos de búsqueda y los cuadros delimitadores del video en vivo no se envían a este destino.
  • Pueden aparecer valores nuevos sin aviso: nuevos tipos de entidad, tipos de cambio, campos y valores de enum. Ignora lo que no reconozcas.

Tipos de cambio

typeSignificadoupdate
CREATEAlgo nuevo, como una alerta de políticaNormalmente el objeto completo
UPDATEUn objeto existente cambióEl nuevo estado, los campos que cambiaron o nada
REFRESHEl objeto cambió; vuelve a leerlo si necesitas su estadoNormalmente ninguno
DELETEEl objeto se eliminóNinguno

Mensajes que recibes

MessageSummary
PolicyAlertChangeEventA new policy alert, or a change to one.
ChangeEventAny other change: device state, sensors, access control, policies, clips and more.

PolicyAlertChangeEvent

A new policy alert, or a change to one.

A CREATE carries the whole alert in update; it is sent once, when the alert is first stored, so fields that Rhombus fills in later (such as finalized and clip locations) can still be at their initial values. Read the alert from the REST API when you need its final state. UPDATE and DELETE carry only entityUuid. DELETE messages are limited to one per organization every 10 minutes, so don't rely on them to track every removed alert. A policy alert is delivered only to a role that can access the alert's device or location; an alert with neither goes only to full-access roles.

Headers

ORG_UUIDstring

The organization.

ENTITY_TYPEstring

Same as the body's entity.

ENTITY_UUIDstring

Same as the body's entityUuid, when set.

DEVICE_UUIDstring

Same as the body's deviceUuid, when set.

Body

entityenum<string>obligatorio

Available options: POLICY_ALERT

typeenum<string>obligatorio

CREATE: a new alert, with the whole alert in update. UPDATE: the alert was linked to an alarm-monitoring threat case (no update). DELETE: the alert was removed or archived (no update).

Available options: CREATE, UPDATE, DELETE

entityUuidstring

The alert's UUID on UPDATE and DELETE. Absent on CREATE: use update.uuid.

updateobject

The requested policy alert

Mostrar child attributes
alertMonitoringThreatCaseUuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

alertMonitoringVerifiedboolean
archivedboolean
clientTypeenum<string>

Available options: PARTNER_DEVELOPER, DEVELOPER, DOOR_STATION, INTERNAL_SALESFORCE, TVOS, WINDOWS, LINUX, KIOSK, KEYPAD, SQUARE, KISI, OPENPATH, TOAST, BOULEVARD, BRIVO, EXECUTABLE, HALO, SALTO, BUTTERFLYMX, GENEA, PRODATAKEY, ENVOY, AMT, PIMLOC, PLACEOS, OMNIALERT, FLIC, SHELLY_DEVICE_EVENT, NINEONEONECELLULAR, HONEYWELL_ELEMENTS, HONEYWELL_ONGUARD, HONEYWELL_NETBOX, TRITON, CHATBOT, SIGNATURE_API, INCOMING_WEBHOOK, UNKNOWN

clipLocationMapobject
Mostrar child attributes
regionstring
clipLocationMapV2object
delayedProcessingboolean
deletedboolean
durationSecinteger<int32>
finalizedboolean
locationUuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

notificationSentboolean
orgUuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

policyAlertTriggersenum<string>[]
policyUuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

ruleUuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

savedboolean
serverReceivedAtMsinteger<int64>
sharedboolean
subLocationsHierarchyKeystring<SubLocationsHierarchyKey>

A sequence of one or more base 64 (url-safe) uuid substrings. These substrings are separated by dots (.).

Pattern: ^([A-Za-z0-9\-_]{22})([.][A-Za-z0-9\-_]{22})*$

Example: "AAAAAAAAAAAAAAAAAAAAAA.AAAAAAAAAAAAAAAAAAAAAA.AAAAAAAAAAAAAAAAAAAAAA"

textDescriptionstring

Natural language description of the alert

thumbnailLocationobject
Mostrar child attributes
regionstring
thumbnailLocationV2string
timestampMsinteger<int64>
typeenum<string>

Available options: POLICY_ALERT_V2, ACCESS_CONTROLLED_DOOR_POLICY_ALERT

uuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

One of:

Mostrar Policy Alert V 2 variant
alertMonitoringThreatCaseUuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

alertMonitoringVerifiedboolean
archivedboolean
clientTypeenum<string>

Available options: PARTNER_DEVELOPER, DEVELOPER, DOOR_STATION, INTERNAL_SALESFORCE, TVOS, WINDOWS, LINUX, KIOSK, KEYPAD, SQUARE, KISI, OPENPATH, TOAST, BOULEVARD, BRIVO, EXECUTABLE, HALO, SALTO, BUTTERFLYMX, GENEA, PRODATAKEY, ENVOY, AMT, PIMLOC, PLACEOS, OMNIALERT, FLIC, SHELLY_DEVICE_EVENT, NINEONEONECELLULAR, HONEYWELL_ELEMENTS, HONEYWELL_ONGUARD, HONEYWELL_NETBOX, TRITON, CHATBOT, SIGNATURE_API, INCOMING_WEBHOOK, UNKNOWN

clipLocationMapobject
Mostrar child attributes
regionstring
clipLocationMapV2object
delayedProcessingboolean
deletedboolean
durationSecinteger<int32>
finalizedboolean
locationUuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

notificationSentboolean
orgUuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

policyAlertTriggersenum<string>[]
policyUuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

ruleUuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

savedboolean
serverReceivedAtMsinteger<int64>
sharedboolean
subLocationsHierarchyKeystring<SubLocationsHierarchyKey>

A sequence of one or more base 64 (url-safe) uuid substrings. These substrings are separated by dots (.).

Pattern: ^([A-Za-z0-9\-_]{22})([.][A-Za-z0-9\-_]{22})*$

Example: "AAAAAAAAAAAAAAAAAAAAAA.AAAAAAAAAAAAAAAAAAAAAA.AAAAAAAAAAAAAAAAAAAAAA"

textDescriptionstring

Natural language description of the alert

thumbnailLocationobject
Mostrar child attributes
regionstring
thumbnailLocationV2string
timestampMsinteger<int64>
typeenum<string>

Available options: POLICY_ALERT_V2, ACCESS_CONTROLLED_DOOR_POLICY_ALERT

uuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

airQualityIndexinteger<int32>
airQualityIndexThresholdinteger<int32>
alertingDwellEventsobject[]
Mostrar child attributes
activityenum<string>

Available options: SOUND_LOUD, SOUND_GUN_SHOT, TAMPER, VISUAL_TAMPER, MOTION_TAMPER, MOTION, MOTION_HUMAN, MOTION_CAR, MOTION_ANIMAL, MOTION_PACKAGE, PACKAGE_ARRIVED, PACKAGE_DEPARTED, FACE, FACE_IDENTIFIED, FACE_UNIDENTIFIED, FACE_BLACKLISTED, FACE_ALERT, POSE_ANOMALOUS, POSE_FALL, LICENSEPLATE, LICENSEPLATE_IDENTIFIED, LICENSEPLATE_UNIDENTIFIED, LICENSEPLATE_ALERT, LICENSEPLATE_BLACKLISTED, LICENSEPLATE_TRUSTED, PEOPLECOUNT_HIGH, PEOPLECOUNT_HIGH_RESET, PEOPLECOUNT_LOW, PEOPLECOUNT_LOW_RESET, HUMAN_ENTER, HUMAN_EXIT, CAR_ENTER, CAR_EXIT, TEMPERATURE_EXCEEDED_HIGH, TEMPERATURE_EXCEEDED_LOW, HUMIDITY_EXCEEDED_HIGH, HUMIDITY_EXCEEDED_LOW, PM25_EXCEEDED_HIGH, TVOC_EXCEEDED_HIGH, ETOH_EXCEEDED_HIGH, IAQ_EXCEEDED_HIGH, CO2_EXCEEDED_HIGH, CO2_EXCEEDED_LOW, PROBE_TEMPERATURE_EXCEEDED_HIGH, PROBE_TEMPERATURE_EXCEEDED_LOW, PROBE_DISCONNECTED, PROBE_CONNECTED, HEAT_INDEX_EXCEEDED_HIGH, PRESSURE_EXCEEDED_HIGH, PRESSURE_EXCEEDED_LOW, PM10_EXCEEDED_HIGH, PM40_EXCEEDED_HIGH, PM100_EXCEEDED_HIGH, VOC_IDX_EXCEEDED_HIGH, NOX_IDX_EXCEEDED_HIGH, FORMALDEHYDE_EXCEEDED_HIGH, CARBON_MONOXIDE_EXCEEDED_HIGH, AQI_EXCEEDED_HIGH, DOOR_AJAR, DOOR_OPENED, DOOR_CLOSED, BUTTON_SINGLE_PRESSED, BUTTON_DOUBLE_PRESSED, BUTTON_LONG_PRESSED, TAG_ARRIVED, TAG_DEPARTED, TAG_MOVED, TAG_POSITIONING_CHANGED, TAG_BOUNDARY_INGRESS, TAG_BOUNDARY_EGRESS, TAG_PANIC, BADGE_AUTHORIZED, BADGE_UNAUTHORIZED, BADGE_UNAUTHORIZED_V2, BADGE_AJAR, BADGE_MANUAL, BADGE_FORCED_OPEN, BADGE_LOCKDOWN, BADGE_REQUEST_TO_EXIT, BADGE_DURESS, BADGE_SECURITY_BREACH, BADGE_TAMPER, BADGE_FACE_MISMATCH, POS_ORDER, GUN_DETECT_EVENT, IOT_SOUND_AGGRESSION, IOT_SOUND_HELP, IOT_AIR_CO, IOT_AIR_CO2, IOT_AIR_MASKING, IOT_AIR_THC, IOT_AIR_VAPE, IOT_AIR_VOC, IOT_AIR_TEMP, IOT_TAMPER, IOT_GUNSHOT, IOT_BUTTON_SINGLE_CLICK, IOT_BUTTON_DOUBLE_CLICK, IOT_BUTTON_HOLD, IOT_PANIC_BUTTON_TRIGGERED, AUDIO_SOUND_SIGNIFICANT, AUDIO_SOUND_LOUD, AUDIO_SOUND_ABUSIVE, AUDIO_SOUND_GREETING, AUDIO_SOUND_HELP, AUDIO_SOUND_GUN, AUDIO_SOUND_GLASS_BREAK, AUDIO_SOUND_ALARM_SMOKE_FIRE, AUDIO_SOUND_ALARM_CARBON_MONOXIDE, AUDIO_SOUND_SIREN, CLIMATE_VOC, CLIMATE_VAPE, CLIMATE_SMOKE, CLIMATE_THC, CLIMATE_CO2, CLIMATE_ETOH, CLIMATE_PM25, CLIMATE_IAQ, CLIMATE_LEAK, SOUND_AGGRESSION, SOUND_HELP, AIR_CO, AIR_CO2, AIR_MASKING, AIR_THC, AIR_VAPE, AIR_VOC, MASK_MISSING, HELMET_MISSING, GLOVES_MISSING, PIR_OCCUPIED, PIR_MOVEMENT, PIR_VACANT, CUSTOM, VISITOR_ARRIVED, VISITOR_DEPARTED, AC_DR_CONNECTED, AC_DR_DISCONNECTED, AC_DPI_DOOR_OPEN, AC_DPI_DOOR_CLOSED, AC_DPI_DOOR_AJAR, AC_DPI_DOOR_FORCED_OPEN, AC_DSR_UNLOCKED, AC_DSR_LOCKED, AC_DB_TRIGGERED, AC_PANIC_BUTTON_TRIGGERED, AC_REMOTE_UNLOCK, AC_BADGE_AUTHORIZED, AC_BADGE_UNAUTHORIZED, AC_BADGE_FACE_MISMATCH, AC_LOCKDOWN_ACTIVATED, AC_LOCKDOWN_DEACTIVATED, AC_LOCKDOWN_PLAN_SWITCHED, AC_TAMPER_PROX, AC_TAMPER_ACCEL, AC_TAMPER_SWITCH, AC_GR_ACTIVE, AC_GR_INACTIVE, AC_GI_ACTIVE, AC_GI_INACTIVE, AC_REX_ACTIVE, AC_REX_INACTIVE, AC_APERIO_DEVICE_DISCONNECTED, AC_APERIO_DEVICE_CONNECTED, AC_APERIO_DEVICE_REBOOT, AC_APERIO_DEVICE_TAMPER, AC_APERIO_LOW_BATTERY, AC_APERIO_FLAT_BATTERY, AC_APERIO_OK_BATTERY, AC_SCHLAGE_GW_DISCONNECTED, AC_SCHLAGE_GW_CONNECTED, AC_SCHLAGE_APM_DISCONNECTED, AC_SCHLAGE_APM_CONNECTED, AC_SCHLAGE_LOW_BATTERY, AC_SCHLAGE_CRITICAL_BATTERY, AC_SCHLAGE_OK_BATTERY, POWER_SWITCH_BATTERY, POWER_SWITCH_PRIMARY, AI_SEARCH_MATCH, AI_SEARCH_MATCH_PERSON_SMOKING, AI_SEARCH_MATCH_PERSON_ON_PHONE, AI_SEARCH_MATCH_PERSON_FALLING, CUSTOM_LLM_BOOLEAN_TRUE, CUSTOM_LLM_BOOLEAN_FALSE, CUSTOM_LLM_THRESHOLD_EXCEEDED_LOW, CUSTOM_LLM_THRESHOLD_EXCEEDED_HIGH, ALM_AUTHORITIES_CONTACTED, ALM_MONITORING_ENABLED, ALM_MONITORING_DISABLED, ALM_MONITORING_SETTINGS_CHANGE, ALM_THREAT_CASE_CLOSED, ALM_THREAT_DETECTED, ALM_MONITORING_EVENT_DETECTED, ROBOT_DOG_DETECTED, ROBOT_ARRIVED_AT_WAYPOINT, ROBOT_ARRIVED_AT_POSE, ROBOT_WAITING_AT_POSE, ROBOT_MANUAL_CMD_VEL, ROBOT_MANUAL_ACTION, ROBOT_MANUAL_POSTURE, ROBOT_NAVIGATE_TO_POSE_START, ROBOT_NAVIGATE_TO_POSE_END, ROBOT_NAVIGATE_TO_HOME_START, ROBOT_NAVIGATE_TO_HOME_END, ROBOT_NAVIGATE_TO_WAYPOINT_START, ROBOT_NAVIGATE_TO_WAYPOINT_END, ROBOT_ROUTE_RUN_START, ROBOT_ROUTE_RUN_END, ROBOT_LOW_BATTERY_DOCKING, ROBOT_IDLE_DOCKING, ROBOT_EMERGENCY, LOITER_HUMAN, INACTIVITY_HUMAN, INACTIVITY_CAR, GROUP_ENTRY, ONGUARD_BADGE_AUTHORIZED, ONGUARD_BADGE_ANOMALY, ONGUARD_NO_ENTRY_MADE, ELEMENTS_BADGE_AUTHORIZED, ELEMENTS_BADGE_ANOMALY, ELEMENTS_NO_ENTRY_MADE, NETBOX_BADGE_AUTHORIZED, NETBOX_BADGE_ANOMALY, NETBOX_NO_ENTRY_MADE, THERMAL_TEMPERATURE_ALARM, THERMAL_TEMPERATURE_WARNING, THERMAL_FIRE_DETECTED, THERMAL_SMOKING_DETECTED, THERMAL_FIRE_VERIFIED, THERMAL_HEAT_NO_THREAT, THERMAL_VISUAL_HOTSPOT, THERMAL_VISUAL_HEAT_RISE, THERMAL_VISUAL_WARM_BODY, UNKNOWN

deviceLabelsstring[]
deviceUuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

durationSecinteger<int32>
dwellStartTimeMsinteger<int64>
locationLabelsstring[]
locationUuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

orgUuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

regionUuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

subLocationsHierarchyKeystring<SubLocationsHierarchyKey>

A sequence of one or more base 64 (url-safe) uuid substrings. These substrings are separated by dots (.).

Pattern: ^([A-Za-z0-9\-_]{22})([.][A-Za-z0-9\-_]{22})*$

Example: "AAAAAAAAAAAAAAAAAAAAAA.AAAAAAAAAAAAAAAAAAAAAA.AAAAAAAAAAAAAAAAAAAAAA"

thumbnailLocationstring
thumbnailUristring
timestampMsinteger<int64>
trackIdinteger<int32>
alertingEventFacesobject[]
Mostrar child attributes
faceIdstring
faceNamestring
imageS3Bucketstring
imageS3Keystring
imageS3Regionstring
labelsstring[]
personUuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

alertingEventVehiclesobject[]
Mostrar child attributes
imageS3Bucketstring
imageS3Keystring
imageS3Regionstring
labelsstring[]
licensePlateNumberstring
vehicleNamestring
alertingTrackIdsinteger<int32>[]
cdstring

Custom activity display description, maximum 100 characters

cdnstring

Custom activity display name, maximum 32 characters

ch2oPpbnumber<float>
ch2oPpbThresholdnumber<float>
clipLocationobject
Mostrar child attributes
regionstring
cllmBooleanValueboolean
cllmCheckConditionobject
Mostrar child attributes
operatorenum<string>

Available options: GT, LT, LTE, GTE, EQ, CONTAINS

valuestring
cllmIntegerValueinteger<int32>
cllmPromptTypeEnumenum<string>

Available options: COUNT, PERCENT, BOOLEAN, TEXT

cllmPromptUuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

co2number<float>
co2Ppminteger<int32>
co2PpmThresholdinteger<int32>
co2Thresholdnumber<float>
coConcentrationnumber<double>
coConcentrationThresholdnumber<double>
componentUuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

deviceFacetUuidstring<DeviceFacetUuid>

RUUID with optional appended facet information

Example: "AAAAAAAAAAAAAAAAAAAAAA.v0"

deviceTypeenum<string>

Available options: BLE_TRACKER, CAMERA, DOOR_SENSOR, ENVIRONMENTAL_SENSOR, OCCUPANCY_SENSOR, AUDIO_GATEWAY, EXECUTABLE, BADGE_READER, DOOR_CONTROLLER, BLE_BUTTON, IO_BOARD, ENVIRONMENTAL_GATEWAY, NVR, ROBOT, UNKNOWN

deviceUuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

egressBoundaryDevicesstring<RUUID>[]
ethanolnumber<float>
ethanolThresholdnumber<float>
heatIndexDegFnumber<double>
heatIndexDegFThresholdnumber<double>
humidityPercent1616integer<int32>
humidityPercentThreshold1616integer<int32>
humidityPermyriadinteger<int32>
humidityThresholdPermyriadinteger<int32>
iaqnumber<float>
iaqThresholdnumber<float>
inactivityThresholdMsinteger<int64>

For INACTIVITY_* alerts, the inactivity threshold configured on the region that fired, in milliseconds. This is the configured threshold, not the elapsed length of the inactivity window.

ingressBoundaryDevicesstring<RUUID>[]
leakDetectedboolean
maxLufinteger<int32>
noxIdxnumber<float>
noxIdxThresholdnumber<float>
numHumansinteger<int32>
peopleCountHighThresholdinteger<int32>
peopleCountLowThresholdinteger<int32>
pm10p0number<float>
pm10p0Thresholdnumber<float>
pm1p0number<float>
pm1p0Thresholdnumber<float>
pm25number<float>
pm25Thresholdnumber<float>
pm4p0number<float>
pm4p0Thresholdnumber<float>
pressurenumber<float>
pressureThresholdnumber<float>
probeTempCnumber<float>
probeTempCThresholdnumber<float>
probeTempThresholdnumber<float>
relHumidnumber<float>
relHumidThresholdnumber<float>
tamperByMovementChangenumber<float>
tamperedboolean
tempCnumber<float>
tempCThresholdnumber<float>
tempProbePresentboolean
temperatureCelsius1616integer<int32>
temperatureCelsiusThreshold1616integer<int32>
temperaturePermyriadinteger<int32>
temperatureThresholdPermyriadinteger<int32>
thcPercentnumber<float>
thcPercentThresholdnumber<float>
tvocnumber<float>
tvocThresholdnumber<float>
vapeDetectedboolean
vapeSmokePercentnumber<float>
vapeSmokePercentThresholdnumber<float>
vocIdxnumber<float>
vocIdxThresholdnumber<float>
Mostrar Access Controlled Door Policy Alert variant
alertMonitoringThreatCaseUuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

alertMonitoringVerifiedboolean
archivedboolean
clientTypeenum<string>

Available options: PARTNER_DEVELOPER, DEVELOPER, DOOR_STATION, INTERNAL_SALESFORCE, TVOS, WINDOWS, LINUX, KIOSK, KEYPAD, SQUARE, KISI, OPENPATH, TOAST, BOULEVARD, BRIVO, EXECUTABLE, HALO, SALTO, BUTTERFLYMX, GENEA, PRODATAKEY, ENVOY, AMT, PIMLOC, PLACEOS, OMNIALERT, FLIC, SHELLY_DEVICE_EVENT, NINEONEONECELLULAR, HONEYWELL_ELEMENTS, HONEYWELL_ONGUARD, HONEYWELL_NETBOX, TRITON, CHATBOT, SIGNATURE_API, INCOMING_WEBHOOK, UNKNOWN

clipLocationMapobject
Mostrar child attributes
regionstring
clipLocationMapV2object
delayedProcessingboolean
deletedboolean
durationSecinteger<int32>
finalizedboolean
locationUuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

notificationSentboolean
orgUuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

policyAlertTriggersenum<string>[]
policyUuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

ruleUuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

savedboolean
serverReceivedAtMsinteger<int64>
sharedboolean
subLocationsHierarchyKeystring<SubLocationsHierarchyKey>

A sequence of one or more base 64 (url-safe) uuid substrings. These substrings are separated by dots (.).

Pattern: ^([A-Za-z0-9\-_]{22})([.][A-Za-z0-9\-_]{22})*$

Example: "AAAAAAAAAAAAAAAAAAAAAA.AAAAAAAAAAAAAAAAAAAAAA.AAAAAAAAAAAAAAAAAAAAAA"

textDescriptionstring

Natural language description of the alert

thumbnailLocationobject
Mostrar child attributes
regionstring
thumbnailLocationV2string
timestampMsinteger<int64>
typeenum<string>

Available options: POLICY_ALERT_V2, ACCESS_CONTROLLED_DOOR_POLICY_ALERT

uuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

accessControlUnitUuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

accessControlledDoorUuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

componentUuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

initiatingUsernamestring
originatorEntityNamestring
originatorEntityUuidstring<RUUID>

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

originatorTypeenum<string>

Available options: USER, SUPPORT_AUTHORITY, API_TOKEN, RULE, COMPONENT_COMPOSITE_EVENT, GUEST_PASS, DEVICE_SERVICE, UNKNOWN

targetUsersstring[]

The users the message is addressed to, as UUID strings. Set only on some messages.

targetRolesstring[]

The roles the message is addressed to, as UUID strings. Set only on some messages.

newAlertjson
{
  "entity": "POLICY_ALERT",
  "type": "CREATE",
  "update": {
    "alertMonitoringVerified": false,
    "clipLocationMap": {},
    "clipLocationMapV2": {},
    "deviceType": "CAMERA",
    "deviceUuid": "ItkwWv1qT7Wy8-pY8KDesw",
    "durationSec": 12,
    "egressBoundaryDevices": [],
    "finalized": false,
    "ingressBoundaryDevices": [],
    "locationUuid": "Rk2pQ7yLT0qX4b1nVt8sJw",
    "notificationSent": false,
    "numHumans": 1,
    "orgUuid": "wEeifGSySTiD228kK7M-Xg",
    "policyAlertTriggers": [
      "MOTION_HUMAN"
    ],
    "policyUuid": "pL0c7YvHQkWm3rN2aB9xCg",
    "ruleUuid": "rU1e9KdLR3uJ5sP0qW2tYg",
    "saved": false,
    "serverReceivedAtMs": 1791367200850,
    "shared": false,
    "textDescription": "Human detected at Front Lobby",
    "timestampMs": 1791367200000,
    "type": "POLICY_ALERT_V2",
    "uuid": "Xq3vT1bKQ2m8c9Zr0aLwYg"
  }
}

ChangeEvent

Any other change: device state, sensors, access control, policies, clips and more.

The generic envelope for every entity except POLICY_ALERT. The shape of update depends on entity; many messages carry none, so treat them as a signal to read the entity from the REST API.

Headers

ORG_UUIDstring

The organization.

ENTITY_TYPEstring

Same as the body's entity.

ENTITY_UUIDstring

Same as the body's entityUuid, when set.

DEVICE_UUIDstring

Same as the body's deviceUuid, when set.

Body

entityenum<string>obligatorio

The kind of entity that changed. Filter on it client-side.

Available options: ALARM_MONITORING_LOCATION_SETTINGS, ALARM_MONITORING_LICENSE, DEVICE, LOCATION, POLICY, POLICY_ALERT, POLICY_ADDENDUM, POLICY_PAUSE, USER, CAMERA_USER_CONFIG, ORG, USER_PERMISSION_GROUP, PARTNER_PERMISSION_GROUP, VIDEO_WALL, SHARED_CLIPS, SAVED_CLIPS, SHARED_STREAMS, SPLICED_CLIPS, TIMELAPSE, AUDIT_EVENTS, DIAGNOSTIC_EVENTS, CAMERA_STATE, CLIMATE_STATE, DOOR_STATE, NVR_STATE, OCCUPANCY_STATE, PROXIMITY_STATE, AUDIO_STATE, CAMERA, NVR, DOOR_SENSOR, CLIMATE_SENSOR, PROXIMITY_SENSOR, BOUNDING_BOX, SEEK_POINT, SENSOR_SEEK_POINT, SCHEDULE, FACE_EVENT, DEVICE_SHADOW, THREAT_CASE, THREAT_CASE_REVIEWER, KEYPAD, COMPONENT_DOOR_READER_SHADOW, COMPONENT_DOOR_RELAY_SHADOW, COMPONENT_DOOR_POSITION_INDICATOR_SHADOW, COMPONENT_APERIO_GATEWAY_SHADOW, COMPONENT_APERIO_DOOR_EXT_SHADOW, COMPONENT_SCHLAGE_GATEWAY_SHADOW, COMPONENT_SCHLAGE_DOOR_EXT_SHADOW, COMPONENT_REQUEST_TO_EXIT_SHADOW, COMPONENT_GENERIC_RELAY_SHADOW, COMPONENT_GENERIC_INPUT_SHADOW, COMPONENT_GENERIC_BUTTON_SHADOW, ACCESS_CONTROLLED_DOOR_SHADOW, ACCESS_CONTROLLED_DOOR, ACCESS_CONTROLLED_ELEVATOR_SHADOW, ACCESS_CONTROLLED_ELEVATOR, ACCESS_CONTROLLED_ELEVATOR_LANDING_SHADOW, ACCESS_CONTROLLED_ELEVATOR_LANDING, COMPONENT_SEEKPOINT, ROBOT_SEEKPOINT, VEHICLE_EVENT, DEVICE_INTEGRATION, SHELLY_INTEGRATION, THIRD_PARTY_CAMERA_DISCOVERY, THIRD_PARTY_CAMERA_ASSIGNMENT, THIRD_PARTY_CAMERA_CREDENTIAL, CHATBOT_QUERY, KEYPAD_COMMAND, PRIORITY_DETECTION, LIVE_DETECTION, LIVE_OCCUPANCY, UNKNOWN

entityUuidstring

The entity that changed, as a 22-character base64url UUID. Absent on policy alert CREATE messages.

typeenum<string>obligatorio

The kind of change. REFRESH (the default) means the entity changed and carries little or no detail: read it again from the REST API if you need its current state. CREATE and UPDATE usually carry the entity in update; DELETE never does.

Available options: REFRESH, DELETE, CREATE, UPDATE

deviceUuidstring

The device involved, with an optional facet suffix (.v0). Set only on some messages, such as FACE_EVENT.

subLocationsHierarchyKeystring

The sub-location path, as dot-separated location UUIDs. Set only on some alarm-monitoring messages.

targetUsersstring[]

The users the message is addressed to, as UUID strings. Set only on some messages.

targetRolesstring[]

The roles the message is addressed to, as UUID strings. Set only on some messages.

updateobject

The entity's new state or the changed fields. Its shape depends on entity, and it is absent on DELETE, on most REFRESH messages and on some UPDATE messages.

cameraStatejson
{
  "entity": "CAMERA_STATE",
  "entityUuid": "ItkwWv1qT7Wy8-pY8KDesw",
  "type": "UPDATE",
  "update": {
    "connectionStatus": "GREEN",
    "firmwareVersion": "v1.0.1234",
    "healthStatus": "GREEN",
    "locationUuid": "Rk2pQ7yLT0qX4b1nVt8sJw",
    "mediaRegion": "us-west-2",
    "name": "Front Lobby",
    "stateUpdatedTimestampMs": 1791367200000,
    "uuid": "ItkwWv1qT7Wy8-pY8KDesw"
  }
}