> ## Documentation index
> Fetch the complete documentation index at: https://developer.rhombus.com/llms.txt
> Use it to discover all available pages before exploring further.

# Create a robot route

> Create a named route for robots

```http
POST https://api2.rhombussystems.com/api/robot/createRobotRoute
```

EU organizations send the same request to `https://api2.eu.rhombussystems.com`.

## Authentication and parameters

- `x-auth-apikey` (header, required): Your Rhombus API key. Must be accompanied by the `x-auth-scheme` header set to `api-token` (or `partner-api-token` for partner endpoints).
- `x-auth-scheme` (header, string, required, default: `api-token`): Authentication scheme identifier. Use `api-token` for standard API key authentication, `partner-api-token` for partner API key authentication. Must be paired with the `x-auth-apikey` header containing your API key. One of: `api-token`, `api`, `partner-api-token`, `partner-api`.

## Request body

Content type: `application/json`. Request to create a robot patrol route with waypoints and optional trigger rules.

- `deployConditions` (array<object> | null): Triggers that initiate the patrol (e.g., scheduled or recurring). Multiple triggers are combined as alternatives — any one firing deploys the route.
- `deviceUuid` (string<RUUID> | null): base 64 (url-safe) uuid string
- `mapUuid` (string<RUUID> | null): base 64 (url-safe) uuid string
- `name` (string | null): Name of the route
- `scheduleUuid` (string<RUUID> | null): base 64 (url-safe) uuid string
- `waypoints` (array<object> | null): Ordered list of waypoints that define the route. Waypoint UUIDs are ignored on create and assigned by the system.

## Response 200

OK. Content type: `application/json`

- `error` (boolean | null)
- `errorMsg` (string | null)
- `routeView` (object): A view of the ordered sequence of poses that the robot follows
- `warningMsg` (string | null)

## OpenAPI

````yaml
openapi: 3.0.1
info:
  title: Rhombus API
  version: "1.0"
servers:
  - description: Production Server
    url: https://api2.rhombussystems.com
security:
  - ApiKeyAuth: []
paths:
  /api/robot/createRobotRoute:
    post:
      description: Create a named route for robots
      operationId: createRobotRoute
      parameters:
        - description: Authentication scheme identifier. Use `api-token` for standard API key authentication, `partner-api-token` for partner API key authentication. Must be paired with the `x-auth-apikey` header containing your API key.
          example: api-token
          in: header
          name: x-auth-scheme
          required: true
          schema:
            default: api-token
            enum:
              - api-token
              - api
              - partner-api-token
              - partner-api
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Robot_CreateRobotRouteWSRequest"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Robot_CreateRobotRouteWSResponse"
          description: OK
      summary: Create a robot route
      tags:
        - Robot Webservice
