Rhombus Systems Button Webservice API

The Button Webservice API from Rhombus Systems — 8 operation(s) for button webservice.

Operations 8

POST /api/button/createRuleForButton Create rule for button #
POST /api/button/deleteRuleForButton Delete rule for button #
POST /api/button/getButtonPressEventsForSensor Get button press events for sensor #
POST /api/button/getButtonRulesForOrg Get button rules for organization #
POST /api/button/getMinimalButtonStateList Get minimal button state list #
POST /api/button/getRulesForButton Get rules for button #
POST /api/button/updateConfig Update button config #
POST /api/button/updateDetails Update button details #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/rhombus-systems-button-webservice-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

rhombus-systems-button-webservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: developer@rhombussystems.com
  description: 'This API is for use by Rhombus customers and partners.


    ## Authentication


    All requests require two headers:

    - `x-auth-scheme` — The authentication scheme identifier. Use `api-token` for standard API key auth, or `partner-api-token` for partner API auth.

    - `x-auth-apikey` — Your Rhombus API key.


    Example:

    ```

    POST /api/camera/getMinimalCameraStateList

    x-auth-scheme: api-token

    x-auth-apikey: YOUR_API_KEY

    Content-Type: application/json

    ```'
  title: Rhombus Button Webservice API
  version: '1.0'
servers:
- description: Production Server
  url: https://api2.rhombussystems.com
security:
- ApiKeyAuth: []
tags:
- name: Button Webservice
paths:
  /api/button/createRuleForButton:
    post:
      description: Create rule for a button sensor.
      operationId: createRuleForButton
      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:
          type: string
          default: api-token
          enum:
          - api-token
          - api
          - partner-api-token
          - partner-api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Button_CreateRuleForButtonWSRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Button_CreateRuleForButtonWSResponse'
          description: OK
      summary: Create rule for button
      tags:
      - Button Webservice
  /api/button/deleteRuleForButton:
    post:
      description: Delete rule for a button sensor.
      operationId: deleteRuleForButton
      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:
          type: string
          default: api-token
          enum:
          - api-token
          - api
          - partner-api-token
          - partner-api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Button_DeleteRuleForButtonWSRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Button_DeleteRuleForButtonWSResponse'
          description: OK
      summary: Delete rule for button
      tags:
      - Button Webservice
  /api/button/getButtonPressEventsForSensor:
    post:
      description: Get list of button press events for button sensor
      operationId: getButtonPressEventsForSensor
      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:
          type: string
          default: api-token
          enum:
          - api-token
          - api
          - partner-api-token
          - partner-api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Button_GetButtonPressEventsForSensorWSRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Button_GetButtonPressEventsForSensorWSResponse'
          description: OK
      summary: Get button press events for sensor
      tags:
      - Button Webservice
  /api/button/getButtonRulesForOrg:
    post:
      description: Get rules for all buttons in an org.
      operationId: getButtonRulesForOrg
      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:
          type: string
          default: api-token
          enum:
          - api-token
          - api
          - partner-api-token
          - partner-api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Button_GetButtonRulesForOrgWSRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Button_GetButtonRulesForOrgWSResponse'
          description: OK
      summary: Get button rules for organization
      tags:
      - Button Webservice
  /api/button/getMinimalButtonStateList:
    post:
      description: Get basic state information for all button sensors
      operationId: getMinimalButtonStateList
      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:
          type: string
          default: api-token
          enum:
          - api-token
          - api
          - partner-api-token
          - partner-api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Button_GetMinimalButtonStatesWSRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Button_GetMinimalButtonStatesWSResponse'
          description: OK
      summary: Get minimal button state list
      tags:
      - Button Webservice
  /api/button/getRulesForButton:
    post:
      description: Get all rules for a button sensor.
      operationId: getRulesForButton
      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:
          type: string
          default: api-token
          enum:
          - api-token
          - api
          - partner-api-token
          - partner-api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Button_GetRulesForButtonWSRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Button_GetRulesForButtonWSResponse'
          description: OK
      summary: Get rules for button
      tags:
      - Button Webservice
  /api/button/updateConfig:
    post:
      description: Update config for a button sensor.
      operationId: updateButtonConfig
      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:
          type: string
          default: api-token
          enum:
          - api-token
          - api
          - partner-api-token
          - partner-api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Button_UpdateButtonConfigWSRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Common_devices_UpdateConfigWSResponse'
          description: OK
      summary: Update button config
      tags:
      - Button Webservice
  /api/button/updateDetails:
    post:
      description: Update details for a button sensor.
      operationId: updateButtonDetails
      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:
          type: string
          default: api-token
          enum:
          - api-token
          - api
          - partner-api-token
          - partner-api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Button_UpdateButtonDetailsWSRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Common_devices_UpdateDeviceDetailsWSResponse'
          description: OK
      summary: Update button details
      tags:
      - Button Webservice
