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

# Retrieve a list of components owned by a Rhombus device

> Retrieve a list of components owned by a Rhombus device (i.e. DC20's device uuid)

```http
POST https://api2.rhombussystems.com/api/component/findComponentsByOwnerDevice
```

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).
- `Authorization` (header): instead of an API key, an OAuth access token (`Bearer <token>`) with the `read` scope.
- `x-auth-scheme` (header, string, default: `api-token`): Authentication scheme identifier. Use `api-token` or `partner-api-token` with the `x-auth-apikey` header, `api` or `partner-api` with `x-auth-apikey` plus a client certificate, `api-oauth-token` or `partner-api-oauth-token` with `x-auth-access-token`, and `federated-token` with `x-auth-ft`. A request with `Authorization: Bearer <token>` and no `x-auth-scheme` is treated as OAuth, and `federated-token` may also be sent as the `x-auth-scheme` and `x-auth-ft` query parameters. One of: `api-token`, `api`, `api-oauth-token`, `federated-token`, `partner-api-token`, `partner-api`, `partner-api-oauth-token`.
- `x-auth-org` (header, string<RUUID>): Client organization UUID (22-character RUUID), for partner credentials only. With it the call runs in that client organization with the partner support authority's role. Without it a partner credential runs as the partner organization, which outside the partner endpoints is deprecated (responses carry `Deprecation` and `Sunset: Tue, 05 Jan 2027 00:00:00 GMT`). A malformed value returns 400 `INVALID_AUTH_ORG`; a client organization the partner cannot access returns 403 `PARTNER_CLIENT_ACCESS_DENIED`.

## Request body

Content type: `application/json`

- `ownerDeviceUuid` (string<RUUID> | null): base 64 (url-safe) uuid string

## Response 200

OK. Content type: `application/json`

- `components` (array<object> | null)

## Errors

Also 400, 401, 403, 429, 500, 503 with the standard error body (`errorCode`, `errorMsg`): https://developer.rhombus.com/errors