components:
  schemas:
    Robot_CreateRobotRouteWSRequest:
      description: Request to create a robot patrol route with waypoints and optional trigger rules.
      properties:
        deployConditions:
          description: Triggers that initiate the patrol (e.g., scheduled or recurring). Multiple triggers are combined as alternatives — any one firing deploys the route.
          items:
            $ref: "#/components/schemas/BaseRuleTriggerType"
          nullable: true
          type: array
        deviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        mapUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        name:
          description: Name of the route
          nullable: true
          type: string
        scheduleUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        waypoints:
          description: Ordered list of waypoints that define the route. Waypoint UUIDs are ignored on create and assigned by the system.
          items:
            $ref: "#/components/schemas/Robot_RouteWaypointWSRequest"
          nullable: true
          type: array
      type: object
    BaseRuleTriggerType:
      discriminator:
        mapping:
          ALERT_MONITORING_EVENT: "#/components/schemas/AlertMonitoringRuleTriggerType"
          AUDIT_EVENT: "#/components/schemas/AuditRuleTriggerType"
          BADGE_INTEGRATION_EVENT: "#/components/schemas/BadgeIntegrationRuleTriggerType"
          BUTTON_INTEGRATION_EVENT: "#/components/schemas/ButtonIntegrationRuleTriggerType"
          CUSTOM_LLM_EVENT: "#/components/schemas/CustomLLMEventRuleTriggerType"
          DEVICE_ACTIVITY_EVENT: "#/components/schemas/DeviceActivityRuleTriggerType"
          DIAGNOSTIC_EVENT: "#/components/schemas/DiagnosticRuleTriggerType"
          INCOMING_WEBHOOK_EVENT: "#/components/schemas/IncomingWebhookRuleTriggerType"
          LOCATION_LOCKDOWN_ACTIVATED_EVENT: "#/components/schemas/LocationLockdownActivatedRuleTriggerType"
          LOCATION_LOCKDOWN_DEACTIVATED_EVENT: "#/components/schemas/LocationLockdownDeactivatedRuleTriggerType"
          RECURRING_EVENT: "#/components/schemas/RecurringRuleTriggerType"
          SCHEDULED_EVENT: "#/components/schemas/ScheduledRuleTriggerType"
          SHELLY_INTEGRATION_EVENT: "#/components/schemas/ShellyIntegrationRuleTriggerType"
          VISION_LLM_EVENT: "#/components/schemas/VisionLLMRuleTriggerType"
        propertyName: type
      oneOf:
        - $ref: "#/components/schemas/DeviceActivityRuleTriggerType"
        - $ref: "#/components/schemas/AuditRuleTriggerType"
        - $ref: "#/components/schemas/AlertMonitoringRuleTriggerType"
        - $ref: "#/components/schemas/DiagnosticRuleTriggerType"
        - $ref: "#/components/schemas/BadgeIntegrationRuleTriggerType"
        - $ref: "#/components/schemas/ScheduledRuleTriggerType"
        - $ref: "#/components/schemas/VisionLLMRuleTriggerType"
        - $ref: "#/components/schemas/RecurringRuleTriggerType"
        - $ref: "#/components/schemas/LocationLockdownActivatedRuleTriggerType"
        - $ref: "#/components/schemas/LocationLockdownDeactivatedRuleTriggerType"
        - $ref: "#/components/schemas/CustomLLMEventRuleTriggerType"
        - $ref: "#/components/schemas/ButtonIntegrationRuleTriggerType"
        - $ref: "#/components/schemas/ShellyIntegrationRuleTriggerType"
        - $ref: "#/components/schemas/IncomingWebhookRuleTriggerType"
      properties:
        type:
          $ref: "#/components/schemas/RuleTriggerTypeEnum"
      title: RuleTriggerType
      type: object
    DeviceActivityRuleTriggerType:
      allOf:
        - properties:
            activityEvent:
              $ref: "#/components/schemas/SimpleDeviceActivityEventType"
            componentCompositeUuids:
              items:
                description: base 64 (url-safe) uuid string
                example: AAAAAAAAAAAAAAAAAAAAAA
                format: RUUID
                nullable: true
                type: string
              nullable: true
              type: array
            componentUuids:
              items:
                description: base 64 (url-safe) uuid string
                example: AAAAAAAAAAAAAAAAAAAAAA
                format: RUUID
                nullable: true
                type: string
              nullable: true
              type: array
            deviceLabels:
              items:
                nullable: true
                type: string
              nullable: true
              type: array
            deviceUuids:
              items:
                description: base 64 (url-safe) uuid string
                example: AAAAAAAAAAAAAAAAAAAAAA
                format: RUUID
                nullable: true
                type: string
              nullable: true
              type: array
            locationUuids:
              items:
                description: base 64 (url-safe) uuid string
                example: AAAAAAAAAAAAAAAAAAAAAA
                format: RUUID
                nullable: true
                type: string
              nullable: true
              type: array
          type: object
      nullable: true
      properties:
        type:
          $ref: "#/components/schemas/RuleTriggerTypeEnum"
      type: object
    SimpleDeviceActivityEventType:
      discriminator:
        propertyName: activityEvent
      nullable: true
      properties:
        activityEvent:
          $ref: "#/components/schemas/ActivityEnum"
      title: DeviceActivityEventType
      type: object
    ActivityEnum:
      enum:
        - 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
      type: string
    RuleTriggerTypeEnum:
      enum:
        - DEVICE_ACTIVITY_EVENT
        - AUDIT_EVENT
        - DIAGNOSTIC_EVENT
        - ALERT_MONITORING_EVENT
        - BADGE_INTEGRATION_EVENT
        - SCHEDULED_EVENT
        - VISION_LLM_EVENT
        - RECURRING_EVENT
        - LOCATION_LOCKDOWN_ACTIVATED_EVENT
        - LOCATION_LOCKDOWN_DEACTIVATED_EVENT
        - BUTTON_INTEGRATION_EVENT
        - CUSTOM_LLM_EVENT
        - SHELLY_INTEGRATION_EVENT
        - INCOMING_WEBHOOK_EVENT
        - UNKNOWN
      type: string
    AuditRuleTriggerType:
      allOf:
        - properties:
            auditEvent:
              $ref: "#/components/schemas/SimpleAuditEventType"
            userUuids:
              items:
                description: base 64 (url-safe) uuid string
                example: AAAAAAAAAAAAAAAAAAAAAA
                format: RUUID
                nullable: true
                type: string
              nullable: true
              type: array
          type: object
      nullable: true
      properties:
        type:
          $ref: "#/components/schemas/RuleTriggerTypeEnum"
      type: object
    SimpleAuditEventType:
      nullable: true
      properties:
        auditEvent:
          $ref: "#/components/schemas/AuditActionEnum"
      type: object
    AuditActionEnum:
      enum:
        - THREAT_CASE_ESCALATED
        - THREAT_CASE_CANCELLED
        - THREAT_CASE_DISMISSED
        - THREAT_CASE_DELETED
        - THREAT_CASE_DELETE_BY_STATUS
        - PIN_CREATED
        - PIN_DELETED
        - ALM_PIN_CREATE
        - ALM_PIN_BULK_CREATE
        - ALM_PIN_UPDATE
        - ALM_PIN_ROTATE
        - ALM_PIN_BULK_ROTATE
        - ALM_PIN_DELETE
        - ALM_PIN_KEY_IN
        - ALM_PIN_KEY_IN_FAILED
        - BASIC_AUTH_SUCCESS
        - BASIC_AUTH_FAILURE
        - SAML_LOGIN_WEB
        - LOGIN_WEB
        - PASSWORDLESS_LOGIN_WEB
        - PARTNER_LOGIN_WEB
        - PARTNER_PASSWORDLESS_LOGIN_WEB
        - SAML_LOGIN_FAILURE_WEB
        - LOGIN_FAILURE_WEB
        - RHOMBUS_KEY_LOGIN
        - RHOMBUS_KEY_PASSWORDLESS_LOGIN
        - RHOMBUS_KEY_SAML_LOGIN
        - LOGOUT_WEB
        - PARTNER_LOGOUT_WEB
        - WEB_CONSOLE_ACCESS
        - MOBILE_CONSOLE_ACCESS
        - SAML_LOGIN_MOBILE
        - PARTNER_LOGIN_MOBILE
        - PARTNER_PASSWORDLESS_LOGIN_MOBILE
        - LOGIN_MOBILE
        - PASSWORDLESS_LOGIN_MOBILE
        - SAML_LOGIN_FAILURE_MOBILE
        - LOGIN_FAILURE_MOBILE
        - LOGOUT_MOBILE
        - PARTNER_LOGOUT_MOBILE
        - MOBILE_ACCESS
        - PARTNER_LOGIN_MOBIlE_REFRESH
        - LOGIN_MOBIlE_REFRESH
        - RHOMBUS_KEY_LOGIN_REFRESH
        - CAMERA_WIFI_NETWORK_CHANGED
        - CAMERA_FORCED_REBOOT
        - AUDIO_GATEWAY_FORCED_REBOOT
        - ENVIRONMENTAL_GATEWAY_FORCED_REBOOT
        - DOORBELL_CAMERA_FORCED_REBOOT
        - BADGE_READER_FORCED_REBOOT
        - NVR_FORCED_REBOOT
        - FIRMWARE_UPDATE_CAMERA
        - DELETE_CAMERA
        - DELETE_USER
        - USER_SESSIONS_LOGOUT
        - DELETE_LOCATION
        - LOCATION_CREATE
        - LOCATION_UPDATED
        - DELETE_ROLE
        - ERASE_CAMERA
        - POLICY_UPDATE
        - POLICY_DELETE
        - POLICY_PAUSED_LOCATION
        - POLICY_PAUSED_DEVICE
        - POLICY_PAUSED_COMPONENT_COMPOSITE
        - CREATE_POLICY_ADDENDUM
        - DEVICE_REGISTERED
        - PENDING_REGISTRATION_CREATE
        - PENDING_REGISTRATION_REMOVED
        - PENDING_REGISTRATION_UPDATED
        - DEVICE_UPDATE
        - DEVICE_SETTINGS_UPDATE
        - REVERT_TO_DEFAULTS
        - DEVICE_FEATURE_UPDATE
        - DEVICE_ORG_REASSIGN
        - CLAIMKEY_RENEWAL_CREATED
        - LICENSES_CLAIMED
        - LICENSES_RETURNED
        - LICENSE_ASSIGNED
        - LICENSE_CREATED
        - LICENSE_UPDATED
        - USER_UPDATE
        - USER_CREATE
        - USER_IMPORT
        - BULK_PROVISION_CREDENTIALS
        - ROLE_CREATE
        - POLICY_CREATE
        - PARTNER_CLIENT_CREATE
        - PARTNER_CLIENT_DELETE
        - PARTNER_CUSTOMIZE_CLIENT
        - PARTNER_CUSTOMIZE_CLIENT_DEVICE
        - ORG_UPDATE
        - DELETE_ORG
        - DISABLE_ORG
        - CREATE_ORG
        - ROLE_UPDATE
        - USER_ROLE_UPDATE
        - USER_EMAIL_UPDATE
        - TIMELAPSE_CREATE
        - TIMELAPSE_DELETE
        - ALERT_DISMISS
        - ALL_ALERT_DISMISS
        - SAVED_CLIP_CREATE
        - SAVED_CLIP_DELETE
        - CLIP_GROUP_CREATED
        - CLIP_GROUP_DELETE
        - SHARED_CLIP_DELETE
        - SHARED_CLIP_CREATE
        - SHARED_LINK_SENT
        - SHARED_LIVE_VIDEO_STREAM_WITH_PASSWORD_CREATE
        - SHARED_LIVE_VIDEO_STREAM_WITHOUT_PASSWORD_CREATE
        - SHARED_LIVE_VIDEO_STREAM_DELETE
        - SHARED_VIDEOWALL_WITH_PASSWORD_CREATE
        - SHARED_VIDEOWALL_WITHOUT_PASSWORD_CREATE
        - SHARED_VIDEOWALL_DELETE
        - RAW_HTTP_STREAM_CREATED
        - RAW_HTTP_STREAM_DELETED
        - SETUP_VIRTUAL_MFA_DEVICE
        - DELETE_VIRTUAL_MFA_DEVICE
        - SETUP_SCIM_API_ACCESS
        - REVOKE_SCIM_API_ACCESS
        - AUDIT_EXPORT
        - COUNT_EXPORT
        - DIAGNOSTIC_EXPORT
        - INVENTORY_EXPORT
        - USERS_EXPORT
        - UPTIME_EXPORT
        - ALM_EVENT_EXPORT
        - SUPPORT_TICKET_OPEN
        - RMA_OPEN
        - FEEDBACK_CREATE
        - SUPPORT_ACCESS_GRANT
        - SUPPORT_ACCESS_REVOKE
        - SUPPORT_PARTNER_ADD
        - SUPPORT_PARTNER_REMOVE
        - SUPPORT_PARTNER_LOGIN_ACCESS_EXPIRED
        - SUPPORT_SEARCH_TICKETS
        - ACCEPT_UAP
        - ACCEPT_RHOMBUS_UAP
        - ACCEPT_ALERTMONITORING_UAP
        - CREATE_SEEKPOINT
        - DELETE_CUSTOM_SEEKPOINT
        - UPDATE_INTEGRATION_SAML
        - UPDATE_INTEGRATION_SLACK
        - UPDATE_INTEGRATION_SLACK_V2
        - DELETE_INTEGRATION_SLACK_V2
        - UPDATE_INTEGRATION_BOX
        - DELETE_INTEGRATION_BOX
        - UPDATE_INTEGRATION_GOOGLE
        - DELETE_INTEGRATION_GOOGLE
        - UPDATE_INTEGRATION_GOOGLE_V2
        - DELETE_INTEGRATION_GOOGLE_V2
        - UPDATE_INTEGRATION_PAGERDUTY
        - DELETE_INTEGRATION_PAGERDUTY
        - UPDATE_INTEGRATION_SERVICENOW
        - DELETE_INTEGRATION_SERVICENOW
        - UPDATE_INTEGRATION_OFFICE365
        - DELETE_INTEGRATION_OFFICE365
        - UPDATE_INTEGRATION_DROPBOX
        - DELETE_INTEGRATION_DROPBOX
        - UPDATE_INTEGRATION_SQUARE
        - DELETE_INTEGRATION_SQUARE
        - UPDATE_INTEGRATION_AWS
        - DELETE_INTEGRATION_AWS
        - UPDATE_INTEGRATION_HALO
        - DELETE_INTEGRATION_HALO
        - UPDATE_INTEGRATION_TRITON
        - DELETE_INTEGRATION_TRITON
        - UPDATE_INTEGRATION_WEBHOOK
        - DELETE_INTEGRATION_WEBHOOK
        - UPDATE_INTEGRATION_EMAIL
        - DELETE_INTEGRATION_EMAIL
        - UPDATE_INTEGRATION_MATTERMOST
        - DELETE_INTEGRATION_MATTERMOST
        - UPDATE_INTEGRATION_OPENPATH
        - DELETE_INTEGRATION_OPENPATH
        - UPDATE_INTEGRATION_AVIGILON_ALTA
        - DELETE_INTEGRATION_AVIGILON_ALTA
        - UPDATE_INTEGRATION_DICE
        - DELETE_INTEGRATION_DICE
        - UPDATE_INTEGRATION_LUMEO
        - DELETE_INTEGRATION_LUMEO
        - UPDATE_INTEGRATION_DEVICE
        - DELETE_INTEGRATION_DEVICE
        - UPDATE_INTEGRATION_GUESTMANAGEMENT
        - DELETE_INTEGRATION_GUESTMANAGEMENT
        - UPDATE_GUESTMANAGEMENT_SETTINGS
        - DELETE_GUESTMANAGEMENT_SETTINGS
        - INVITE_GUEST
        - CREATE_GUEST
        - CHECKIN_GUEST
        - CHECKOUT_GUEST
        - UPDATE_GUEST
        - DELETE_GUEST
        - ACTIVATE_KIOSK
        - UPDATE_INTEGRATION_OMNIALERT
        - DELETE_INTEGRATION_OMNIALERT
        - UPDATE_INTEGRATION_OPENTECHALLIANCE
        - DELETE_INTEGRATION_OPENTECHALLIANCE
        - UPDATE_INTEGRATION_TOAST
        - DELETE_INTEGRATION_TOAST
        - UPDATE_INTEGRATION_KISI
        - DELETE_INTEGRATION_KISI
        - UPDATE_INTEGRATION_BRIVO
        - DELETE_INTEGRATION_BRIVO
        - UPDATE_INTEGRATION_BUTTERFLYMX
        - DELETE_INTEGRATION_BUTTERFLYMX
        - UPDATE_INTEGRATION_ENVOY
        - DELETE_INTEGRATION_ENVOY
        - CREATE_ENVOY_INVITE
        - UPDATE_INTEGRATION_SALTO
        - UPDATE_INTEGRATION_PDK
        - DELETE_INTEGRATION_PDK
        - UPDATE_INTEGRATION_GENEA
        - DELETE_INTEGRATION_GENEA
        - UPDATE_INTEGRATION_MICROSOFTTEAMS
        - DELETE_INTEGRATION_MICROSOFTTEAMS
        - UPDATE_INTEGRATION_AMT
        - DELETE_INTEGRATION_AMT
        - UPDATE_INTEGRATION_PLACEOS
        - DELETE_INTEGRATION_PLACEOS
        - UPDATE_INTEGRATION_INTUIFACE
        - DELETE_INTEGRATION_INTUIFACE
        - UPDATE_INTEGRATION_INFORMACAST
        - DELETE_INTEGRATION_INFORMACAST
        - UPDATE_INTEGRATION_BOULEVARD
        - DELETE_INTEGRATION_BOULEVARD
        - UPDATE_INTEGRATION_INNERRANGE
        - DELETE_INTEGRATION_INNERRANGE
        - UPDATE_INTEGRATION_HONEYWELL_ELEMENTS
        - DELETE_INTEGRATION_HONEYWELL_ELEMENTS
        - UPDATE_INTEGRATION_HONEYWELL_ONGUARD
        - DELETE_INTEGRATION_HONEYWELL_ONGUARD
        - UPDATE_INTEGRATION_SHELLY
        - DELETE_INTEGRATION_SHELLY
        - SEND_INTEGRATION_COMMAND_SHELLY
        - UPDATE_INTEGRATION_FLIC
        - DELETE_INTEGRATION_FLIC
        - UPDATE_INTEGRATION_NINEONEONECELLULAR
        - DELETE_INTEGRATION_NINEONEONECELLULAR
        - UPDATE_INTEGRATION_PIMLOC
        - DELETE_INTEGRATION_PIMLOC
        - UPDATE_INTEGRATION_RAPTOR
        - DELETE_INTEGRATION_RAPTOR
        - UPDATE_INTEGRATION_LLM
        - DELETE_INTEGRATION_LLM
        - UPDATE_INTEGRATION_NOONLIGHT
        - UPDATE_INTEGRATION_ALARM_MONITORING
        - ENABLE_LIVE_ALARM_MONITORING
        - ENABLE_LIVE_ALARM_MONITORING_LOCATION
        - CREATE_ALARM_MONITORING_SETTINGS
        - UPDATE_ALARM_MONITORING_SETTINGS
        - DELETE_ALARM_MONITORING_SETTINGS
        - ENABLE_ALARM_MONITORING_SETTINGS
        - DISABLE_ALARM_MONITORING_SETTINGS
        - ALM_CANCEL_MANUAL_ARM
        - ALM_CANCEL_MANUAL_DISARM
        - ALM_THREAT_QUALIFICATION_CREATE
        - ALM_THREAT_QUALIFICATION_UPDATE
        - ALM_THREAT_QUALIFICATION_DELETE
        - REPORT_VEHICLE_EVENT
        - API_TOKEN_REQUEST
        - API_TOKEN_REVOKE
        - API_INVOCATION
        - API_OAUTH_TOKEN_REQUEST
        - API_OAUTH_TOKEN_REFRESH
        - API_OAUTH_TOKEN_REVOKE
        - API_OAUTH_INVOCATION
        - API_OAUTH_SUBMIT_APPLICATION
        - API_OAUTH_UPDATE_APPLICATION
        - API_OAUTH_DELETE_APPLICATION
        - API_OAUTH_AUTHORIZE
        - VIDEO_WALL_CREATE
        - VIDEO_WALL_UPDATE
        - VIDEO_WALL_DELETE
        - VIEW_SHARE_TIMELAPSE
        - VIEW_SHARE_CLIP
        - VIEW_SHARE_STREAM
        - VIEW_SHARE_VIDEOWALL
        - VIEW_CAMERA_VOD
        - CAMERA_POLICY_UPDATE
        - CAMERA_POLICY_CREATE
        - CAMERA_POLICY_DELETE
        - TAG_POLICY_UPDATE
        - TAG_POLICY_CREATE
        - TAG_POLICY_DELETE
        - CLIMATE_POLICY_UPDATE
        - CLIMATE_POLICY_CREATE
        - CLIMATE_POLICY_DELETE
        - DOOR_POLICY_UPDATE
        - DOOR_POLICY_CREATE
        - DOOR_POLICY_DELETE
        - DOOR_SCHEDULE_EXCEPTION_UPDATE
        - DOOR_SCHEDULE_EXCEPTION_CREATE
        - DOOR_SCHEDULE_EXCEPTION_DELETE
        - ACCESS_CONTROLLED_DOOR_POLICY_UPDATE
        - ACCESS_CONTROLLED_DOOR_POLICY_CREATE
        - ACCESS_CONTROLLED_DOOR_POLICY_DELETE
        - VIDEO_INTERCOM_POLICY_UPDATE
        - VIDEO_INTERCOM_POLICY_CREATE
        - VIDEO_INTERCOM_POLICY_DELETE
        - OCCUPANCY_POLICY_UPDATE
        - OCCUPANCY_POLICY_CREATE
        - OCCUPANCY_POLICY_DELETE
        - AUDIO_POLICY_UPDATE
        - AUDIO_POLICY_CREATE
        - AUDIO_POLICY_DELETE
        - SCHEDULE_CREATE
        - SCHEDULE_DELETE
        - SCHEDULE_UPDATE
        - CUSTOM_EVENT_CREATE
        - CUSTOM_EVENT_DELETE
        - CUSTOM_EVENT_UPDATE
        - CUSTOM_EVENT_TOS_ACCEPTED
        - CUSTOM_EVENT_TOS_REVOKED
        - SUBSCRIPTION_SETUP_INTENT_CREATE
        - SUBSCRIPTION_CREATE
        - SUBSCRIPTION_DELETE
        - SUBSCRIPTION_PAYMENT_METHOD_DELETE
        - SUBSCRIPTION_PAYMENT_METHOD_UPDATE
        - SUBSCRIPTION_MAX_SPEND_UPDATE
        - SUBSCRIPTION_CHECKOUT_SESSION_CREATE
        - UPLOAD_FLOORPLAN
        - ORG_AUDIO_RECORD_UPDATE
        - ORG_AUDIO_ANALYSIS_UPDATE
        - ORG_LLM_USAGE_UPDATE
        - ORG_LLM_USAGE_ENABLED
        - ORG_LLM_USAGE_DISABLED
        - DOOR_ACCESS_UNLOCK
        - RHOMBUS_KEY_DOOR_UNLOCK
        - ELEVATOR_ACCESS_UNLOCK
        - RHOMBUS_KEY_ELEVATOR_UNLOCK
        - VIDEO_INTERCOM_TALK
        - RHOMBUS_KEY_UPDATE_APP_SETTINGS
        - UPLOAD_ACCESS_CONTROLLED_DOOR
        - UPLOAD_ACCESS_CONTROLLED_ELEVATOR
        - UPLOAD_ACCESS_CONTROLLED_ELEVATOR_LANDING
        - UPLOAD_USER_PROFILE_PICTURE
        - ACCESS_GRANT_CREATE
        - ACCESS_GRANT_UPDATE
        - ACCESS_GRANT_DELETE
        - ACCESS_REVOCATION_CREATE
        - ACCESS_REVOCATION_UPDATE
        - ACCESS_REVOCATION_DELETE
        - ACCESS_CONTROLLED_DOOR_CREATE
        - ACCESS_CONTROLLED_DOOR_UPDATE
        - ACCESS_CONTROLLED_DOOR_DELETE
        - ACCESS_CONTROLLED_ELEVATOR_CREATE
        - ACCESS_CONTROLLED_ELEVATOR_UPDATE
        - ACCESS_CONTROLLED_ELEVATOR_DELETE
        - ACCESS_CONTROLLED_ELEVATOR_LANDING_CREATE
        - ACCESS_CONTROLLED_ELEVATOR_LANDING_UPDATE
        - ACCESS_CONTROLLED_ELEVATOR_LANDING_DELETE
        - AC_CRED_RHOMBUS_SECURE_CSN_CREATE
        - AC_CRED_RHOMBUS_SECURE_CSN_UPDATE
        - AC_CRED_RHOMBUS_SECURE_CSN_DELETE
        - AC_CRED_RHOMBUS_SECURE_CSN_REVOKED
        - AC_CRED_RHOMBUS_SECURE_CSN_ASSIGN
        - AC_CRED_RHOMBUS_SECURE_CSN_UNASSIGN
        - AC_CRED_RHOMBUS_SECURE_CSN_SUSPEND
        - AC_CRED_RHOMBUS_SECURE_CSN_UNSUSPEND
        - AC_CRED_STANDARD_CSN_CREATE
        - AC_CRED_STANDARD_CSN_UPDATE
        - AC_CRED_STANDARD_CSN_DELETE
        - AC_CRED_STANDARD_CSN_REVOKED
        - AC_CRED_STANDARD_CSN_ASSIGN
        - AC_CRED_STANDARD_CSN_UNASSIGN
        - AC_CRED_STANDARD_CSN_SUSPEND
        - AC_CRED_STANDARD_CSN_UNSUSPEND
        - AC_CRED_RHOMBUS_SECURE_MOBILE_CREATE
        - AC_CRED_RHOMBUS_SECURE_MOBILE_UPDATE
        - AC_CRED_RHOMBUS_SECURE_MOBILE_DELETE
        - AC_CRED_RHOMBUS_SECURE_MOBILE_REVOKED
        - AC_CRED_RHOMBUS_SECURE_MOBILE_ASSIGN
        - AC_CRED_RHOMBUS_SECURE_MOBILE_UNASSIGN
        - AC_CRED_RHOMBUS_SECURE_MOBILE_SUSPEND
        - AC_CRED_RHOMBUS_SECURE_MOBILE_UNSUSPEND
        - AC_CRED_PIN_CREATE
        - AC_CRED_PIN_BULK_CREATE
        - AC_CRED_PIN_UPDATE
        - AC_CRED_PIN_ROTATE
        - AC_CRED_PIN_BULK_ROTATE
        - AC_CRED_PIN_DELETE
        - AC_CRED_PIN_REVOKED
        - AC_CRED_PIN_ASSIGN
        - AC_CRED_PIN_UNASSIGN
        - AC_CRED_PIN_SUSPEND
        - AC_CRED_PIN_UNSUSPEND
        - AC_CRED_QR_CREATE
        - AC_CRED_QR_REVOKED
        - AC_CRED_QR_DELETE
        - AC_CRED_QR_SUSPEND
        - AC_CRED_QR_UNSUSPEND
        - AC_CRED_RHOMBUS_SECURE_NFC_CREATE
        - AC_CRED_RHOMBUS_SECURE_NFC_REVOKED
        - AC_CRED_RHOMBUS_SECURE_NFC_DELETE
        - AC_CRED_RHOMBUS_SECURE_NFC_SUSPEND
        - AC_CRED_RHOMBUS_SECURE_NFC_UNSUSPEND
        - AC_CRED_WIEGAND_CREATE
        - AC_CRED_WIEGAND_UPDATE
        - AC_CRED_WIEGAND_DELETE
        - AC_CRED_WIEGAND_REVOKED
        - AC_CRED_WIEGAND_ASSIGN
        - AC_CRED_WIEGAND_UNASSIGN
        - AC_CRED_WIEGAND_SUSPEND
        - AC_CRED_WIEGAND_UNSUSPEND
        - AC_CRED_NOTE_UPDATE
        - AC_LOCKDOWN_PLAN_CREATED
        - AC_LOCKDOWN_PLAN_UPDATED
        - AC_LOCKDOWN_PLAN_DELETED
        - AC_LOCKDOWN_ACTIVATED
        - AC_LOCKDOWN_DEACTIVATED
        - AC_LOCKDOWN_PLAN_SWITCHED
        - AC_COMPONENT_POWER_CYCLE
        - AC_DOOR_STATE_OVERRIDE_APPLIED
        - AC_DOOR_STATE_OVERRIDE_CANCELLED
        - AC_ELEVATOR_LANDING_ACCESS_STATE_OVERRIDE_APPLIED
        - AC_ELEVATOR_LANDING_ACCESS_STATE_OVERRIDE_CANCELLED
        - AC_GUEST_PASS_CREATE
        - AC_GUEST_PASS_UPDATE
        - AC_GUEST_PASS_SUSPEND
        - AC_GUEST_PASS_UNSUSPEND
        - AC_GUEST_PASS_EXPIRE
        - AC_GUEST_PASS_DELETE
        - SCIM_GET_ALL_USERS
        - SCIM_POST_CREATE_USER
        - SCIM_PUT_UPDATE_USER
        - SCIM_PATCH_UPDATE_USER
        - SCIM_GET_USER_BY_ID
        - SCIM_DELETE_USER_BY_ID
        - SCIM_GET_ALL_GROUPS
        - SCIM_POST_CREATE_GROUP
        - SCIM_PUT_UPDATE_GROUP
        - SCIM_PATCH_UPDATE_GROUP
        - SCIM_GET_GROUP_BY_ID
        - SCIM_DELETE_GROUP_BY_ID
        - CREATE_ACCESS_CONTROL_GROUP
        - UPDATE_ACCESS_CONTROL_GROUP
        - DELETE_ACCESS_CONTROL_GROUP
        - RULE_CREATE
        - RULE_DELETE
        - RULE_UPDATE
        - RULE_PAUSE
        - UPLOAD_FACES
        - UPDATE_FACE
        - REPORT_FACE_EVENT
        - FACE_EVENT_UPDATED
        - FACE_EVENT_DELETED
        - FACE_PERSON_CREATED
        - FACE_PERSON_UPDATED
        - FACE_PERSON_DELETED
        - FACE_MATCHMAKER_CREATED
        - FACE_MATCHMAKER_DELETED
        - FACE_MATCHMAKER_UPLOADED
        - FACE_MATCHING_CONFIG_UPDATED
        - EXPUNGE_FACES_ORG
        - EXPUNGE_VEHICLES_ORG
        - DEVICE_NETWORK_CONFIGURATION_CHANGE
        - KIOSK_UPDATED
        - KIOSK_DELETED
        - KIOSK_CREATED
        - GUEST_DELETED
        - UPDATE_APERIO_FIRMWARE
        - UPDATE_INTEGRATION_APERIO
        - DELETE_INTEGRATION_APERIO
        - APERIO_GATEWAY_CREATE
        - APERIO_DOORS_CREATE
        - APERIO_GATEWAY_REBOOT
        - APERIO_DTC_CLEAR
        - THIRD_PARTY_CAMERA_CREATE
        - THIRD_PARTY_CAMERA_DELETE
        - THIRD_PARTY_CAMERA_UPDATED
        - THIRD_PARTY_CAMERA_ASSIGNED_TO_CORE
        - THIRD_PARTY_CAMERA_ASSIGNED_TO_LITE
        - THIRD_PARTY_CAMERA_UNASSIGNED
        - THIRD_PARTY_CAMERA_PASSWORD_CREATE
        - THIRD_PARTY_CAMERA_PASSWORD_DELTE
        - THIRD_PARTY_CAMERA_PASSWORD_DELETE
        - CREATE_CHATBOT_CONFIG
        - UPDATE_CHATBOT_CONFIG
        - DELETE_CHATBOT_CONFIG
        - SUPPORT_AUTHORITY_UPDATE
        - SUPPORT_AUTHORITY_LOGOUT_ALL
        - DELETE_DOOR_CONTROLLER
        - DELETE_DOORBELL_CAMERA
        - DELETE_BADGE_READER
        - DELETE_ENVIRONMENTAL_GATEWAY
        - AC_LOCKDOWN_TEST_MODE_ENABLED
        - AC_LOCKDOWN_TEST_MODE_DISABLED
        - CLOUD_ARCHIVING_CONFIG_UPDATE
        - CLOUD_ARCHIVING_CONFIG_DELETE
        - SCIM_UPDATE_SETTINGS
        - INCIDENT_REPORT_CREATE
        - INCIDENT_REPORT_DELETE
        - INCIDENT_REPORT_UPDATE
        - INCIDENT_REPORT_SHARE
        - DATA_RETENTION_SETTINGS_UPDATE
        - MSP_DESIGNATION_SYNC
        - MSP_DESIGNATION_ACTIVATED
        - MSP_DESIGNATION_REVOKED
        - MSP_CLIENT_ADOPT
        - MSP_CLIENT_RELEASE
        - MSP_CLIENT_DEACTIVATE
        - MSP_CLIENT_POLICY_UPDATE
        - MSP_LICENSE_ASSIGN
        - MSP_LICENSE_RECLAIM
        - MSP_HARDWARE_MOVE
        - UNKNOWN
      type: string
    AlertMonitoringRuleTriggerType:
      allOf:
        - properties:
            alertMonitoringRulesEventType:
              $ref: "#/components/schemas/AlertMonitoringRulesEventTypeEnum"
            locationUuids:
              items:
                description: base 64 (url-safe) uuid string
                example: AAAAAAAAAAAAAAAAAAAAAA
                format: RUUID
                nullable: true
                type: string
              nullable: true
              type: array
          type: object
      nullable: true
      properties:
        type:
          $ref: "#/components/schemas/RuleTriggerTypeEnum"
      type: object
    AlertMonitoringRulesEventTypeEnum:
      enum:
        - ALARM_CREATED
        - ALARM_CANCELED
        - UNKNOWN
      type: string
    DiagnosticRuleTriggerType:
      allOf:
        - properties:
            deviceLabels:
              items:
                nullable: true
                type: string
              nullable: true
              type: array
            deviceUuids:
              items:
                description: base 64 (url-safe) uuid string
                example: AAAAAAAAAAAAAAAAAAAAAA
                format: RUUID
                nullable: true
                type: string
              nullable: true
              type: array
            diagnosticEvent:
              $ref: "#/components/schemas/SimpleDiagnosticEventType"
            locationUuids:
              items:
                description: base 64 (url-safe) uuid string
                example: AAAAAAAAAAAAAAAAAAAAAA
                format: RUUID
                nullable: true
                type: string
              nullable: true
              type: array
          type: object
      nullable: true
      properties:
        type:
          $ref: "#/components/schemas/RuleTriggerTypeEnum"
      type: object
    SimpleDiagnosticEventType:
      nullable: true
      properties:
        diagnosticEvent:
          $ref: "#/components/schemas/DiagnosticActivityEnum"
      type: object
    DiagnosticActivityEnum:
      enum:
        - CAMERA_CONNECTED
        - CAMERA_DISCONNECTED
        - STARTUP
        - GATEWAY_CONNECTED
        - GATEWAY_DISCONNECTED
        - UPDATE_STARTED
        - UPDATE_FIRMWARE_DOWNLOADED
        - UPDATE_FIRMWARE_APPLIED
        - UPDATE_STARTING_REBOOT
        - UPDATE_FAILED_MD5_MISMATCH
        - UPDATE_FAILED_ACCESS_DENIED
        - UPDATE_FAILED_MITM
        - UPDATE_FAILED_CONNNECTION_REFUSED
        - UPDATE_FAILED_CONNNECTION_TIMEOUT
        - UPDATE_FAILED_CONNECTION_REFUSED
        - UPDATE_FAILED_CONNECTION_TIMEOUT
        - UPDATE_FAILED_DNS_FAILURE
        - UPDATE_RUNNING
        - UPDATE_HALTED_FOR_INVESTIGATION
        - UPDATE_HALT_CLEARED
        - UPDATE_HALT_STATE_ACTIVE
        - UPDATE_REFUSED_HALTED
        - BLE_CONNECTED
        - BLE_CONNECTION_FAILED
        - BLE_DISCONNECTED
        - BLE_OP_SUCCESS
        - BLE_OP_FAILURE
        - UPLOAD_CLIP_SUCCESS
        - UPLOAD_CLIP_FAILURE
        - NOTIFICATION_FAILURE
        - USB_FAILURE_REBOOT
        - PERSISTENT_STORAGE_FAILURE
        - PING
        - FORCED_REBOOT
        - AUTO_REBOOT
        - AUDIO_HARDWARE_NOT_DETECTED
        - ENCRYPTED_CONTAINER_FAILURE_CREATE
        - ENCRYPTED_CONTAINER_FAILURE_OPEN
        - ENCRYPTED_CONTAINER_FAILURE_MOUNT
        - VIDEO_HARDWARE_FAILURE
        - WIFI_NETWORK_CHANGED
        - AI_ENGINE_DOWNLOADED
        - AI_ENGINE_DOWNLOAD_FAILED_MD5_MISMATCH
        - AI_ENGINE_CONFIGURED
        - AI_ENGINE_CONFIGURATION_FAILED
        - MITM_FAILURE
        - SERVER_RECONNECT
        - AP_CHANGED
        - WATCHDOG_KILLED_AGENT
        - WATCHDOG_DID_RESET
        - CLIMATE_OFFLINE
        - CLIMATE_ONLINE
        - CLIMATE_LOW_BATTERY
        - CLIMATE_PROBE_CONNECTED
        - CLIMATE_PROBE_DISCONNECTED
        - DOOR_OFFLINE
        - DOOR_ONLINE
        - DOOR_LOW_BATTERY
        - OCCUPANCY_SENSOR_ONLINE
        - OCCUPANCY_SENSOR_OFFLINE
        - OCCUPANCY_SENSOR_LOW_BATTERY
        - BUTTON_OFFLINE
        - BUTTON_ONLINE
        - BUTTON_LOW_BATTERY
        - PROXIMITY_LOW_BATTERY
        - ROBOT_LOW_BATTERY
        - DOOR_CONTROLLER_CONNECTED
        - DOOR_CONTROLLER_DISCONNECTED
        - APERIO_LOW_BATTERY
        - APERIO_FLAT_BATTERY
        - APERIO_OK_BATTERY
        - APERIO_GW_CONNECTED
        - APERIO_GW_DISCONNECTED
        - APERIO_DEVICE_CONNECTED
        - APERIO_DEVICE_DISCONNECTED
        - SCHLAGE_LOW_BATTERY
        - SCHLAGE_CRITICAL_BATTERY
        - SCHLAGE_OK_BATTERY
        - SCHLAGE_GW_CONNECTED
        - SCHLAGE_GW_DISCONNECTED
        - SCHLAGE_APM_CONNECTED
        - SCHLAGE_APM_DISCONNECTED
        - BADGE_READER_CONNECTED
        - BADGE_READER_DISCONNECTED
        - REBOOT
        - NETWORK_INTERRUPTION
        - OPENPATH_WEBHOOK_FAILURE
        - TOAST_WEBHOOK_FAILURE
        - KISI_WEBHOOK_FAILURE
        - BRIVO_WEBHOOK_FAILURE
        - HALO_WEBHOOK_FAILURE
        - SALTO_WEBHOOK_FAILURE
        - SQUARE_WEBHOOK_FAILURE
        - BUTTERFLYMX_WEBHOOK_FAILURE
        - ENVOY_WEBHOOK_FAILURE
        - GENEA_WEBHOOK_FAILURE
        - PRODATAKEY_WEBHOOK_FAILURE
        - AMT_WEBHOOK_FAILURE
        - PLACEOS_WEBHOOK_FAILURE
        - OMNIALERT_WEBHOOK_FAILURE
        - FLIC_WEBHOOK_FAILURE
        - SHELLY_WEBHOOK_FAILURE
        - PIMLOC_WEBHOOK_FAILURE
        - NINEONEONECELLULAR_WEBHOOK_FAILURE
        - HONEYWELL_ELEMENTS_WEBHOOK_FAILURE
        - HONEYWELL_ONGUARD_WEBHOOK_FAILURE
        - TRITON_WEBHOOK_FAILURE
        - EXTERNAL_WEBHOOK_FAILURE
        - VOICE_CALL_INITIATED
        - VOICE_CALL_ANSWERED
        - VOICE_CALL_REJECTED_AS_MACHINE
        - VOICE_CALL_COMPLETED
        - VOICE_CALL_NO_ANSWER
        - VOICE_CALL_FAILED
        - VOICE_CALL_SKIPPED
        - CV_FAILURE
        - NFC_HW_FAILURE
        - CONFIG_ERROR
        - HW_FAILURE
        - BLE_HW_RECOVERED
        - BLE_HW_FAILURE
        - KEYPAD_ONLINE
        - KEYPAD_OFFLINE
        - ALM_OVERAGE_APPROACHING
        - ALM_OVERAGE_REACHED
        - ALM_OVERAGE_EXCEEDED
        - ALM_EXCESSIVE_VERIFICATIONS
        - KIOSK_OFFLINE
        - KIOSK_ONLINE
        - TUNNELED_DEVICE_CONNECTED
        - TUNNELED_DEVICE_DISCONNECTED
        - SD_CARD_CHANGED
        - SD_CARD_NOT_FOUND
        - SUPERVISION_CUT_DETECTED
        - SUPERVISION_SHORT_DETECTED
        - SUPERVISION_INVALID_SETUP
        - THIRD_PARTY_DEVICE_CONNECTED
        - THIRD_PARTY_DEVICE_DISCONNECTED
        - NVR_STREAMING_STATUS
        - STORAGE_SM
        - DEVICE_OFFLINE_EXTENDED
        - DEVICE_OFFLINE_RECOVERED
        - DEVICES_OFFLINE_THRESHOLD
        - CLOUD_ARCHIVE_LAGGING
        - CLOUD_ARCHIVE_RECOVERED
        - LOCAL_RECORDING_INTERRUPTED
        - LOCAL_RECORDING_RECOVERED
        - UNKNOWN
      type: string
    BadgeIntegrationRuleTriggerType:
      allOf: []
      nullable: true
      properties:
        type:
          $ref: "#/components/schemas/RuleTriggerTypeEnum"
      type: object
    ScheduledRuleTriggerType:
      allOf:
        - properties:
            locationUuids:
              description: List of locations to use for timezone evaluation and for display purposes
              items:
                description: base 64 (url-safe) uuid string
                example: AAAAAAAAAAAAAAAAAAAAAA
                format: RUUID
                nullable: true
                type: string
              nullable: true
              type: array
            minOfDay:
              description: minute of the day for this trigger. note that it is dependent on the timezone of the devices in the rule actions or the timezone of the specified locations.
              format: int32
              nullable: true
              type: integer
          type: object
      nullable: true
      properties:
        type:
          $ref: "#/components/schemas/RuleTriggerTypeEnum"
      type: object
    VisionLLMRuleTriggerType:
      allOf:
        - properties:
            createAffirmativeSeekpoints:
              nullable: true
              type: boolean
            createNegativeSeekpoints:
              nullable: true
              type: boolean
            deviceFacetUuid:
              description: RUUID with optional appended facet information
              example: AAAAAAAAAAAAAAAAAAAAAA.v0
              format: DeviceFacetUuid
              nullable: true
              type: string
            highDetail:
              nullable: true
              type: boolean
            userPrompt:
              nullable: true
              type: string
          type: object
      nullable: true
      properties:
        type:
          $ref: "#/components/schemas/RuleTriggerTypeEnum"
      type: object
    RecurringRuleTriggerType:
      allOf:
        - properties:
            locationUuids:
              description: Optional list of locations to specify timezones for evaluation. Note that if not specified, then we rely on the Actions to derive timezones.
              items:
                description: base 64 (url-safe) uuid string
                example: AAAAAAAAAAAAAAAAAAAAAA
                format: RUUID
                nullable: true
                type: string
              nullable: true
              type: array
            repeatInterval:
              description: Interval of timeUnit to re-occur at. i.e. trigger every 5 minutes, repeatInerval would be 5
              format: int32
              nullable: true
              type: integer
            timeUnit:
              $ref: "#/components/schemas/RecurringTimeUnitEnum"
          type: object
      nullable: true
      properties:
        type:
          $ref: "#/components/schemas/RuleTriggerTypeEnum"
      type: object
    RecurringTimeUnitEnum:
      description: Time unit of recurrence. i.e. trigger every 5 minutes, timeUnit would be MINUTES
      enum:
        - SECONDS
        - MINUTES
        - HOURS
      type: string
    LocationLockdownActivatedRuleTriggerType:
      allOf:
        - properties:
            locationUuid:
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              format: RUUID
              nullable: true
              type: string
            lockdownPlanUuid:
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              format: RUUID
              nullable: true
              type: string
          type: object
      nullable: true
      properties:
        type:
          $ref: "#/components/schemas/RuleTriggerTypeEnum"
      type: object
    LocationLockdownDeactivatedRuleTriggerType:
      allOf:
        - properties:
            locationUuid:
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              format: RUUID
              nullable: true
              type: string
            lockdownPlanUuid:
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              format: RUUID
              nullable: true
              type: string
          type: object
      nullable: true
      properties:
        type:
          $ref: "#/components/schemas/RuleTriggerTypeEnum"
      type: object
    CustomLLMEventRuleTriggerType:
      allOf:
        - properties:
            deviceFacetUuids:
              items:
                description: RUUID with optional appended facet information
                example: AAAAAAAAAAAAAAAAAAAAAA.v0
                format: DeviceFacetUuid
                nullable: true
                type: string
              nullable: true
              type: array
            promptUuid:
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              format: RUUID
              nullable: true
              type: string
          type: object
      nullable: true
      properties:
        type:
          $ref: "#/components/schemas/RuleTriggerTypeEnum"
      type: object
    ButtonIntegrationRuleTriggerType:
      allOf:
        - properties:
            thirdPartyBatteryLevel:
              nullable: true
              type: string
            thirdPartyButtonAction:
              nullable: true
              type: string
            thirdPartyButtonName:
              nullable: true
              type: string
            thirdPartyButtonSerialNumber:
              nullable: true
              type: string
            thirdPartyButtonUuid:
              nullable: true
              type: string
            timestamp:
              format: int64
              nullable: true
              type: integer
          type: object
      nullable: true
      properties:
        type:
          $ref: "#/components/schemas/RuleTriggerTypeEnum"
      type: object
    ShellyIntegrationRuleTriggerType:
      allOf:
        - properties:
            shellyChannel:
              format: int32
              nullable: true
              type: integer
            shellyDeviceId:
              nullable: true
              type: string
            shellyEventType:
              $ref: "#/components/schemas/ShellyEventTypeEnum"
            timestamp:
              format: int64
              nullable: true
              type: integer
          type: object
      nullable: true
      properties:
        type:
          $ref: "#/components/schemas/RuleTriggerTypeEnum"
      type: object
    ShellyEventTypeEnum:
      enum:
        - SWITCH_ON
        - SWITCH_OFF
        - INPUT_ON
        - INPUT_OFF
        - BUTTON_PUSH
        - BUTTON_LONG_PUSH
        - BUTTON_DOUBLE_PUSH
      type: string
    IncomingWebhookRuleTriggerType:
      allOf:
        - properties:
            displayName:
              nullable: true
              type: string
            webhookToken:
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              format: RUUID
              nullable: true
              type: string
          type: object
      nullable: true
      properties:
        type:
          $ref: "#/components/schemas/RuleTriggerTypeEnum"
      type: object
    Robot_RouteWaypointWSRequest:
      description: A waypoint within a robot route. On create, uuid is ignored and system-assigned. On update, null uuid creates a new waypoint; non-null identifies an existing one.
      properties:
        dwellStrategy:
          $ref: "#/components/schemas/DwellStrategyEnum"
        dwellTimeSecs:
          default: 15
          description: Duration in seconds the robot dwells at this waypoint
          format: int64
          nullable: true
          type: integer
        name:
          description: Display name for the waypoint
          nullable: true
          type: string
        ordinal:
          description: Determines the order in which waypoints are traversed. Lower ordinals go first
          format: int32
          nullable: true
          type: integer
        pose:
          $ref: "#/components/schemas/Pose"
        rules:
          description: Actions to execute when the robot arrives at this waypoint
          items:
            $ref: "#/components/schemas/Robot_RouteWaypointRuleWSRequest"
          nullable: true
          type: array
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        waypointRefUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      type: object
    DwellStrategyEnum:
      default: DURATION
      description: Strategy for how long the robot dwells at this waypoint
      enum:
        - NONE
        - DURATION
        - TIME_ABSOLUTE
        - EVENT
        - MANUAL
        - UNKNOWN
      type: string
    Pose:
      properties:
        orientation:
          items:
            description: Serialized as [x, y, z, w]
            format: double
            type: number
          maxItems: 4
          minItems: 4
          nullable: true
          type: array
        position:
          items:
            description: Serialized as [x, y, z]
            format: double
            type: number
          maxItems: 3
          minItems: 3
          nullable: true
          type: array
      type: object
    Robot_RouteWaypointRuleWSRequest:
      description: Defines an action rule that triggers when a robot arrives at a waypoint.
      properties:
        action:
          $ref: "#/components/schemas/RuleActionType"
        ruleFilters:
          $ref: "#/components/schemas/RuleFilterType"
        ruleName:
          description: Name of the rule
          example: Arrived at gas meter
          nullable: true
          type: string
      type: object
    RuleActionType:
      description: The action to take when this lockdown rule is triggered.
      properties:
        activateLocationLockdown:
          $ref: "#/components/schemas/ActivateLocationLockdownActionType"
        alertAction:
          nullable: true
          type: boolean
        audioPlaybackActions:
          items:
            $ref: "#/components/schemas/AudioPlaybackActionType"
          nullable: true
          type: array
        cancelLoopingAudioPlaybackAction:
          $ref: "#/components/schemas/CancelLoopingAudioPlaybackActionType"
        changeComponentCompositeAccessStateActions:
          items:
            $ref: "#/components/schemas/ChangeComponentCompositeAccessStateActionType"
          nullable: true
          type: array
        connectAudioDeviceToMobileAppAction:
          $ref: "#/components/schemas/ConnectAudioDeviceToMobileAppActionType"
        connectAudioDeviceToPhoneNumberAction:
          $ref: "#/components/schemas/ConnectAudioDeviceToPhoneNumberActionType"
        createAlarmAction:
          $ref: "#/components/schemas/CreateAlarmActionType"
        customActions:
          items:
            $ref: "#/components/schemas/CustomRuleAction"
          nullable: true
          type: array
        customLLMActions:
          items:
            $ref: "#/components/schemas/CustomLLMActionType"
          nullable: true
          type: array
        emailAuditLogExportActions:
          items:
            $ref: "#/components/schemas/EmailAuditLogExportActionType"
          nullable: true
          type: array
        enableDisableAudioRecordActions:
          items:
            $ref: "#/components/schemas/EnableDisableAudioRecordActionType"
          nullable: true
          type: array
        integrationCommandActions:
          items:
            $ref: "#/components/schemas/IntegrationCommandActionType"
          nullable: true
          type: array
        integrationNotificationActions:
          items:
            $ref: "#/components/schemas/IntegrationNotificationActionType"
          nullable: true
          type: array
        liveNotificationAction:
          nullable: true
          type: boolean
        remoteDoorUnlockActions:
          items:
            $ref: "#/components/schemas/RemoteDoorUnlockActionType"
          nullable: true
          type: array
        robotActions:
          items:
            $ref: "#/components/schemas/RobotAction"
          nullable: true
          type: array
        thirdPartyAudioPlaybackAction:
          $ref: "#/components/schemas/ThirdPartyAudioPlaybackActionType"
        thirdPartyStrobeSirenAction:
          $ref: "#/components/schemas/ThirdPartyStrobeSirenActionType"
        triggerComponentRelayActions:
          items:
            $ref: "#/components/schemas/TriggerComponentRelayActionType"
          nullable: true
          type: array
        webhookActions:
          items:
            $ref: "#/components/schemas/WebhookActionType"
          nullable: true
          type: array
      type: object
    ActivateLocationLockdownActionType:
      properties:
        locationLockdownPlanUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        locationUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      type: object
    AudioPlaybackActionType:
      properties:
        audioClipUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        audioGateways:
          items:
            description: base 64 (url-safe) uuid string
            example: AAAAAAAAAAAAAAAAAAAAAA
            format: RUUID
            nullable: true
            type: string
          nullable: true
          type: array
        loopDurationSec:
          format: int32
          nullable: true
          type: integer
        playCount:
          format: int32
          nullable: true
          type: integer
        source:
          $ref: "#/components/schemas/AudioPlaybackSourceEnum"
      type: object
    AudioPlaybackSourceEnum:
      enum:
        - ON_DEVICE
        - STREAM
      type: string
    CancelLoopingAudioPlaybackActionType:
      properties:
        _audioDevices:
          items:
            description: RUUID with optional appended facet information
            example: AAAAAAAAAAAAAAAAAAAAAA.v0
            format: DeviceFacetUuid
            nullable: true
            type: string
          nullable: true
          type: array
        audioDevices:
          items:
            description: RUUID with optional appended facet information
            example: AAAAAAAAAAAAAAAAAAAAAA.v0
            format: DeviceFacetUuid
            nullable: true
            type: string
          nullable: true
          type: array
      type: object
    ChangeComponentCompositeAccessStateActionType:
      properties:
        accessState:
          $ref: "#/components/schemas/AccessControlledDoorStateEnumType"
        alwaysCreateOverrideIfNoFirstIn:
          nullable: true
          type: boolean
        componentCompositeUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        expirationStrategy:
          $ref: "#/components/schemas/AccessStateOverrideExpirationStrategyEnum"
        expireTimeDelaySeconds:
          format: int64
          nullable: true
          type: integer
        expireTimeOfDayLocalSeconds:
          format: int64
          nullable: true
          type: integer
        useFirstInRulesIfPossible:
          nullable: true
          type: boolean
        version:
          format: int32
          nullable: true
          readOnly: true
          type: integer
      type: object
    AccessControlledDoorStateEnumType:
      enum:
        - UNLOCKED
        - ACCESS_CONTROLLED
      type: string
    AccessStateOverrideExpirationStrategyEnum:
      enum:
        - TIME_DELAY
        - TIME_OF_DAY_LOCAL
        - NONE
      type: string
    ConnectAudioDeviceToMobileAppActionType:
      properties:
        audioDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        deviceType:
          $ref: "#/components/schemas/DeviceTypeEnum"
        doorUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        targetDoorStationUuids:
          items:
            description: base 64 (url-safe) uuid string
            example: AAAAAAAAAAAAAAAAAAAAAA
            format: RUUID
            nullable: true
            type: string
          nullable: true
          type: array
        targetUserUuids:
          items:
            description: base 64 (url-safe) uuid string
            example: AAAAAAAAAAAAAAAAAAAAAA
            format: RUUID
            nullable: true
            type: string
          nullable: true
          type: array
      type: object
    DeviceTypeEnum:
      enum:
        - 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
      type: string
    ConnectAudioDeviceToPhoneNumberActionType:
      properties:
        audioDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        deviceType:
          $ref: "#/components/schemas/DeviceTypeEnum"
        doorUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        optionalGreeting:
          nullable: true
          type: string
        phoneNumber:
          nullable: true
          type: string
      type: object
    CreateAlarmActionType:
      properties:
        attachMediaToActiveAlarm:
          nullable: true
          type: boolean
        entryInstructions:
          nullable: true
          type: string
        exclusiveEmergencyContact:
          nullable: true
          type: boolean
        exclusiveEntryInstructions:
          nullable: true
          type: boolean
        locationUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        mediaDeviceUuids:
          items:
            description: RUUID with optional appended facet information
            example: AAAAAAAAAAAAAAAAAAAAAA.v0
            format: DeviceFacetUuid
            nullable: true
            type: string
          nullable: true
          type: array
        onsiteEmergencyContact:
          $ref: "#/components/schemas/EmergencyContact"
        reason:
          nullable: true
          type: string
        sirenSettings:
          $ref: "#/components/schemas/AMSirenSettingsType"
        subLocationsHierarchyKey:
          description: |
            A sequence of one or more base 64 (url-safe) uuid substrings.
            These substrings are separated by dots (.).
          example: AAAAAAAAAAAAAAAAAAAAAA.AAAAAAAAAAAAAAAAAAAAAA.AAAAAAAAAAAAAAAAAAAAAA
          format: SubLocationsHierarchyKey
          nullable: true
          pattern: ^([A-Za-z0-9\-_]{22})([.][A-Za-z0-9\-_]{22})*$
          type: string
        triggerType:
          $ref: "#/components/schemas/CreateAlarmTriggerTypeEnum"
      type: object
    EmergencyContact:
      properties:
        name:
          description: The name of the emergency contact.
          nullable: true
          type: string
        phoneNumber:
          description: The phone number for this emergency contact.
          nullable: true
          type: string
      required:
        - name
        - phoneNumber
      type: object
    AMSirenSettingsType:
      properties:
        audioGateways:
          description: UUIDs of audio gateways used to play this siren.
          items:
            description: base 64 (url-safe) uuid string
            example: AAAAAAAAAAAAAAAAAAAAAA
            format: RUUID
            nullable: true
            type: string
          nullable: true
          type: array
          uniqueItems: true
        clipUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        durationSeconds:
          description: The duration (in seconds) to loop the clip audio for the siren.
          format: int32
          nullable: true
          type: integer
        playCount:
          description: The number of times to play the clip audio for the siren.
          format: int32
          nullable: true
          type: integer
      required:
        - audioGateways
        - clipUuid
      type: object
    CreateAlarmTriggerTypeEnum:
      enum:
        - PANIC_BUTTON
        - ALARM_INTEGRATION
      type: string
    CustomRuleAction:
      properties:
        headers:
          additionalProperties:
            nullable: true
            type: string
          nullable: true
          type: object
        path:
          nullable: true
          type: string
      type: object
    CustomLLMActionType:
      properties:
        deviceActivityEvents:
          additionalProperties:
            items:
              $ref: "#/components/schemas/ActivityEventData"
            nullable: true
            type: array
          nullable: true
          type: object
        deviceFacetUuids:
          items:
            description: RUUID with optional appended facet information
            example: AAAAAAAAAAAAAAAAAAAAAA.v0
            format: DeviceFacetUuid
            nullable: true
            type: string
          nullable: true
          type: array
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        promptUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        timestampMs:
          format: int64
          nullable: true
          type: integer
      type: object
    ActivityEventData:
      properties:
        activities:
          items:
            $ref: "#/components/schemas/ActivityEnum"
          nullable: true
          type: array
        boundingBoxes:
          items:
            $ref: "#/components/schemas/ClipBoundingBoxType"
          nullable: true
          type: array
        durationSec:
          format: int32
          nullable: true
          type: integer
        timestampMs:
          format: int64
          nullable: true
          type: integer
      type: object
    ClipBoundingBoxType:
      properties:
        activity:
          $ref: "#/components/schemas/ActivityEnum"
        alert:
          nullable: true
          type: boolean
        bottom:
          format: int32
          nullable: true
          type: integer
        confidence:
          format: float
          nullable: true
          type: number
        croppedImageLocator:
          nullable: true
          type: string
        customActivityColor:
          $ref: "#/components/schemas/FootageSeekPointColorEnum"
        customActivityDescription:
          nullable: true
          type: string
        customActivityDisplayName:
          nullable: true
          type: string
        dwelling:
          nullable: true
          type: boolean
        faceName:
          nullable: true
          type: string
        inMotion:
          nullable: true
          type: boolean
        keypointsV2:
          additionalProperties:
            $ref: "#/components/schemas/PointType"
          nullable: true
          type: object
        left:
          format: int32
          nullable: true
          type: integer
        licensePlate:
          nullable: true
          type: string
        loudness:
          format: int32
          nullable: true
          type: integer
        objectId:
          format: int32
          nullable: true
          type: integer
        pose:
          nullable: true
          type: string
        relativeSecond:
          format: float
          nullable: true
          type: number
        right:
          format: int32
          nullable: true
          type: integer
        sensorValType:
          $ref: "#/components/schemas/SensorValType"
        stableTrackId:
          format: int32
          nullable: true
          type: integer
        toastOrderIdInfo:
          $ref: "#/components/schemas/ToastOrderIdType"
        top:
          format: int32
          nullable: true
          type: integer
        unidentifiedFaceId:
          nullable: true
          type: string
        vehicleName:
          nullable: true
          type: string
      type: object
    FootageSeekPointColorEnum:
      enum:
        - BLUE
        - RED
        - PURPLE
        - TAN
        - ORANGE
        - TEAL
        - GRAY
        - BLACK
      type: string
    PointType:
      properties:
        x:
          format: int32
          nullable: true
          type: integer
        y:
          format: int32
          nullable: true
          type: integer
      type: object
    SensorValType:
      properties:
        sensorBoolean:
          nullable: true
          type: boolean
        sensorDouble:
          format: double
          nullable: true
          type: number
        sensorLong:
          format: int64
          nullable: true
          type: integer
      type: object
    ToastOrderIdType:
      properties:
        employeeName:
          nullable: true
          type: string
        guid:
          nullable: true
          type: string
        locationName:
          nullable: true
          type: string
        restaurantName:
          nullable: true
          type: string
        toastCheckInfo:
          $ref: "#/components/schemas/ToastCheckInfo"
      type: object
    ToastCheckInfo:
      properties:
        totalAmount:
          format: double
          nullable: true
          type: number
      type: object
    EmailAuditLogExportActionType:
      properties:
        includeActions:
          items:
            nullable: true
            type: string
          nullable: true
          type: array
        includeApiInvocation:
          nullable: true
          type: boolean
        lookbackCount:
          format: int32
          nullable: true
          type: integer
        lookbackType:
          $ref: "#/components/schemas/ReportLookbackTypeEnum"
        lookbackUnit:
          $ref: "#/components/schemas/ReportLookbackUnitEnum"
        recipientEmails:
          items:
            nullable: true
            type: string
          nullable: true
          type: array
        timezoneId:
          nullable: true
          type: string
      type: object
    ReportLookbackTypeEnum:
      enum:
        - ROLLING
        - PREVIOUS_DAY
        - PREVIOUS_WEEK
        - PREVIOUS_MONTH
      type: string
    ReportLookbackUnitEnum:
      enum:
        - HOURS
        - DAYS
        - WEEKS
      type: string
    EnableDisableAudioRecordActionType:
      properties:
        audioDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        enable:
          nullable: true
          type: boolean
      type: object
    IntegrationCommandActionType:
      properties:
        commandPayload:
          nullable: true
          type: string
        delaySecs:
          format: int32
          nullable: true
          type: integer
        integration:
          $ref: "#/components/schemas/IntegrationEnum"
      type: object
    IntegrationEnum:
      enum:
        - AVIGILON_ALTA
        - BOULEVARD
        - BRIVO
        - BUTTERFLY_MX
        - DEVICE_INTEGRATION
        - DICE
        - ENVOY
        - FLIC
        - GENEA
        - GOOGLE
        - HONEYWELL_ELEMENTS
        - GUEST_MANAGEMENT
        - INFORMACAST
        - INNER_RANGE
        - KISI
        - LUMEO
        - MICROSOFT_TEAMS
        - OMNIALERT
        - OPENAI
        - OPENTECH_ALLIANCE
        - PIMLOC
        - PLACE_OS
        - PRODATAKEY
        - SHELLY
        - TOAST
        - WEBHOOKS
        - ZAPIER
        - RAPTOR
        - NINEONEONE_CELLULAR
        - SLACK
        - APERIO
        - PAR_POS
        - HONEYWELL_ONGUARD
        - HONEYWELL_NETBOX
        - SIGNATURE_API
        - SCHLAGE
        - UNKNOWN
      type: string
    IntegrationNotificationActionType:
      properties:
        integration:
          $ref: "#/components/schemas/IntegrationEnum"
        notificationEntity:
          nullable: true
          type: string
        notificationTarget:
          nullable: true
          type: string
      type: object
    RemoteDoorUnlockActionType:
      properties:
        doorId:
          nullable: true
          type: string
        placeId:
          nullable: true
          type: string
        system:
          $ref: "#/components/schemas/RemoteDoorUnlockSystemEnum"
      type: object
    RemoteDoorUnlockSystemEnum:
      enum:
        - BRIVO
        - OPENPATH
        - KISI
        - PLACEOS
        - GENEA
        - PDK
        - INNER_RANGE
        - RHOMBUS
        - HONEYWELL_ELEMENTS
        - UNKNOWN
      type: string
    RobotAction:
      discriminator:
        mapping:
          DEPLOY: "#/components/schemas/DeployRobotAction"
          UNKNOWN: "#/components/schemas/NoOpAction"
        propertyName: type
      oneOf:
        - $ref: "#/components/schemas/DeployRobotAction"
        - $ref: "#/components/schemas/NoOpAction"
      properties:
        deviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        type:
          $ref: "#/components/schemas/RobotActionTypeEnum"
      type: object
    DeployRobotAction:
      allOf:
        - properties:
            mapUuid:
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              format: RUUID
              nullable: true
              type: string
            navType:
              $ref: "#/components/schemas/NavigationTypeEnum"
            patrolUuid:
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              format: RUUID
              nullable: true
              type: string
            pose:
              $ref: "#/components/schemas/Pose"
            routeUuid:
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              format: RUUID
              nullable: true
              type: string
            waypointUuid:
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              format: RUUID
              nullable: true
              type: string
          type: object
      nullable: true
      properties:
        deviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        type:
          $ref: "#/components/schemas/RobotActionTypeEnum"
      type: object
    NavigationTypeEnum:
      enum:
        - ROUTE
        - PATROL
        - WAYPOINT
        - POSE
      type: string
    RobotActionTypeEnum:
      enum:
        - DEPLOY
        - UNKNOWN
      type: string
    NoOpAction:
      allOf: []
      nullable: true
      properties:
        deviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        type:
          $ref: "#/components/schemas/RobotActionTypeEnum"
      type: object
    ThirdPartyAudioPlaybackActionType:
      properties:
        audioFileName:
          nullable: true
          type: string
        ipAddress:
          nullable: true
          type: string
        loopDurationSec:
          format: int32
          nullable: true
          type: integer
        password:
          nullable: true
          type: string
        playCount:
          format: int32
          nullable: true
          type: integer
        proxyDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        username:
          nullable: true
          type: string
      type: object
    ThirdPartyStrobeSirenActionType:
      properties:
        durationSec:
          format: int32
          nullable: true
          type: integer
        ipAddress:
          nullable: true
          type: string
        lightColors:
          items:
            nullable: true
            type: string
          nullable: true
          type: array
        lightIntensity:
          format: int32
          nullable: true
          type: integer
        lightPattern:
          nullable: true
          type: string
        lightSpeed:
          format: int32
          nullable: true
          type: integer
        password:
          nullable: true
          type: string
        profileName:
          nullable: true
          type: string
        proxyDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        sirenIntensity:
          format: int32
          nullable: true
          type: integer
        sirenPattern:
          nullable: true
          type: string
        username:
          nullable: true
          type: string
      type: object
    TriggerComponentRelayActionType:
      properties:
        componentUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        outputType:
          $ref: "#/components/schemas/ComponentRelayOutputTypeEnum"
        overrideRelayDurationMs:
          format: int32
          nullable: true
          type: integer
        overrideRelayDurationSec:
          format: int32
          nullable: true
          type: integer
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        state:
          $ref: "#/components/schemas/GenericRelayStateEnumType"
        version:
          format: int32
          nullable: true
          readOnly: true
          type: integer
      type: object
    ComponentRelayOutputTypeEnum:
      enum:
        - TRANSIENT
        - STEADY
      type: string
    GenericRelayStateEnumType:
      enum:
        - ACTIVE
        - INACTIVE
        - UNKNOWN
      type: string
    WebhookActionType:
      properties:
        headers:
          additionalProperties:
            nullable: true
            type: string
          nullable: true
          type: object
        oauthClientId:
          nullable: true
          type: string
        oauthClientSecret:
          nullable: true
          type: string
        oauthGrantType:
          nullable: true
          type: string
        oauthScope:
          nullable: true
          type: string
        oauthUrl:
          nullable: true
          type: string
        webhookSecret:
          nullable: true
          type: string
        webhookUrl:
          nullable: true
          type: string
      type: object
    RuleFilterType:
      description: Optional filters to apply to this lockdown rule.
      properties:
        scheduleUuids:
          description: List of schedules that apply to the rule. at least one schedule must be met to trigger this rule. If null, then this rule is enabled all the time.
          items:
            description: base 64 (url-safe) uuid string
            example: AAAAAAAAAAAAAAAAAAAAAA
            format: RUUID
            nullable: true
            type: string
          nullable: true
          type: array
        triggerBackoffSecs:
          description: Number of seconds to back off after rule is triggered before triggering again. I.e. this rule will only trigger once every X seconds regardless of how many triggering events occur within that window
          format: int32
          nullable: true
          type: integer
      type: object
    Robot_CreateRobotRouteWSResponse:
      description: The created route with its associated rules.
      properties:
        error:
          nullable: true
          type: boolean
        errorMsg:
          nullable: true
          type: string
        routeView:
          $ref: "#/components/schemas/Robot_RobotRouteView"
        warningMsg:
          nullable: true
          type: string
      type: object
    Robot_RobotRouteView:
      description: A view of the ordered sequence of poses that the robot follows
      properties:
        deployCondition:
          $ref: "#/components/schemas/RuleType"
        route:
          $ref: "#/components/schemas/RobotRoute"
        waypointRules:
          additionalProperties:
            description: Action rules for each RouteWaypoint, keyed by RouteWaypoint UUID (not Waypoint UUID)
            items:
              $ref: "#/components/schemas/RuleType"
            nullable: true
            type: array
          description: Action rules for each RouteWaypoint, keyed by RouteWaypoint UUID (not Waypoint UUID)
          nullable: true
          type: object
      type: object
    RuleType:
      description: Updated rule data
      properties:
        action:
          $ref: "#/components/schemas/RuleActionType"
        conjunction:
          $ref: "#/components/schemas/RuleTriggerConjunctionEnum"
        name:
          nullable: true
          type: string
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ruleFilters:
          $ref: "#/components/schemas/RuleFilterType"
        ruleType:
          $ref: "#/components/schemas/RuleTypeEnum"
        triggers:
          items:
            $ref: "#/components/schemas/BaseRuleTriggerType"
          nullable: true
          type: array
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      type: object
    RuleTriggerConjunctionEnum:
      enum:
        - AND
        - OR
        - UNKNOWN
      type: string
    RuleTypeEnum:
      enum:
        - BUTTON_DEFINED
        - USER_DEFINED
        - DOORBELL_CAMERA_DEFINED
        - DOOR_CONTROLLER_DEFINED
        - LOCKDOWN_PLAN_DEFINED
        - CUSTOM_LLM_DEFINED
        - ROBOT_DEFINED
        - SCHEDULED_REPORT_DEFINED
      type: string
    RobotRoute:
      description: The robot route
      properties:
        createdAtMs:
          format: int64
          nullable: true
          type: integer
        mapUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        name:
          nullable: true
          type: string
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        triggerRuleUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        updatedAtMs:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        waypointMap:
          additionalProperties:
            $ref: "#/components/schemas/RouteWaypoint"
          nullable: true
          type: object
      type: object
    RouteWaypoint:
      properties:
        dwellEventId:
          nullable: true
          type: string
        dwellEventType:
          nullable: true
          type: string
        dwellStrategy:
          $ref: "#/components/schemas/DwellStrategyEnum"
        dwellTimeMs:
          format: int64
          nullable: true
          type: integer
        name:
          nullable: true
          type: string
        ordinal:
          format: int32
          nullable: true
          type: integer
        pose:
          $ref: "#/components/schemas/Pose"
        ruleReferences:
          items:
            description: base 64 (url-safe) uuid string
            example: AAAAAAAAAAAAAAAAAAAAAA
            format: RUUID
            nullable: true
            type: string
          nullable: true
          type: array
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        waypointRefUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      type: object
  securitySchemes:
    ApiKeyAuth:
      description: Your Rhombus API key. Must be accompanied by the `x-auth-scheme` header set to `api-token` (or `partner-api-token` for partner endpoints).
      in: header
      name: x-auth-apikey
      type: apiKey
    oauth2:
      description: 'OAuth 2.0 authorization code flow with PKCE (`S256`). Send the access token as `Authorization: Bearer <token>`. Each operation lists the scopes it requires; a token without them is refused 403 with `WWW-Authenticate: Bearer error="insufficient_scope"`.'
      flows:
        authorizationCode:
          authorizationUrl: https://console.rhombus.com/oauth/authorize
          refreshUrl: https://auth-web.rhombussystems.com/oauth/token
          scopes:
            physical: Unlock doors and elevators, lockdown, alarms, speakers and robots
            read: View cameras, footage and settings
            write: Change settings and data
          tokenUrl: https://auth-web.rhombussystems.com/oauth/token
      type: oauth2
````
