Rhombus Systems Button Webservice API

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

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 email required.

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:
    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'
    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'
    SupervisionStateEnumType:
      type: string
      enum:
      - CUT_DETECTED
      - SHORT_DETECTED
      - NORMAL
      - INVALID
      - UNKNOWN
    WebhookActionType:
      type: object
      properties:
        headers:
          type:
          - object
          - 'null'
          additionalProperties:
            type:
            - string
            - 'null'
        oauthClientId:
          type:
          - string
          - 'null'
        oauthClientSecret:
          type:
          - string
          - 'null'
        oauthGrantType:
          type:
          - string
          - 'null'
        oauthScope:
          type:
          - string
          - 'null'
        oauthUrl:
          type:
          - string
          - 'null'
        webhookSecret:
          type:
          - string
          - 'null'
        webhookUrl:
          type:
          - string
          - 'null'
    RemoteDoorUnlockSystemEnum:
      type: string
      enum:
      - BRIVO
      - OPENPATH
      - KISI
      - PLACEOS
      - GENEA
      - PDK
      - INNER_RANGE
      - RHOMBUS
      - HONEYWELL_ELEMENTS
      - UNKNOWN
    ConnectAudioDeviceToMobileAppActionType:
      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
        targetUserUuids:
          type:
          - array
          - 'null'
          items:
            type:
            - string
            - 'null'
            format: RUUID
            description: base 64 (url-safe) uuid string
            example: AAAAAAAAAAAAAAAAAAAAAA
    Common_devices_UpdateDeviceDetailsWSResponse:
      type: object
      properties:
        error:
          type:
          - boolean
          - 'null'
        errorMsg:
          type:
          - string
          - 'null'
        warningMsg:
          type:
          - string
          - 'null'
    Button_GetButtonRulesForOrgWSResponse:
      type: object
      description: Response containing rules for all buttons in an organization.
      properties:
        buttonUuidToRulesMap:
          type:
          - object
          - 'null'
          additionalProperties:
            type:
            - array
            - 'null'
            description: Map of button UUIDs to their associated rules
            items:
              $ref: '#/components/schemas/Button_ExternalButtonRuleType'
          description: Map of button UUIDs to their associated rules
        error:
          type:
          - boolean
          - 'null'
        errorMsg:
          type:
          - string
          - 'null'
        warningMsg:
          type:
          - string
          - 'null'
    Button_ButtonHealthDetailsEnum:
      type: string
      description: Detailed health status for button sensors.
      enum:
      - FIRMWARE_BEHIND
      - NO_HEARTBEAT
      - NONE
    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'
    Button_CreateRuleForButtonWSRequest:
      type: object
      description: Request to create a rule for a button sensor.
      properties:
        rule:
          $ref: '#/components/schemas/Button_ExternalButtonRuleType'
    PointType:
      type: object
      properties:
        x:
          type:
          - integer
          - 'null'
          format: int32
        y:
          type:
          - integer
          - 'null'
          format: int32
    Button_DeleteRuleForButtonWSResponse:
      type: object
      description: Response from deleting a rule for a button sensor.
      properties:
        error:
          type:
          - boolean
          - 'null'
        errorMsg:
          type:
          - string
          - 'null'
        warningMsg:
          type:
          - string
          - 'null'
    RobotActionTypeEnum:
      type: string
      enum:
      - DEPLOY
      - UNKNOWN
    DeployRobotAction:
      type:
      - object
      - 'null'
      allOf:
      - type: object
        properties:
          mapUuid:
            type:
            - string
            - 'null'
            format: RUUID
            description: base 64 (url-safe) uuid string
            example: AAAAAAAAAAAAAAAAAAAAAA
          navType:
            $ref: '#/components/schemas/NavigationTypeEnum'
          pose:
            $ref: '#/components/schemas/Pose'
          routeUuid:
            type:
            - string
            - 'null'
            format: RUUID
            description: base 64 (url-safe) uuid string
            example: AAAAAAAAAAAAAAAAAAAAAA
          waypointUuid:
            type:
            - string
            - 'null'
            format: RUUID
            description: base 64 (url-safe) uuid string
            example: AAAAAAAAAAAAAAAAAAAAAA
      properties:
        deviceUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
        type:
          $ref: '#/components/schemas/RobotActionTypeEnum'
    Button_UpdateButtonDetailsWSRequest:
      type: object
      description: Request to update button sensor details.
      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
        buttonMode:
          $ref: '#/components/schemas/ButtonModeEnum'
        description:
          type:
          - string
          - 'null'
          description: Optional description for the button sensor
        floorNumber:
          type:
          - integer
          - 'null'
          format: int32
          description: Optional floor number
          example: 1
        latitude:
          type:
          - number
          - 'null'
          format: double
          description: Optional latitude coordinate
          example: 37.7749
        locationUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
        longitude:
          type:
          - number
          - 'null'
          format: double
          description: Optional longitude coordinate
          example: -122.4194
        name:
          type:
          - string
          - 'null'
          description: Optional name for the button sensor
        sensorUuid:
          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})*$
        subLocationsHierarchyKeyUpdated:
          type:
          - boolean
          - 'null'
          description: Whether the sub-locations hierarchy key has been updated
          example: false
    ReportLookbackUnitEnum:
      type: string
      enum:
      - HOURS
      - DAYS
      - WEEKS
    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'
    ActivityEventData:
      type: object
      properties:
        activities:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ActivityEnum'
        boundingBoxes:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ClipBoundingBoxType'
        durationSec:
          type:
          - integer
          - 'null'
          format: int32
        timestampMs:
          type:
          - integer
          - 'null'
          format: int64
    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
    IntegrationEnum:
      type: string
      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
      - UNKNOWN
    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'
    Button_GetButtonRulesForOrgWSRequest:
      type: object
      description: Request to get rules for all buttons in an organization.
    RuleFilterType:
      type: object
      description: Optional filters to apply to this lockdown rule.
      properties:
        scheduleUuids:
          type:
          - array
          - 'null'
          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:
            type:
            - string
            - 'null'
            format: RUUID
            description: base 64 (url-safe) uuid string
            example: AAAAAAAAAAAAAAAAAAAAAA
        triggerBackoffSecs:
          type:
          - integer
          - 'null'
          format: int32
          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
    Button_GetRulesForButtonWSRequest:
      type: object
      description: Request to get rules for a button sensor.
      properties:
        sensorUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
    AccessStateOverrideExpirationStrategyEnum:
      type: string
      enum:
      - TIME_DELAY
      - TIME_OF_DAY_LOCAL
      - NONE
    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
    IntegrationCommandActionType:
      type: object
      properties:
        commandPayload:
          type:
          - string
          - 'null'
        delaySecs:
          type:
          - integer
          - 'null'
          format: int32
        integration:
          $ref: '#/components/schemas/IntegrationEnum'
    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
    Device_config_userconfig_IExternalUpdateableButtonUserConfig:
      type: object
      description: Configuration update for the button sensor
      properties:
        button_emergency_onsite_contact:
          $ref: '#/components/schemas/EmergencyContact'
        button_test_mode_enabled:
          type:
          - boolean
          - 'null'
        deviceUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
        lastModified:
          type:
          - integer
          - 'null'
          format: int64
        orgUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
    AMSirenSettingsType:
      type: object
      properties:
        audioGateways:
          type:
          - array
          - 'null'
          description: UUIDs of audio gateways used to play this siren.
          items:
            type:
            - string
            - 'null'
            format: RUUID
            description: base 64 (url-safe) uuid string
            example: AAAAAAAAAAAAAAAAAAAAAA
          uniqueItems: true
        clipUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
        durationSeconds:
          type:
          - integer
          - 'null'
          format: int32
          description: The duration (in seconds) to loop the clip audio for the siren.
        playCount:
          type:
          - integer
          - 'null'
          format: int32
          description: The number of times to play the clip audio for the siren.
      required:
      - audioGateways
      - clipUuid
    ReportLookbackTypeEnum:
      type: string
      enum:
      - ROLLING
      - PREVIOUS_DAY
      - PREVIOUS_WEEK
      - PREVIOUS_MONTH
    EnableDisableAudioRecordActionType:
      type: object
      properties:
        audioDeviceUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
        enable:
          type:
          - boolean
          - 'null'
    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
    Button_GetMinimalButtonStatesWSRequest:
      type: object
      description: Request to get minimal state information for all button sensors.
    IntegrationNotificationActionType:
      type: object
      properties:
        integration:
          $ref: '#/components/schemas/IntegrationEnum'
        notificationEntity:
          type:
          - string
          - 'null'
        notificationTarget:
          type:
          - string
          - 'null'
    DeviceTypeEnum:
      type: string
      enum:
      - BLE_TRACKER
      - CAMERA
      - DOOR_SENSOR
      - ENVIRONMENTAL_SENSOR
      - OCCUPANCY_SENSOR
      - AUDIO_GATEWAY
      - EXECUTABLE
      - BADGE_READER
      - DOOR_CONTROLLER
      - BL

# --- 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