## 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/component/findComponentsByOwnerDevice:
    post:
      description: Retrieve a list of components owned by a Rhombus device (i.e. DC20's device uuid)
      operationId: findComponentsByOwnerDevice
      parameters:
        - description: "Authentication scheme identifier. Use `api-token` or `partner-api-token` with the `x-auth-apikey` header, `api` or `partner-api` with `x-auth-apikey` plus a client certificate, `api-oauth-token` or `partner-api-oauth-token` with `x-auth-access-token`, and `federated-token` with `x-auth-ft`. A request with `Authorization: Bearer <token>` and no `x-auth-scheme` is treated as OAuth, and `federated-token` may also be sent as the `x-auth-scheme` and `x-auth-ft` query parameters."
          example: api-token
          in: header
          name: x-auth-scheme
          required: false
          schema:
            default: api-token
            enum:
              - api-token
              - api
              - api-oauth-token
              - federated-token
              - partner-api-token
              - partner-api
              - partner-api-oauth-token
            type: string
        - description: "Client organization UUID (22-character RUUID), for partner credentials only. With it the call runs in that client organization with the partner support authority's role. Without it a partner credential runs as the partner organization, which outside the partner endpoints is deprecated (responses carry `Deprecation` and `Sunset: Tue, 05 Jan 2027 00:00:00 GMT`). A malformed value returns 400 `INVALID_AUTH_ORG`; a client organization the partner cannot access returns 403 `PARTNER_CLIENT_ACCESS_DENIED`."
          in: header
          name: x-auth-org
          required: false
          schema:
            format: RUUID
            maxLength: 22
            minLength: 22
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Component_FindComponentsByOwnerDeviceWSRequest"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Component_FindComponentsByOwnerDeviceWSResponse"
          description: OK
        "400":
          $ref: "#/components/responses/BadRequest"
        "401":
          $ref: "#/components/responses/Unauthorized"
        "403":
          $ref: "#/components/responses/Forbidden"
        "429":
          $ref: "#/components/responses/TooManyRequests"
        "500":
          $ref: "#/components/responses/InternalServerError"
        "503":
          $ref: "#/components/responses/ServiceUnavailable"
      security:
        - ApiKeyAuth: []
        - oauth2:
            - read
      summary: Retrieve a list of components owned by a Rhombus device
      tags:
        - Component Webservice
components:
  schemas:
    Component_FindComponentsByOwnerDeviceWSRequest:
      properties:
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      type: object
    Component_FindComponentsByOwnerDeviceWSResponse:
      properties:
        components:
          items:
            $ref: "#/components/schemas/BaseComponentType"
          nullable: true
          type: array
      type: object
    BaseComponentType:
      discriminator:
        propertyName: type
      oneOf:
        - $ref: "#/components/schemas/RhombusOsdpDoorReaderType"
        - $ref: "#/components/schemas/OsdpDoorReaderType"
        - $ref: "#/components/schemas/WiegandDoorReaderType"
        - $ref: "#/components/schemas/IntegratedDoorPositionIndicatorType"
        - $ref: "#/components/schemas/IntegratedRequestToExitType"
        - $ref: "#/components/schemas/IntegratedDoorRelayType"
        - $ref: "#/components/schemas/IntegratedGenericRelayType"
        - $ref: "#/components/schemas/IntegratedGenericInputType"
        - $ref: "#/components/schemas/IntegratedGenericButtonType"
        - $ref: "#/components/schemas/SchlageInputButton"
        - $ref: "#/components/schemas/AperioActivatorButton"
        - $ref: "#/components/schemas/AperioGateway"
        - $ref: "#/components/schemas/AperioDoorReader"
        - $ref: "#/components/schemas/AperioDoorExtension"
        - $ref: "#/components/schemas/AperioDoorRelay"
        - $ref: "#/components/schemas/AperioDoorPositionIndicator"
        - $ref: "#/components/schemas/AperioRs485Gateway"
        - $ref: "#/components/schemas/AperioRs485DoorReader"
        - $ref: "#/components/schemas/AperioRs485DoorRelay"
        - $ref: "#/components/schemas/AperioRs485DoorPositionIndicator"
        - $ref: "#/components/schemas/AperioRs485DoorRequestToExit"
        - $ref: "#/components/schemas/AperioRs485DoorExtension"
        - $ref: "#/components/schemas/SchlageRs485Gateway"
        - $ref: "#/components/schemas/SchlageRs485DoorReader"
        - $ref: "#/components/schemas/SchlageRs485DoorExtension"
        - $ref: "#/components/schemas/SchlageRs485DoorRelay"
        - $ref: "#/components/schemas/SchlageRs485DoorPositionIndicator"
        - $ref: "#/components/schemas/SchlageRs485DoorRequestToExit"
      properties:
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        name:
          nullable: true
          type: string
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        portImmutable:
          nullable: true
          type: boolean
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      type: object
    RhombusOsdpDoorReaderType:
      properties:
        allowCredsDuringUnlock:
          nullable: true
          type: boolean
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        deviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        disableCardReader:
          nullable: true
          type: boolean
        disableKeypad:
          nullable: true
          type: boolean
        disableQrScanner:
          nullable: true
          type: boolean
        disableWaveToUnlock:
          nullable: true
          type: boolean
        disposition:
          $ref: "#/components/schemas/ReaderDispositionEnum"
        hardwareUuid:
          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
        osdpAddress:
          format: int32
          nullable: true
          type: integer
        otherReaderUnlockAudioFeedbackEnabled:
          nullable: true
          type: boolean
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        port:
          $ref: "#/components/schemas/OsdpReaderPortType"
        portImmutable:
          nullable: true
          type: boolean
        readerType:
          $ref: "#/components/schemas/DoorReaderEnumType"
        remoteUnlockAudioFeedbackEnabled:
          nullable: true
          type: boolean
        serialNumber:
          nullable: true
          type: string
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      type: object
    ComponentBaseEnumType:
      enum:
        - reader
        - dpi
        - relay
        - rex
        - aux
        - aperio
        - schlage
        - button
      type: string
    ReaderDispositionEnum:
      enum:
        - INGRESS
        - EGRESS
        - UNKNOWN
      type: string
    HardwareVariationEnum:
      enum:
        - RASPBERRY_PI_3
        - CAMERA_R1
        - CAMERA_R2
        - CAMERA_R2_LONG_RANGE
        - CAMERA_R2_180
        - CAMERA_R3
        - CAMERA_R4
        - CAMERA_R100
        - CAMERA_R120
        - CAMERA_R170
        - CAMERA_R200
        - CAMERA_R500
        - CAMERA_R510
        - CAMERA_R520
        - CAMERA_R600
        - SENSOR_ASSET_TAG_T1
        - SENSOR_DOOR_D1
        - SENSOR_DOOR_D20
        - SENSOR_ENVIRONMENTAL_E1
        - SENSOR_ENVIRONMENTAL_E15
        - SENSOR_ENVIRONMENTAL_E2
        - SENSOR_MOTION_M1
        - SENSOR_MOTION_M15
        - GATEWAY_A1
        - GATEWAY_A100
        - GATEWAY_ENVIRONMENTAL_E50
        - CAMERA_R220
        - CAMERA_R230
        - CAMERA_R36S
        - CAMERA_R410
        - CAMERA_R540
        - CAMERA_R545
        - BADGE_READER_DR1
        - BADGE_READER_DR40
        - BADGE_READER_DR20
        - DOOR_CONTROLLER_DC1
        - DOOR_CONTROLLER_DC20
        - DOOR_CONTROLLER_DC10
        - ETHERNET_TESTER_ET1
        - IO_BOARD_TB1
        - BLE_BUTTON_B10
        - BLE_BUTTON_B15
        - CAMERA_THIRD_PARTY_RELAY
        - CAMERA_THIRD_PARTY_NVR
        - CAMERA_THIRD_PARTY_NVR_MULTISENSOR
        - NVR_N100
        - CAMERA_R130
        - NVR_N500
        - CAMERA_R150
        - ROBOT_RC1
        - CAMERA_R210
        - CAMERA_R650
        - NVR_N550
        - NVR_N551
        - ROBOT_RC2
        - UNSPECIFIED
      type: string
    OsdpReaderPortType:
      properties:
        boardNum:
          format: int32
          nullable: true
          type: integer
        portNum:
          format: int32
          nullable: true
          type: integer
        portType:
          $ref: "#/components/schemas/OsdpPhysicalPortEnumType"
      type: object
    OsdpPhysicalPortEnumType:
      enum:
        - RS485
      type: string
    DoorReaderEnumType:
      enum:
        - wiegand
        - osdp
        - rhombus_osdp
        - aperio_wireless
        - aperio_rs485
        - schlage_wireless
        - schlage_rs485
      type: string
    ComponentEnumType:
      enum:
        - RhombusOsdpDoorReader
        - OsdpDoorReader
        - WiegandDoorReader
        - IntegratedDoorPositionIndicator
        - IntegratedRequestToExit
        - IntegratedDoorRelay
        - IntegratedGenericRelay
        - IntegratedGenericInput
        - IntegratedGenericButton
        - SchlageInputButton
        - AperioActivatorButton
        - AperioGateway
        - AperioRs485Gateway
        - AperioDoorExtension
        - AperioDoorRelay
        - AperioDoorPositionIndicator
        - AperioDoorReader
        - AperioRs485DoorReader
        - AperioRs485DoorRelay
        - AperioRs485DoorPositionIndicator
        - AperioRs485DoorRequestToExit
        - AperioRs485DoorExtension
        - AperioDoorRequestToExit
        - SchlageRs485Gateway
        - SchlageRs485DoorExtension
        - SchlageRs485DoorRelay
        - SchlageRs485DoorPositionIndicator
        - SchlageRs485DoorReader
        - SchlageRs485DoorRequestToExit
      type: string
    OsdpDoorReaderType:
      properties:
        allowUnencrypted:
          nullable: true
          type: boolean
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        disableCardReader:
          nullable: true
          type: boolean
        disableKeypad:
          nullable: true
          type: boolean
        disableWaveToUnlock:
          nullable: true
          type: boolean
        disposition:
          $ref: "#/components/schemas/ReaderDispositionEnum"
        name:
          nullable: true
          type: string
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        osdpAddress:
          format: int32
          nullable: true
          type: integer
        otherReaderUnlockAudioFeedbackEnabled:
          nullable: true
          type: boolean
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        port:
          $ref: "#/components/schemas/OsdpReaderPortType"
        portImmutable:
          nullable: true
          type: boolean
        readerType:
          $ref: "#/components/schemas/DoorReaderEnumType"
        remoteUnlockAudioFeedbackEnabled:
          nullable: true
          type: boolean
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      type: object
    WiegandDoorReaderType:
      properties:
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        buzzerPort:
          $ref: "#/components/schemas/WiegandOutputPortType"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        csnEndian:
          $ref: "#/components/schemas/WiegandCredentialEndianEnumType"
        d0Port:
          $ref: "#/components/schemas/WiegandDataPortType"
        d1Port:
          $ref: "#/components/schemas/WiegandDataPortType"
        disableCardReader:
          nullable: true
          type: boolean
        disableKeypad:
          nullable: true
          type: boolean
        disableWaveToUnlock:
          nullable: true
          type: boolean
        disposition:
          $ref: "#/components/schemas/ReaderDispositionEnum"
        gledPort:
          $ref: "#/components/schemas/WiegandOutputPortType"
        name:
          nullable: true
          type: string
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        otherReaderUnlockAudioFeedbackEnabled:
          nullable: true
          type: boolean
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        portImmutable:
          nullable: true
          type: boolean
        readerType:
          $ref: "#/components/schemas/DoorReaderEnumType"
        remoteUnlockAudioFeedbackEnabled:
          nullable: true
          type: boolean
        rledPort:
          $ref: "#/components/schemas/WiegandOutputPortType"
        tamperPort:
          $ref: "#/components/schemas/WiegandInputPortType"
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      type: object
    WiegandOutputPortType:
      properties:
        boardNum:
          format: int32
          nullable: true
          type: integer
        portNum:
          format: int32
          nullable: true
          type: integer
        portType:
          $ref: "#/components/schemas/WiegandOutputPhysicalPortEnumType"
      type: object
    WiegandOutputPhysicalPortEnumType:
      enum:
        - WIEGAND_OUTPUT
      type: string
    WiegandCredentialEndianEnumType:
      enum:
        - MSB
        - LSB
      type: string
    WiegandDataPortType:
      properties:
        boardNum:
          format: int32
          nullable: true
          type: integer
        portNum:
          format: int32
          nullable: true
          type: integer
        portType:
          $ref: "#/components/schemas/WiegandDataPhysicalPortEnumType"
      type: object
    WiegandDataPhysicalPortEnumType:
      enum:
        - WIEGAND_INPUT
      type: string
    WiegandInputPortType:
      properties:
        boardNum:
          format: int32
          nullable: true
          type: integer
        portNum:
          format: int32
          nullable: true
          type: integer
        portType:
          $ref: "#/components/schemas/WiegandInputPhysicalPortEnumType"
      type: object
    WiegandInputPhysicalPortEnumType:
      enum:
        - WIEGAND_INPUT
        - GPIO_INPUT
      type: string
    IntegratedDoorPositionIndicatorType:
      properties:
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        dpiType:
          $ref: "#/components/schemas/DoorPositionIndicatorEnumType"
        name:
          nullable: true
          type: string
        normalState:
          $ref: "#/components/schemas/NormalStateEnumType"
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        port:
          $ref: "#/components/schemas/DoorPositionIndicatorPortType"
        portImmutable:
          nullable: true
          type: boolean
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      type: object
    DoorPositionIndicatorEnumType:
      enum:
        - integrated
        - remote
      type: string
    NormalStateEnumType:
      enum:
        - NO
        - NC
      type: string
    DoorPositionIndicatorPortType:
      properties:
        boardNum:
          format: int32
          nullable: true
          type: integer
        portNum:
          format: int32
          nullable: true
          type: integer
        portType:
          $ref: "#/components/schemas/DoorPositionIndicatorPhysicalPortEnumType"
        supervisionConfiguration:
          $ref: "#/components/schemas/PortSupervisionConfigurationType"
      type: object
    DoorPositionIndicatorPhysicalPortEnumType:
      enum:
        - GPIO_INPUT
        - GPIO_INPUT_SUPERVISED
      type: string
    PortSupervisionConfigurationType:
      properties:
        mode:
          $ref: "#/components/schemas/SupervisionModeEnumType"
      type: object
    SupervisionModeEnumType:
      enum:
        - CUT_DETECT
        - SHORT_DETECT
        - CUT_AND_SHORT_DETECT
      type: string
    IntegratedRequestToExitType:
      properties:
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        intentOnly:
          nullable: true
          type: boolean
        intentOnlyEvents:
          nullable: true
          type: boolean
        name:
          nullable: true
          type: string
        normalState:
          $ref: "#/components/schemas/NormalStateEnumType"
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        port:
          $ref: "#/components/schemas/RequestToExitPortType"
        portImmutable:
          nullable: true
          type: boolean
        rexType:
          $ref: "#/components/schemas/RequestToExitEnumType"
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      type: object
    RequestToExitPortType:
      properties:
        boardNum:
          format: int32
          nullable: true
          type: integer
        portNum:
          format: int32
          nullable: true
          type: integer
        portType:
          $ref: "#/components/schemas/RequestToExitPhysicalPortEnumType"
        supervisionConfiguration:
          $ref: "#/components/schemas/PortSupervisionConfigurationType"
      type: object
    RequestToExitPhysicalPortEnumType:
      enum:
        - GPIO_INPUT
        - GPIO_INPUT_SUPERVISED
      type: string
    RequestToExitEnumType:
      enum:
        - integrated
        - remote
      type: string
    IntegratedDoorRelayType:
      properties:
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        name:
          nullable: true
          type: string
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        port:
          $ref: "#/components/schemas/DoorRelayPortType"
        portImmutable:
          nullable: true
          type: boolean
        rateLimitingEnabled:
          nullable: true
          type: boolean
        relayType:
          $ref: "#/components/schemas/DoorRelayEnumType"
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      type: object
    DoorRelayPortType:
      properties:
        boardNum:
          format: int32
          nullable: true
          type: integer
        portNum:
          format: int32
          nullable: true
          type: integer
        portType:
          $ref: "#/components/schemas/DoorRelayPhysicalPortEnumType"
      type: object
    DoorRelayPhysicalPortEnumType:
      enum:
        - GPIO_OUTPUT
      type: string
    DoorRelayEnumType:
      enum:
        - integrated
        - remote
      type: string
    IntegratedGenericRelayType:
      properties:
        auxType:
          $ref: "#/components/schemas/AuxiliaryEnumType"
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        name:
          nullable: true
          type: string
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        originator:
          $ref: "#/components/schemas/BaseEventOriginator"
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        port:
          $ref: "#/components/schemas/AuxiliaryRelayPortType"
        portImmutable:
          nullable: true
          type: boolean
        relayDurationSec:
          deprecated: true
          description: Deprecated, do not use.
          format: int32
          nullable: true
          type: integer
        stateChangedAtMillis:
          format: int64
          nullable: true
          type: integer
        steadyState:
          $ref: "#/components/schemas/GenericRelayStateEnumType"
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      type: object
    AuxiliaryEnumType:
      enum:
        - integrated_generic_input
        - integrated_generic_relay
      type: string
    BaseEventOriginator:
      discriminator:
        propertyName: type
      oneOf:
        - $ref: "#/components/schemas/SupportAuthorityEventOriginator"
        - $ref: "#/components/schemas/ApiTokenEventOriginator"
        - $ref: "#/components/schemas/UserEventOriginator"
        - $ref: "#/components/schemas/RuleEventOriginator"
        - $ref: "#/components/schemas/ComponentCompositeEventOriginator"
        - $ref: "#/components/schemas/GuestPassEventOriginator"
        - $ref: "#/components/schemas/DeviceServiceEventOriginator"
      properties:
        auditPrincipal:
          nullable: true
          type: string
        type:
          $ref: "#/components/schemas/EventOriginatorEnum"
      type: object
    SupportAuthorityEventOriginator:
      allOf:
        - properties:
            grantedToInternalEntityUuid:
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              format: RUUID
              nullable: true
              type: string
            grantedToName:
              nullable: true
              type: string
            supportAuthorityUuid:
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              format: RUUID
              nullable: true
              type: string
            supportUserEmail:
              nullable: true
              type: string
            supportUsername:
              nullable: true
              type: string
          type: object
      nullable: true
      properties:
        auditPrincipal:
          nullable: true
          type: string
        type:
          $ref: "#/components/schemas/EventOriginatorEnum"
      type: object
    EventOriginatorEnum:
      enum:
        - USER
        - SUPPORT_AUTHORITY
        - API_TOKEN
        - RULE
        - COMPONENT_COMPOSITE_EVENT
        - GUEST_PASS
        - DEVICE_SERVICE
        - UNKNOWN
      type: string
    ApiTokenEventOriginator:
      allOf:
        - properties:
            tokenName:
              nullable: true
              type: string
            tokenUuid:
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              format: RUUID
              nullable: true
              type: string
          type: object
      nullable: true
      properties:
        auditPrincipal:
          nullable: true
          type: string
        type:
          $ref: "#/components/schemas/EventOriginatorEnum"
      type: object
    UserEventOriginator:
      allOf:
        - properties:
            userEmail:
              nullable: true
              type: string
            userUuid:
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              format: RUUID
              nullable: true
              type: string
            username:
              nullable: true
              type: string
          type: object
      nullable: true
      properties:
        auditPrincipal:
          nullable: true
          type: string
        type:
          $ref: "#/components/schemas/EventOriginatorEnum"
      type: object
    RuleEventOriginator:
      allOf:
        - properties:
            ruleName:
              nullable: true
              type: string
            ruleUuid:
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              format: RUUID
              nullable: true
              type: string
          type: object
      nullable: true
      properties:
        auditPrincipal:
          nullable: true
          type: string
        type:
          $ref: "#/components/schemas/EventOriginatorEnum"
      type: object
    ComponentCompositeEventOriginator:
      allOf:
        - properties:
            componentCompositeName:
              nullable: true
              type: string
            componentCompositeUuid:
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              format: RUUID
              nullable: true
              type: string
            correlationId:
              nullable: true
              type: string
            eventUuid:
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              format: RUUID
              nullable: true
              type: string
            originator:
              $ref: "#/components/schemas/BaseEventOriginator"
          type: object
      nullable: true
      properties:
        auditPrincipal:
          nullable: true
          type: string
        type:
          $ref: "#/components/schemas/EventOriginatorEnum"
      type: object
    GuestPassEventOriginator:
      allOf:
        - properties:
            guestPassName:
              nullable: true
              type: string
            guestPassUuid:
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              format: RUUID
              nullable: true
              type: string
          type: object
      nullable: true
      properties:
        auditPrincipal:
          nullable: true
          type: string
        type:
          $ref: "#/components/schemas/EventOriginatorEnum"
      type: object
    DeviceServiceEventOriginator:
      allOf:
        - properties:
            deviceUuid:
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              format: RUUID
              nullable: true
              type: string
            serviceName:
              nullable: true
              type: string
          type: object
      nullable: true
      properties:
        auditPrincipal:
          nullable: true
          type: string
        type:
          $ref: "#/components/schemas/EventOriginatorEnum"
      type: object
    AuxiliaryRelayPortType:
      properties:
        boardNum:
          format: int32
          nullable: true
          type: integer
        portNum:
          format: int32
          nullable: true
          type: integer
        portType:
          $ref: "#/components/schemas/AuxiliaryRelayPhysicalPortEnumType"
      type: object
    AuxiliaryRelayPhysicalPortEnumType:
      enum:
        - GPIO_OUTPUT
      type: string
    GenericRelayStateEnumType:
      enum:
        - ACTIVE
        - INACTIVE
        - UNKNOWN
      type: string
    IntegratedGenericInputType:
      properties:
        auxType:
          $ref: "#/components/schemas/AuxiliaryEnumType"
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        name:
          nullable: true
          type: string
        normalState:
          $ref: "#/components/schemas/NormalStateEnumType"
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        port:
          $ref: "#/components/schemas/AuxiliaryInputPortType"
        portImmutable:
          nullable: true
          type: boolean
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      type: object
    AuxiliaryInputPortType:
      properties:
        boardNum:
          format: int32
          nullable: true
          type: integer
        portNum:
          format: int32
          nullable: true
          type: integer
        portType:
          $ref: "#/components/schemas/AuxiliaryInputPhysicalPortEnumType"
        supervisionConfiguration:
          $ref: "#/components/schemas/PortSupervisionConfigurationType"
      type: object
    AuxiliaryInputPhysicalPortEnumType:
      enum:
        - GPIO_INPUT
        - GPIO_INPUT_SUPERVISED
      type: string
    IntegratedGenericButtonType:
      properties:
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        buttonType:
          $ref: "#/components/schemas/ButtonEnumType"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        mode:
          $ref: "#/components/schemas/ButtonModeEnum"
        name:
          nullable: true
          type: string
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        port:
          $ref: "#/components/schemas/ButtonPortType"
        portImmutable:
          nullable: true
          type: boolean
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      type: object
    ButtonEnumType:
      enum:
        - integrated_generic_button
        - integrated_doorbell_button
        - schlage_rs485_input_button
        - aperio_rs485_activator_button
      type: string
    ButtonModeEnum:
      description: Optional button mode configuration
      enum:
        - PANIC
        - PROGRAMMABLE
        - DOORBELL
        - NONE
      type: string
    ButtonPortType:
      properties:
        boardNum:
          format: int32
          nullable: true
          type: integer
        portNum:
          format: int32
          nullable: true
          type: integer
        portType:
          $ref: "#/components/schemas/ButtonPhysicalPortEnumType"
      type: object
    ButtonPhysicalPortEnumType:
      enum:
        - GPIO_INPUT
        - BUTTON_INPUT
      type: string
    SchlageInputButton:
      allOf:
        - properties:
            buttonType:
              $ref: "#/components/schemas/ButtonEnumType"
            gatewayRs485Address:
              format: int32
              nullable: true
              type: integer
            ipbFunction:
              $ref: "#/components/schemas/SchlageIpbFunctionEnum"
            mode:
              $ref: "#/components/schemas/ButtonModeEnum"
            port:
              $ref: "#/components/schemas/GenericRs485Port"
            rs485Address:
              format: int32
              nullable: true
              type: integer
          type: object
      nullable: true
      properties:
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        name:
          nullable: true
          type: string
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        portImmutable:
          nullable: true
          type: boolean
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      required:
        - rs485Address
      type: object
    SchlageIpbFunctionEnum:
      enum:
        - NONE
        - PRIVACY
      type: string
    GenericRs485Port:
      properties:
        boardNum:
          format: int32
          nullable: true
          type: integer
        portNum:
          format: int32
          nullable: true
          type: integer
        portType:
          $ref: "#/components/schemas/GenericRs485PhysicalPortEnum"
      type: object
    GenericRs485PhysicalPortEnum:
      enum:
        - RS485
      type: string
    AperioActivatorButton:
      allOf:
        - properties:
            activatorFunction:
              $ref: "#/components/schemas/AperioActivatorFunctionEnum"
            buttonType:
              $ref: "#/components/schemas/ButtonEnumType"
            eacAddress:
              format: int32
              nullable: true
              type: integer
            gatewayEacAddress:
              format: int32
              nullable: true
              type: integer
            mode:
              $ref: "#/components/schemas/ButtonModeEnum"
            port:
              $ref: "#/components/schemas/GenericRs485Port"
          type: object
      nullable: true
      properties:
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        name:
          nullable: true
          type: string
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        portImmutable:
          nullable: true
          type: boolean
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      required:
        - eacAddress
      type: object
    AperioActivatorFunctionEnum:
      enum:
        - NONE
        - PRIVACY
      type: string
    AperioGateway:
      properties:
        aperioGatewayId:
          items:
            format: byte
            nullable: true
            type: string
          nullable: true
          type: array
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        hwVersion:
          items:
            format: byte
            nullable: true
            type: string
          nullable: true
          type: array
        name:
          nullable: true
          type: string
        oemCode:
          nullable: true
          type: string
        oemGeneratedAtMs:
          format: int64
          nullable: true
          type: integer
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        portImmutable:
          nullable: true
          type: boolean
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      type: object
    AperioDoorReader:
      allOf:
        - properties:
            aperioDoorId:
              nullable: true
              type: string
            aperioGatewayId:
              items:
                format: byte
                nullable: true
                type: string
              nullable: true
              type: array
            disableCardReader:
              nullable: true
              type: boolean
            disableKeypad:
              nullable: true
              type: boolean
            disableWaveToUnlock:
              nullable: true
              type: boolean
            disposition:
              $ref: "#/components/schemas/ReaderDispositionEnum"
            otherReaderUnlockAudioFeedbackEnabled:
              nullable: true
              type: boolean
            readerType:
              $ref: "#/components/schemas/DoorReaderEnumType"
            remoteUnlockAudioFeedbackEnabled:
              nullable: true
              type: boolean
          type: object
      nullable: true
      properties:
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        name:
          nullable: true
          type: string
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        portImmutable:
          nullable: true
          type: boolean
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      type: object
    AperioDoorExtension:
      allOf:
        - properties:
            aperioDoorDeviceId:
              items:
                format: byte
                nullable: true
                type: string
              nullable: true
              type: array
            aperioDoorId:
              nullable: true
              type: string
            aperioGatewayId:
              items:
                format: byte
                nullable: true
                type: string
              nullable: true
              type: array
          type: object
      nullable: true
      properties:
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        name:
          nullable: true
          type: string
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        portImmutable:
          nullable: true
          type: boolean
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      required:
        - aperioDoorDeviceId
        - aperioDoorId
        - aperioGatewayId
      type: object
    AperioDoorRelay:
      allOf:
        - properties:
            aperioDoorId:
              nullable: true
              type: string
            aperioGatewayId:
              items:
                format: byte
                nullable: true
                type: string
              nullable: true
              type: array
            deviceId:
              items:
                format: byte
                nullable: true
                type: string
              nullable: true
              type: array
            relayType:
              $ref: "#/components/schemas/DoorRelayEnumType"
          type: object
      nullable: true
      properties:
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        name:
          nullable: true
          type: string
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        portImmutable:
          nullable: true
          type: boolean
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      type: object
    AperioDoorPositionIndicator:
      allOf:
        - properties:
            aperioDoorId:
              nullable: true
              type: string
            aperioGatewayId:
              items:
                format: byte
                nullable: true
                type: string
              nullable: true
              type: array
            dpiType:
              $ref: "#/components/schemas/DoorPositionIndicatorEnumType"
            normalState:
              $ref: "#/components/schemas/NormalStateEnumType"
          type: object
      nullable: true
      properties:
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        name:
          nullable: true
          type: string
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        portImmutable:
          nullable: true
          type: boolean
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      type: object
    AperioRs485Gateway:
      properties:
        aperioGatewayId:
          items:
            format: byte
            nullable: true
            type: string
          nullable: true
          type: array
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        eacAddress:
          format: int32
          nullable: true
          type: integer
        hwVersion:
          items:
            format: byte
            nullable: true
            type: string
          nullable: true
          type: array
        name:
          nullable: true
          type: string
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        port:
          $ref: "#/components/schemas/GenericRs485Port"
        portImmutable:
          nullable: true
          type: boolean
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      type: object
    AperioRs485DoorReader:
      allOf:
        - properties:
            disableCardReader:
              nullable: true
              type: boolean
            disableKeypad:
              nullable: true
              type: boolean
            disableWaveToUnlock:
              nullable: true
              type: boolean
            disposition:
              $ref: "#/components/schemas/ReaderDispositionEnum"
            eacAddress:
              format: int32
              nullable: true
              type: integer
            gatewayEacAddress:
              format: int32
              nullable: true
              type: integer
            otherReaderUnlockAudioFeedbackEnabled:
              nullable: true
              type: boolean
            port:
              $ref: "#/components/schemas/GenericRs485Port"
            readerType:
              $ref: "#/components/schemas/DoorReaderEnumType"
            remoteUnlockAudioFeedbackEnabled:
              nullable: true
              type: boolean
          type: object
      nullable: true
      properties:
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        name:
          nullable: true
          type: string
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        portImmutable:
          nullable: true
          type: boolean
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      required:
        - eacAddress
      type: object
    AperioRs485DoorRelay:
      allOf:
        - properties:
            eacAddress:
              format: int32
              nullable: true
              type: integer
            gatewayEacAddress:
              format: int32
              nullable: true
              type: integer
            port:
              $ref: "#/components/schemas/GenericRs485Port"
            rateLimitingEnabled:
              nullable: true
              type: boolean
            relayType:
              $ref: "#/components/schemas/DoorRelayEnumType"
          type: object
      nullable: true
      properties:
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        name:
          nullable: true
          type: string
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        portImmutable:
          nullable: true
          type: boolean
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      type: object
    AperioRs485DoorPositionIndicator:
      allOf:
        - properties:
            dpiType:
              $ref: "#/components/schemas/DoorPositionIndicatorEnumType"
            eacAddress:
              format: int32
              nullable: true
              type: integer
            gatewayEacAddress:
              format: int32
              nullable: true
              type: integer
            normalState:
              $ref: "#/components/schemas/NormalStateEnumType"
            port:
              $ref: "#/components/schemas/GenericRs485Port"
          type: object
      nullable: true
      properties:
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        name:
          nullable: true
          type: string
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        portImmutable:
          nullable: true
          type: boolean
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      type: object
    AperioRs485DoorRequestToExit:
      allOf:
        - properties:
            eacAddress:
              format: int32
              nullable: true
              type: integer
            gatewayEacAddress:
              format: int32
              nullable: true
              type: integer
            intentOnly:
              nullable: true
              type: boolean
            intentOnlyEvents:
              nullable: true
              type: boolean
            normalState:
              $ref: "#/components/schemas/NormalStateEnumType"
            port:
              $ref: "#/components/schemas/GenericRs485Port"
            rexType:
              $ref: "#/components/schemas/RequestToExitEnumType"
          type: object
      nullable: true
      properties:
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        name:
          nullable: true
          type: string
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        portImmutable:
          nullable: true
          type: boolean
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      type: object
    AperioRs485DoorExtension:
      allOf:
        - properties:
            eacAddress:
              format: int32
              nullable: true
              type: integer
            gatewayEacAddress:
              format: int32
              nullable: true
              type: integer
            model:
              $ref: "#/components/schemas/AperioLockModelEnum"
            port:
              $ref: "#/components/schemas/GenericRs485Port"
          type: object
      nullable: true
      properties:
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        name:
          nullable: true
          type: string
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        portImmutable:
          nullable: true
          type: boolean
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      type: object
    AperioLockModelEnum:
      enum:
        - C100_V3
        - E100_V3
        - L100_V3
        - H100_V3
        - AU100_V3
        - IN100_V3_MC
        - G100_V3
        - KL100_V3
        - K100_V3_MC
        - KS100_V3_MC
        - ES100_V3_MC
        - DL100_V3_MC
        - DR100_V3_MC
        - R100_V3_MC
        - C100
        - C100_V2SE
        - E100
        - E100_V2SE
        - L100
        - PROFILE_N2_MORTISE
        - INCEPTA
        - A100
        - K100
        - K100DI
        - KS100
        - M100
        - R100
      type: string
    SchlageRs485Gateway:
      properties:
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        baud:
          format: int32
          nullable: true
          type: integer
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        frameCheck:
          $ref: "#/components/schemas/Rs485FrameCheckEnum"
        hwVersion:
          nullable: true
          type: string
        model:
          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
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        port:
          $ref: "#/components/schemas/GenericRs485Port"
        portImmutable:
          nullable: true
          type: boolean
        rs485Address:
          format: int32
          nullable: true
          type: integer
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      required:
        - rs485Address
      type: object
    Rs485FrameCheckEnum:
      enum:
        - SCHLAGE_RSI_CRC
        - SCHLAGE_RSI_CHECKSUM
      type: string
    SchlageRs485DoorReader:
      allOf:
        - properties:
            disableCardReader:
              nullable: true
              type: boolean
            disableKeypad:
              nullable: true
              type: boolean
            disableWaveToUnlock:
              nullable: true
              type: boolean
            disposition:
              $ref: "#/components/schemas/ReaderDispositionEnum"
            gatewayRs485Address:
              format: int32
              nullable: true
              type: integer
            otherReaderUnlockAudioFeedbackEnabled:
              nullable: true
              type: boolean
            port:
              $ref: "#/components/schemas/GenericRs485Port"
            readerType:
              $ref: "#/components/schemas/DoorReaderEnumType"
            remoteUnlockAudioFeedbackEnabled:
              nullable: true
              type: boolean
            rs485Address:
              format: int32
              nullable: true
              type: integer
          type: object
      nullable: true
      properties:
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        name:
          nullable: true
          type: string
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        portImmutable:
          nullable: true
          type: boolean
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      required:
        - rs485Address
      type: object
    SchlageRs485DoorExtension:
      allOf:
        - properties:
            apmFamily:
              $ref: "#/components/schemas/SchlageApmFamilyEnum"
            gatewayRs485Address:
              format: int32
              nullable: true
              type: integer
            port:
              $ref: "#/components/schemas/GenericRs485Port"
            rs485Address:
              format: int32
              nullable: true
              type: integer
          type: object
      nullable: true
      properties:
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        name:
          nullable: true
          type: string
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        portImmutable:
          nullable: true
          type: boolean
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      type: object
    SchlageApmFamilyEnum:
      enum:
        - AD_WIRED
        - AD_WIRELESS
        - ENGAGE
        - RMRU
      type: string
    SchlageRs485DoorRelay:
      allOf:
        - properties:
            gatewayRs485Address:
              format: int32
              nullable: true
              type: integer
            port:
              $ref: "#/components/schemas/GenericRs485Port"
            relayType:
              $ref: "#/components/schemas/DoorRelayEnumType"
            rs485Address:
              format: int32
              nullable: true
              type: integer
          type: object
      nullable: true
      properties:
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        name:
          nullable: true
          type: string
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        portImmutable:
          nullable: true
          type: boolean
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      type: object
    SchlageRs485DoorPositionIndicator:
      allOf:
        - properties:
            dpiType:
              $ref: "#/components/schemas/DoorPositionIndicatorEnumType"
            gatewayRs485Address:
              format: int32
              nullable: true
              type: integer
            normalState:
              $ref: "#/components/schemas/NormalStateEnumType"
            port:
              $ref: "#/components/schemas/GenericRs485Port"
            rs485Address:
              format: int32
              nullable: true
              type: integer
          type: object
      nullable: true
      properties:
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        name:
          nullable: true
          type: string
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        portImmutable:
          nullable: true
          type: boolean
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
      type: object
    SchlageRs485DoorRequestToExit:
      allOf:
        - properties:
            gatewayRs485Address:
              format: int32
              nullable: true
              type: integer
            intentOnly:
              nullable: true
              type: boolean
            intentOnlyEvents:
              nullable: true
              type: boolean
            normalState:
              $ref: "#/components/schemas/NormalStateEnumType"
            port:
              $ref: "#/components/schemas/GenericRs485Port"
            rexType:
              $ref: "#/components/schemas/RequestToExitEnumType"
            rs485Address:
              format: int32
              nullable: true
              type: integer
          type: object
      nullable: true
      properties:
        baseType:
          $ref: "#/components/schemas/ComponentBaseEnumType"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        name:
          nullable: true
          type: string
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerDeviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        ownerHardwareType:
          $ref: "#/components/schemas/HardwareVariationEnum"
        portImmutable:
          nullable: true
          type: boolean
        type:
          $ref: "#/components/schemas/ComponentEnumType"
        updatedAtMillis:
          format: int64
          nullable: true
          type: integer
        uuid:
          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
````