components:
  schemas:
    ChangeComponentCompositeAccessStateActionType:
      type: object
      properties:
        accessState:
          $ref: '#/components/schemas/AccessControlledDoorStateEnumType'
        alwaysCreateOverrideIfNoFirstIn:
          type:
          - boolean
          - 'null'
        componentCompositeUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
        expirationStrategy:
          $ref: '#/components/schemas/AccessStateOverrideExpirationStrategyEnum'
        expireTimeDelaySeconds:
          type:
          - integer
          - 'null'
          format: int64
        expireTimeOfDayLocalSeconds:
          type:
          - integer
          - 'null'
          format: int64
        useFirstInRulesIfPossible:
          type:
          - boolean
          - 'null'
        version:
          type:
          - integer
          - 'null'
          format: int32
          readOnly: true
    CreateAlarmTriggerTypeEnum:
      type: string
      enum:
      - PANIC_BUTTON
      - ALARM_INTEGRATION
    EmergencyContact:
      type: object
      properties:
        name:
          type:
          - string
          - 'null'
          description: The name of the emergency contact.
        phoneNumber:
          type:
          - string
          - 'null'
          description: The phone number for this emergency contact.
      required:
      - name
      - phoneNumber
    Button_ButtonHealthEnum:
      type: string
      description: Health status for button sensors.
      enum:
      - GREEN
      - RED
    ComponentRelayOutputTypeEnum:
      type: string
      enum:
      - TRANSIENT
      - STEADY
    RemoteDoorUnlockSystemEnum:
      type: string
      enum:
      - BRIVO
      - OPENPATH
      - KISI
      - PLACEOS
      - GENEA
      - PDK
      - INNER_RANGE
      - RHOMBUS
      - HONEYWELL_ELEMENTS
      - UNKNOWN
    AccessControlledDoorStateEnumType:
      type: string
      enum:
      - UNLOCKED
      - ACCESS_CONTROLLED
    ToastOrderIdType:
      type: object
      properties:
        employeeName:
          type:
          - string
          - 'null'
        guid:
          type:
          - string
          - 'null'
        locationName:
          type:
          - string
          - 'null'
        restaurantName:
          type:
          - string
          - 'null'
        toastCheckInfo:
          $ref: '#/components/schemas/ToastCheckInfo'
    Button_UpdateButtonConfigWSRequest:
      type: object
      description: Request to update button sensor configuration.
      properties:
        configUpdate:
          $ref: '#/components/schemas/Device_config_userconfig_IExternalUpdateableButtonUserConfig'
    Button_GetMinimalButtonStatesWSResponse:
      type: object
      description: Response containing minimal state information for all button sensors.
      properties:
        error:
          type:
          - boolean
          - 'null'
        errorMsg:
          type:
          - string
          - 'null'
        states:
          type:
          - array
          - 'null'
          description: List of minimal button state information
          items:
            $ref: '#/components/schemas/Button_MinimalButtonStateType'
        warningMsg:
          type:
          - string
          - 'null'
    Pose:
      type: object
      properties:
        orientation:
          type:
          - array
          - 'null'
          items:
            type: number
            format: double
            description: Serialized as [x, y, z, w]
          maxItems: 4
          minItems: 4
        position:
          type:
          - array
          - 'null'
          items:
            type: number
            format: double
            description: Serialized as [x, y, z]
          maxItems: 3
          minItems: 3
    ConnectAudioDeviceToPhoneNumberActionType:
      type: object
      properties:
        audioDeviceUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
        deviceType:
          $ref: '#/components/schemas/DeviceTypeEnum'
        doorUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
        optionalGreeting:
          type:
          - string
          - 'null'
        phoneNumber:
          type:
          - string
          - 'null'
    Button_ExternalButtonRuleType:
      type: object
      description: External button rule configuration.
      properties:
        action:
          $ref: '#/components/schemas/RuleActionType'
        ruleFilters:
          $ref: '#/components/schemas/RuleFilterType'
        ruleName:
          type:
          - string
          - 'null'
          description: Name of the button rule
          example: Emergency Alert Rule
        ruleUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
        sensorUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
        triggerPress:
          $ref: '#/components/schemas/ButtonPressEnum'
    NoOpAction:
      type:
      - object
      - 'null'
      allOf: []
      properties:
        deviceUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
        type:
          $ref: '#/components/schemas/RobotActionTypeEnum'
    Common_devices_UpdateConfigWSResponse:
      type: object
      description: Response indicating the result of updating device configuration.
      properties:
        error:
          type:
          - boolean
          - 'null'
        errorMsg:
          type:
          - string
          - 'null'
        warningMsg:
          type:
          - string
          - 'null'
    RuleActionType:
      type: object
      description: The action to take when this lockdown rule is triggered.
      properties:
        activateLocationLockdown:
          $ref: '#/components/schemas/ActivateLocationLockdownActionType'
        alertAction:
          type:
          - boolean
          - 'null'
        audioPlaybackActions:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/AudioPlaybackActionType'
        cancelLoopingAudioPlaybackAction:
          $ref: '#/components/schemas/CancelLoopingAudioPlaybackActionType'
        changeComponentCompositeAccessStateActions:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ChangeComponentCompositeAccessStateActionType'
        connectAudioDeviceToMobileAppAction:
          $ref: '#/components/schemas/ConnectAudioDeviceToMobileAppActionType'
        connectAudioDeviceToPhoneNumberAction:
          $ref: '#/components/schemas/ConnectAudioDeviceToPhoneNumberActionType'
        createAlarmAction:
          $ref: '#/components/schemas/CreateAlarmActionType'
        customActions:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/CustomRuleAction'
        customLLMActions:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/CustomLLMActionType'
        emailAuditLogExportActions:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/EmailAuditLogExportActionType'
        enableDisableAudioRecordActions:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/EnableDisableAudioRecordActionType'
        integrationCommandActions:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/IntegrationCommandActionType'
        integrationNotificationActions:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/IntegrationNotificationActionType'
        liveNotificationAction:
          type:
          - boolean
          - 'null'
        remoteDoorUnlockActions:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/RemoteDoorUnlockActionType'
        robotActions:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/RobotAction'
        thirdPartyAudioPlaybackAction:
          $ref: '#/components/schemas/ThirdPartyAudioPlaybackActionType'
        thirdPartyStrobeSirenAction:
          $ref: '#/components/schemas/ThirdPartyStrobeSirenActionType'
        triggerComponentRelayActions:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/TriggerComponentRelayActionType'
        webhookActions:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/WebhookActionType'
    Button_GetMinimalButtonStatesWSRequest:
      type: object
      description: Request to get minimal state information for all button sensors.
    TriggerComponentRelayActionType:
      type: object
      properties:
        componentUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
        outputType:
          $ref: '#/components/schemas/ComponentRelayOutputTypeEnum'
        overrideRelayDurationMs:
          type:
          - integer
          - 'null'
          format: int32
        overrideRelayDurationSec:
          type:
          - integer
          - 'null'
          format: int32
        ownerDeviceUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
        state:
          $ref: '#/components/schemas/GenericRelayStateEnumType'
        version:
          type:
          - integer
          - 'null'
          format: int32
          readOnly: true
    EnableDisableAudioRecordActionType:
      type: object
      properties:
        audioDeviceUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
        enable:
          type:
          - boolean
          - 'null'
    Button_GetButtonPressEventsForSensorWSResponse:
      type: object
      description: Response containing button press events for a sensor.
      properties:
        error:
          type:
          - boolean
          - 'null'
        errorMsg:
          type:
          - string
          - 'null'
        events:
          type:
          - array
          - 'null'
          description: List of button press events for the sensor
          items:
            $ref: '#/components/schemas/ButtonEventType'
        warningMsg:
          type:
          - string
          - 'null'
    CreateAlarmActionType:
      type: object
      properties:
        attachMediaToActiveAlarm:
          type:
          - boolean
          - 'null'
        entryInstructions:
          type:
          - string
          - 'null'
        exclusiveEmergencyContact:
          type:
          - boolean
          - 'null'
        exclusiveEntryInstructions:
          type:
          - boolean
          - 'null'
        locationUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
        mediaDeviceUuids:
          type:
          - array
          - 'null'
          items:
            type:
            - string
            - 'null'
            format: DeviceFacetUuid
            description: RUUID with optional appended facet information
            example: AAAAAAAAAAAAAAAAAAAAAA.v0
        onsiteEmergencyContact:
          $ref: '#/components/schemas/EmergencyContact'
        reason:
          type:
          - string
          - 'null'
        sirenSettings:
          $ref: '#/components/schemas/AMSirenSettingsType'
        subLocationsHierarchyKey:
          type:
          - string
          - 'null'
          format: SubLocationsHierarchyKey
          description: 'A sequence of one or more base 64 (url-safe) uuid substrings.

            These substrings are separated by dots (.).

            '
          example: AAAAAAAAAAAAAAAAAAAAAA.AAAAAAAAAAAAAAAAAAAAAA.AAAAAAAAAAAAAAAAAAAAAA
          pattern: ^([A-Za-z0-9\-_]{22})([.][A-Za-z0-9\-_]{22})*$
        triggerType:
          $ref: '#/components/schemas/CreateAlarmTriggerTypeEnum'
    GenericRelayStateEnumType:
      type: string
      enum:
      - ACTIVE
      - INACTIVE
      - UNKNOWN
    ThirdPartyAudioPlaybackActionType:
      type: object
      properties:
        audioFileName:
          type:
          - string
          - 'null'
        ipAddress:
          type:
          - string
          - 'null'
        loopDurationSec:
          type:
          - integer
          - 'null'
          format: int32
        password:
          type:
          - string
          - 'null'
        playCount:
          type:
          - integer
          - 'null'
          format: int32
        proxyDeviceUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
        username:
          type:
          - string
          - 'null'
    ActivateLocationLockdownActionType:
      type: object
      properties:
        locationLockdownPlanUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
        locationUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
    Button_GetButtonRulesForOrgWSRequest:
      type: object
      description: Request to get rules for all buttons in an organization.
    ButtonEventType:
      type:
      - object
      - 'null'
      allOf:
      - type: object
        properties:
          buttonPress:
            $ref: '#/components/schemas/ButtonPressEnum'
          componentCompositeUuid:
            type:
            - string
            - 'null'
            format: RUUID
            description: base 64 (url-safe) uuid string
            example: AAAAAAAAAAAAAAAAAAAAAA
          newSupervisionState:
            $ref: '#/components/schemas/SupervisionStateEnumType'
          pressDurationMillis:
            type:
            - integer
            - 'null'
            format: int64
      properties:
        componentUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
        correlationId:
          type:
          - string
          - 'null'
        createdAtMs:
          type:
          - integer
          - 'null'
          format: int64
        locationUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
        orgUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
        ownerDeviceUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
        subLocationsHierarchyKey:
          type:
          - string
          - 'null'
          format: SubLocationsHierarchyKey
          description: 'A sequence of one or more base 64 (url-safe) uuid substrings.

            These substrings are separated by dots (.).

            '
          example: AAAAAAAAAAAAAAAAAAAAAA.AAAAAAAAAAAAAAAAAAAAAA.AAAAAAAAAAAAAAAAAAAAAA
          pattern: ^([A-Za-z0-9\-_]{22})([.][A-Za-z0-9\-_]{22})*$
        timestampMs:
          type:
          - integer
          - 'null'
          format: int64
        type:
          $ref: '#/components/schemas/ComponentEventEnumType'
        uuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
    CancelLoopingAudioPlaybackActionType:
      type: object
      properties:
        _audioDevices:
          type:
          - array
          - 'null'
          items:
            type:
            - string
            - 'null'
            format: DeviceFacetUuid
            description: RUUID with optional appended facet information
            example: AAAAAAAAAAAAAAAAAAAAAA.v0
        audioDevices:
          type:
          - array
          - 'null'
          items:
            type:
            - string
            - 'null'
            format: DeviceFacetUuid
            description: RUUID with optional appended facet information
            example: AAAAAAAAAAAAAAAAAAAAAA.v0
    IntegrationCommandActionType:
      type: object
      properties:
        commandPayload:
          type:
          - string
          - 'null'
        delaySecs:
          type:
          - integer
          - 'null'
          format: int32
        integration:
          $ref: '#/components/schemas/IntegrationEnum'
    ThirdPartyStrobeSirenActionType:
      type: object
      properties:
        durationSec:
          type:
          - integer
          - 'null'
          format: int32
        ipAddress:
          type:
          - string
          - 'null'
        lightColors:
          type:
          - array
          - 'null'
          items:
            type:
            - string
            - 'null'
        lightIntensity:
          type:
          - integer
          - 'null'
          format: int32
        lightPattern:
          type:
          - string
          - 'null'
        lightSpeed:
          type:
          - integer
          - 'null'
          format: int32
        password:
          type:
          - string
          - 'null'
        profileName:
          type:
          - string
          - 'null'
        proxyDeviceUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
        sirenIntensity:
          type:
          - integer
          - 'null'
          format: int32
        sirenPattern:
          type:
          - string
          - 'null'
        username:
          type:
          - string
          - 'null'
    Button_GetButtonPressEventsForSensorWSRequest:
      type: object
      description: Request to get button press events for a specific sensor.
      properties:
        createdAfterMs:
          type:
          - integer
          - 'null'
          format: int64
          description: Timestamp in milliseconds to get events created after this time
          example: 1640995200000
        createdBeforeMs:
          type:
          - integer
          - 'null'
          format: int64
          description: Timestamp in milliseconds to get events created before this time
          example: 1640995200000
        limit:
          type:
          - integer
          - 'null'
          format: int32
          description: Maximum number of events to return
          example: 100
        sensorUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
    RobotAction:
      type: object
      discriminator:
        mapping:
          DEPLOY: '#/components/schemas/DeployRobotAction'
          UNKNOWN: '#/components/schemas/NoOpAction'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/DeployRobotAction'
      - $ref: '#/components/schemas/NoOpAction'
      properties:
        deviceUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
        type:
          $ref: '#/components/schemas/RobotActionTypeEnum'
    RemoteDoorUnlockActionType:
      type: object
      properties:
        doorId:
          type:
          - string
          - 'null'
        placeId:
          type:
          - string
          - 'null'
        system:
          $ref: '#/components/schemas/RemoteDoorUnlockSystemEnum'
    AccessStateOverrideExpirationStrategyEnum:
      type: string
      enum:
      - TIME_DELAY
      - TIME_OF_DAY_LOCAL
      - NONE
    Button_MinimalButtonStateType:
      type: object
      description: Minimal state information for a button sensor.
      properties:
        associatedCameras:
          type:
          - array
          - 'null'
          description: List of associated camera device UUIDs
          items:
            type:
            - string
            - 'null'
            format: DeviceFacetUuid
            description: RUUID with optional appended facet information
            example: AAAAAAAAAAAAAAAAAAAAAA.v0
        batteryPercent:
          type:
          - integer
          - 'null'
          format: int32
          description: Battery percentage of the button sensor
          example: 85
        buttonEmergencyOnsiteContact:
          $ref: '#/components/schemas/EmergencyContact'
        buttonMode:
          $ref: '#/components/schemas/ButtonModeEnum'
        closestBaseStation:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
        createdAtMillis:
          type:
          - integer
          - 'null'
          format: int64
          description: Creation timestamp in milliseconds
          example: 1640995200000
        firmwareVersion:
          type:
          - string
          - 'null'
          description: Firmware version of the button sensor
          example: 2.1.0
        floorNumber:
          type:
          - integer
          - 'null'
          format: int32
          desc

# --- truncated at 32 KB (63 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/rhombus-systems/refs/heads/main/openapi/rhombus-systems-button-webservice-api-openapi.yml