> ## Documentation Index
> Fetch the complete documentation index at: https://api-docs.rhombus.community/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve all component shadows for the components belonging to the specified component composites

> Retrieve all component shadows for the components belonging to the specified component composites (doors, elevators, elevator landings). Each composite is expanded to its component references and the resulting set of component shadows is returned.



## OpenAPI

````yaml https://api2.rhombussystems.com/api/openapi/public.json post /api/component/findComponentShadowsByComponentComposites
openapi: 3.0.1
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 API
  version: '1.0'
servers:
  - description: Production Server
    url: https://api2.rhombussystems.com
security:
  - ApiKeyAuth: []
paths:
  /api/component/findComponentShadowsByComponentComposites:
    post:
      tags:
        - Component Webservice
      summary: >-
        Retrieve all component shadows for the components belonging to the
        specified component composites
      description: >-
        Retrieve all component shadows for the components belonging to the
        specified component composites (doors, elevators, elevator landings).
        Each composite is expanded to its component references and the resulting
        set of component shadows is returned.
      operationId: findComponentShadowsByComponentComposites
      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/Component_FindComponentShadowsByComponentCompositesWSRequest
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Component_FindComponentShadowsByComponentCompositesWSResponse
          description: OK
components:
  schemas:
    Component_FindComponentShadowsByComponentCompositesWSRequest:
      type: object
      properties:
        componentCompositeUuids:
          type: array
          items:
            type: string
            format: RUUID
            description: base 64 (url-safe) uuid string
            example: AAAAAAAAAAAAAAAAAAAAAA
            nullable: true
          nullable: true
          uniqueItems: true
    Component_FindComponentShadowsByComponentCompositesWSResponse:
      type: object
      properties:
        componentShadowMap:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ComponentShadowType'
          nullable: true
    ComponentShadowType:
      type: object
      discriminator:
        propertyName: type
      oneOf:
        - $ref: '#/components/schemas/DoorReaderShadowType'
        - $ref: '#/components/schemas/DoorRelayShadowType'
        - $ref: '#/components/schemas/DoorPositionIndicatorShadowType'
        - $ref: '#/components/schemas/RequestToExitShadowType'
        - $ref: '#/components/schemas/GenericInputShadowType'
        - $ref: '#/components/schemas/IntegratedDoorRelayType'
        - $ref: '#/components/schemas/GenericRelayShadowType'
        - $ref: '#/components/schemas/GenericButtonShadowType'
        - $ref: '#/components/schemas/AperioGatewayShadow'
        - $ref: '#/components/schemas/AperioDoorExtensionShadow'
      properties:
        componentUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        createdAtMillis:
          type: integer
          format: int64
          nullable: true
        orgUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        ownerDeviceUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        type:
          $ref: '#/components/schemas/ComponentShadowEnumType'
        updatedAtMillis:
          type: integer
          format: int64
          nullable: true
    DoorReaderShadowType:
      type: object
      allOf:
        - type: object
          properties:
            state:
              $ref: '#/components/schemas/DoorReaderStateEnumType'
            stateUpdateEventTimestampMs:
              type: integer
              format: int64
              nullable: true
      nullable: true
      properties:
        componentUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        createdAtMillis:
          type: integer
          format: int64
          nullable: true
        orgUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        ownerDeviceUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        type:
          $ref: '#/components/schemas/ComponentShadowEnumType'
        updatedAtMillis:
          type: integer
          format: int64
          nullable: true
    DoorRelayShadowType:
      type: object
      allOf:
        - type: object
          properties:
            state:
              $ref: '#/components/schemas/DoorRelayStateEnumType'
            stateUpdateEventTimestampMs:
              type: integer
              format: int64
              nullable: true
      nullable: true
      properties:
        componentUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        createdAtMillis:
          type: integer
          format: int64
          nullable: true
        orgUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        ownerDeviceUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        type:
          $ref: '#/components/schemas/ComponentShadowEnumType'
        updatedAtMillis:
          type: integer
          format: int64
          nullable: true
    DoorPositionIndicatorShadowType:
      type: object
      allOf:
        - type: object
          properties:
            state:
              $ref: '#/components/schemas/DoorPositionIndicatorStateEnumType'
            stateUpdateEventTimestampMs:
              type: integer
              format: int64
              nullable: true
            supervisionState:
              $ref: '#/components/schemas/SupervisionStateEnumType'
      nullable: true
      properties:
        componentUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        createdAtMillis:
          type: integer
          format: int64
          nullable: true
        orgUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        ownerDeviceUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        type:
          $ref: '#/components/schemas/ComponentShadowEnumType'
        updatedAtMillis:
          type: integer
          format: int64
          nullable: true
    RequestToExitShadowType:
      type: object
      allOf:
        - type: object
          properties:
            state:
              $ref: '#/components/schemas/RequestToExitStateEnumType'
            stateUpdateEventTimestampMs:
              type: integer
              format: int64
              nullable: true
            supervisionState:
              $ref: '#/components/schemas/SupervisionStateEnumType'
      nullable: true
      properties:
        componentUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        createdAtMillis:
          type: integer
          format: int64
          nullable: true
        orgUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        ownerDeviceUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        type:
          $ref: '#/components/schemas/ComponentShadowEnumType'
        updatedAtMillis:
          type: integer
          format: int64
          nullable: true
    GenericInputShadowType:
      type: object
      allOf:
        - type: object
          properties:
            state:
              $ref: '#/components/schemas/GenericInputStateEnumType'
            stateUpdateEventTimestampMs:
              type: integer
              format: int64
              nullable: true
            supervisionState:
              $ref: '#/components/schemas/SupervisionStateEnumType'
      nullable: true
      properties:
        componentUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        createdAtMillis:
          type: integer
          format: int64
          nullable: true
        orgUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        ownerDeviceUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        type:
          $ref: '#/components/schemas/ComponentShadowEnumType'
        updatedAtMillis:
          type: integer
          format: int64
          nullable: true
    IntegratedDoorRelayType:
      type: object
      properties:
        baseType:
          $ref: '#/components/schemas/ComponentBaseEnumType'
        createdAtMillis:
          type: integer
          format: int64
          nullable: true
        name:
          type: string
          nullable: true
        orgUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        ownerDeviceUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        ownerHardwareType:
          $ref: '#/components/schemas/HardwareVariationEnum'
        port:
          $ref: '#/components/schemas/DoorRelayPortType'
        portImmutable:
          type: boolean
          nullable: true
        rateLimitingEnabled:
          type: boolean
          nullable: true
        relayType:
          $ref: '#/components/schemas/DoorRelayEnumType'
        type:
          $ref: '#/components/schemas/ComponentEnumType'
        updatedAtMillis:
          type: integer
          format: int64
          nullable: true
        uuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
    GenericRelayShadowType:
      type: object
      allOf:
        - type: object
          properties:
            originator:
              $ref: '#/components/schemas/BaseEventOriginator'
            state:
              $ref: '#/components/schemas/GenericRelayStateEnumType'
            stateUpdateEventTimestampMs:
              type: integer
              format: int64
              nullable: true
      nullable: true
      properties:
        componentUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        createdAtMillis:
          type: integer
          format: int64
          nullable: true
        orgUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        ownerDeviceUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        type:
          $ref: '#/components/schemas/ComponentShadowEnumType'
        updatedAtMillis:
          type: integer
          format: int64
          nullable: true
    GenericButtonShadowType:
      type: object
      allOf:
        - type: object
          properties:
            state:
              $ref: '#/components/schemas/GenericButtonStateEnumType'
            stateUpdateEventTimestampMs:
              type: integer
              format: int64
              nullable: true
            supervisionState:
              $ref: '#/components/schemas/SupervisionStateEnumType'
      nullable: true
      properties:
        componentUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        createdAtMillis:
          type: integer
          format: int64
          nullable: true
        orgUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        ownerDeviceUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        type:
          $ref: '#/components/schemas/ComponentShadowEnumType'
        updatedAtMillis:
          type: integer
          format: int64
          nullable: true
    AperioGatewayShadow:
      type: object
      allOf:
        - type: object
          properties:
            aperioId:
              type: array
              items:
                type: string
                format: byte
                nullable: true
              nullable: true
            connected:
              type: boolean
              nullable: true
            connectionStateUpdatedAtMs:
              type: integer
              format: int64
              nullable: true
            deviceClockSec:
              type: integer
              format: int64
              nullable: true
            deviceTimezone:
              type: integer
              format: int32
              nullable: true
            dtcs:
              type: array
              items:
                $ref: '#/components/schemas/DtcInfo'
              nullable: true
            firmwareVersion:
              type: string
              nullable: true
            hwVersion:
              type: array
              items:
                type: string
                format: byte
                nullable: true
              nullable: true
            ipAddress:
              type: string
              nullable: true
            lastSeenMs:
              type: integer
              format: int64
              nullable: true
            oemCode:
              type: string
              nullable: true
            oemCodeFetchedAtMs:
              type: integer
              format: int64
              nullable: true
            protocolVersionMajor:
              type: integer
              format: int32
              nullable: true
            protocolVersionMinor:
              type: integer
              format: int32
              nullable: true
            protocolVersionPatch:
              type: integer
              format: int32
              nullable: true
            rawTamperState:
              type: integer
              format: int32
              nullable: true
            stateUpdatedAtMs:
              type: integer
              format: int64
              nullable: true
      nullable: true
      properties:
        componentUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        createdAtMillis:
          type: integer
          format: int64
          nullable: true
        orgUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        ownerDeviceUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        type:
          $ref: '#/components/schemas/ComponentShadowEnumType'
        updatedAtMillis:
          type: integer
          format: int64
          nullable: true
    AperioDoorExtensionShadow:
      type: object
      allOf:
        - type: object
          properties:
            activatorState:
              type: integer
              format: int32
              nullable: true
            activatorStateUpdatedAtMs:
              type: integer
              format: int64
              nullable: true
            aperioDoorDeviceId:
              type: array
              items:
                type: string
                format: byte
                nullable: true
              nullable: true
            aperioGatewayId:
              type: array
              items:
                type: string
                format: byte
                nullable: true
              nullable: true
            aperioId:
              type: string
              nullable: true
            clockRetrievedAtMs:
              type: integer
              format: int64
              nullable: true
            connected:
              type: boolean
              nullable: true
            connectionStateUpdatedAtMs:
              type: integer
              format: int64
              nullable: true
            deviceClockSec:
              type: integer
              format: int64
              nullable: true
            deviceTimezone:
              type: integer
              format: int32
              nullable: true
            doorMode:
              type: integer
              format: int32
              nullable: true
            doorModeUpdatedAtMs:
              type: integer
              format: int64
              nullable: true
            dtcs:
              type: array
              items:
                $ref: '#/components/schemas/DtcInfo'
              nullable: true
            dtcsUpdatedAtMs:
              type: integer
              format: int64
              nullable: true
            gatewayComponentId:
              type: string
              format: RUUID
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              nullable: true
            handleState:
              type: integer
              format: int32
              nullable: true
            handleStateUpdatedAtMs:
              type: integer
              format: int64
              nullable: true
            keyCylinderState:
              type: integer
              format: int32
              nullable: true
            keyCylinderStateUpdatedAtMs:
              type: integer
              format: int64
              nullable: true
            lastSeenMs:
              type: integer
              format: int64
              nullable: true
            name:
              type: string
              nullable: true
            removed:
              type: boolean
              nullable: true
            stateUpdatedAtMs:
              type: integer
              format: int64
              nullable: true
            tamperState:
              type: integer
              format: int32
              nullable: true
            tamperStateUpdatedAtMs:
              type: integer
              format: int64
              nullable: true
      nullable: true
      properties:
        componentUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        createdAtMillis:
          type: integer
          format: int64
          nullable: true
        orgUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        ownerDeviceUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        type:
          $ref: '#/components/schemas/ComponentShadowEnumType'
        updatedAtMillis:
          type: integer
          format: int64
          nullable: true
    ComponentShadowEnumType:
      type: string
      enum:
        - DoorReaderShadow
        - DoorRelayShadow
        - DoorPositionIndicatorShadow
        - RequestToExitShadow
        - GenericRelayShadow
        - GenericInputShadow
        - GenericButtonShadow
        - AperioGatewayShadow
        - AperioDoorExtensionShadow
    DoorReaderStateEnumType:
      type: string
      enum:
        - CONNECTED
        - DISCONNECTED
        - UNKNOWN
    DoorRelayStateEnumType:
      type: string
      enum:
        - UNLOCKED
        - LOCKED
        - UNKNOWN
    DoorPositionIndicatorStateEnumType:
      type: string
      enum:
        - OPEN
        - CLOSED
        - AJAR
        - FORCED_OPEN
        - ERROR
        - UNKNOWN
    SupervisionStateEnumType:
      type: string
      enum:
        - CUT_DETECTED
        - SHORT_DETECTED
        - NORMAL
        - INVALID
        - UNKNOWN
    RequestToExitStateEnumType:
      type: string
      enum:
        - ACTIVE
        - INACTIVE
        - UNKNOWN
    GenericInputStateEnumType:
      type: string
      enum:
        - ACTIVE
        - INACTIVE
        - UNKNOWN
    ComponentBaseEnumType:
      type: string
      enum:
        - reader
        - dpi
        - relay
        - rex
        - aux
        - aperio
        - button
    HardwareVariationEnum:
      type: string
      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
        - NVR_N100
        - CAMERA_R130
        - NVR_N500
        - CAMERA_R150
        - ROBOT_RC1
        - CAMERA_R210
        - CAMERA_R650
        - UNSPECIFIED
    DoorRelayPortType:
      type: object
      properties:
        boardNum:
          type: integer
          format: int32
          nullable: true
        portNum:
          type: integer
          format: int32
          nullable: true
        portType:
          $ref: '#/components/schemas/DoorRelayPhysicalPortEnumType'
    DoorRelayEnumType:
      type: string
      enum:
        - integrated
        - remote
    ComponentEnumType:
      type: string
      enum:
        - RhombusOsdpDoorReader
        - OsdpDoorReader
        - WiegandDoorReader
        - IntegratedDoorPositionIndicator
        - IntegratedRequestToExit
        - IntegratedDoorRelay
        - IntegratedGenericRelay
        - IntegratedGenericInput
        - IntegratedGenericButton
        - AperioGateway
        - AperioDoorExtension
        - AperioDoorRelay
        - AperioDoorPositionIndicator
        - AperioDoorReader
        - AperioDoorRequestToExit
    BaseEventOriginator:
      type: object
      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:
        type:
          $ref: '#/components/schemas/EventOriginatorEnum'
    GenericRelayStateEnumType:
      type: string
      enum:
        - ACTIVE
        - INACTIVE
        - UNKNOWN
    GenericButtonStateEnumType:
      type: string
      enum:
        - BUTTON_DOWN
        - BUTTON_UP
        - UNKNOWN
    DtcInfo:
      type: object
      nullable: true
      properties:
        code:
          type: array
          items:
            type: string
            format: byte
            nullable: true
          nullable: true
        failing:
          type: boolean
          nullable: true
        hasFailed:
          type: boolean
          nullable: true
        testCompleted:
          type: boolean
          nullable: true
        time:
          type: integer
          format: int64
          nullable: true
    DoorRelayPhysicalPortEnumType:
      type: string
      enum:
        - GPIO_OUTPUT
    SupportAuthorityEventOriginator:
      type: object
      allOf:
        - type: object
          properties:
            grantedToInternalEntityUuid:
              type: string
              format: RUUID
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              nullable: true
            grantedToName:
              type: string
              nullable: true
            supportAuthorityUuid:
              type: string
              format: RUUID
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              nullable: true
            supportUserEmail:
              type: string
              nullable: true
            supportUsername:
              type: string
              nullable: true
      nullable: true
      properties:
        type:
          $ref: '#/components/schemas/EventOriginatorEnum'
    ApiTokenEventOriginator:
      type: object
      allOf:
        - type: object
          properties:
            tokenName:
              type: string
              nullable: true
            tokenUuid:
              type: string
              format: RUUID
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              nullable: true
      nullable: true
      properties:
        type:
          $ref: '#/components/schemas/EventOriginatorEnum'
    UserEventOriginator:
      type: object
      allOf:
        - type: object
          properties:
            userEmail:
              type: string
              nullable: true
            userUuid:
              type: string
              format: RUUID
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              nullable: true
            username:
              type: string
              nullable: true
      nullable: true
      properties:
        type:
          $ref: '#/components/schemas/EventOriginatorEnum'
    RuleEventOriginator:
      type: object
      allOf:
        - type: object
          properties:
            ruleName:
              type: string
              nullable: true
            ruleUuid:
              type: string
              format: RUUID
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              nullable: true
      nullable: true
      properties:
        type:
          $ref: '#/components/schemas/EventOriginatorEnum'
    ComponentCompositeEventOriginator:
      type: object
      allOf:
        - type: object
          properties:
            componentCompositeName:
              type: string
              nullable: true
            componentCompositeUuid:
              type: string
              format: RUUID
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              nullable: true
            correlationId:
              type: string
              nullable: true
            eventUuid:
              type: string
              format: RUUID
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              nullable: true
            originator:
              $ref: '#/components/schemas/BaseEventOriginator'
      nullable: true
      properties:
        type:
          $ref: '#/components/schemas/EventOriginatorEnum'
    GuestPassEventOriginator:
      type: object
      allOf:
        - type: object
          properties:
            guestPassName:
              type: string
              nullable: true
            guestPassUuid:
              type: string
              format: RUUID
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              nullable: true
      nullable: true
      properties:
        type:
          $ref: '#/components/schemas/EventOriginatorEnum'
    DeviceServiceEventOriginator:
      type: object
      allOf:
        - type: object
          properties:
            deviceUuid:
              type: string
              format: RUUID
              description: base 64 (url-safe) uuid string
              example: AAAAAAAAAAAAAAAAAAAAAA
              nullable: true
            serviceName:
              type: string
              nullable: true
      nullable: true
      properties:
        type:
          $ref: '#/components/schemas/EventOriginatorEnum'
    EventOriginatorEnum:
      type: string
      enum:
        - USER
        - SUPPORT_AUTHORITY
        - API_TOKEN
        - RULE
        - COMPONENT_COMPOSITE_EVENT
        - GUEST_PASS
        - DEVICE_SERVICE
        - UNKNOWN
  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

````