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

# Get minimal environmental gateway states

> Get list of basic states of all environmental gateways of an org

```http
POST https://api2.rhombussystems.com/api/climate/getMinimalEnvironmentalGatewayStates
```

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`. Request to retrieve minimal environmental gateway states.

No fields: send `{}`.

## Response 200

OK. Content type: `application/json`

- `error` (boolean | null)
- `errorCode` (string | null): Stable, machine-readable code for the failure (one of the ApiErrorCode catalog) when error is true. Branch on this, not on errorMsg.
- `errorMsg` (string | null)
- `lastEvaluatedKey` (string | null)
- `minimalEnvironmentalGatewayStates` (array<object> | null): List of minimal environmental gateway states
- `warningMsg` (string | 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/climate/getMinimalEnvironmentalGatewayStates:
    post:
      description: Get list of basic states of all environmental gateways of an org
      operationId: getMinimalEnvironmentalGatewayStates
      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/Climate_GetMinimalEnvironmentalGatewayStatesWSRequest"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Climate_GetMinimalEnvironmentalGatewayStatesWSResponse"
          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: Get minimal environmental gateway states
      tags:
        - Climate Webservice
components:
  schemas:
    Climate_GetMinimalEnvironmentalGatewayStatesWSRequest:
      description: Request to retrieve minimal environmental gateway states.
      type: object
    Climate_GetMinimalEnvironmentalGatewayStatesWSResponse:
      description: Response containing minimal environmental gateway states.
      properties:
        error:
          nullable: true
          type: boolean
        errorCode:
          description: Stable, machine-readable code for the failure (one of the ApiErrorCode catalog) when error is true. Branch on this, not on errorMsg.
          nullable: true
          type: string
        errorMsg:
          nullable: true
          type: string
        lastEvaluatedKey:
          nullable: true
          type: string
        minimalEnvironmentalGatewayStates:
          description: List of minimal environmental gateway states
          items:
            $ref: "#/components/schemas/Climate_MinimalEnvironmentalGatewayStateType"
          nullable: true
          type: array
        warningMsg:
          nullable: true
          type: string
      type: object
    Climate_MinimalEnvironmentalGatewayStateType:
      description: Minimal environmental gateway state information.
      properties:
        activities:
          description: List of detected activities
          items:
            $ref: "#/components/schemas/ActivityEnum"
          nullable: true
          type: array
        airQualityIndex:
          description: Air quality index value
          example: 45
          format: int32
          nullable: true
          type: integer
        airQualityIndexPollutant:
          $ref: "#/components/schemas/AirQualityIndexPollutantEnum"
        alertTriggers:
          description: List of alert triggers
          items:
            $ref: "#/components/schemas/ActivityEnum"
          nullable: true
          type: array
        associatedCameras:
          description: List of associated camera device facet UUIDs
          items:
            description: RUUID with optional appended facet information
            example: AAAAAAAAAAAAAAAAAAAAAA.v0
            format: DeviceFacetUuid
            nullable: true
            type: string
          nullable: true
          type: array
        calibrating:
          description: Whether the gateway is currently calibrating
          example: false
          nullable: true
          type: boolean
        ch2oPpb:
          description: Formaldehyde measurement in parts per billion
          example: 15.7
          format: float
          nullable: true
          type: number
        co2Ppm:
          description: CO2 measurement in parts per million
          example: 450
          format: int32
          nullable: true
          type: integer
        coConcentration:
          description: Carbon monoxide concentration
          example: 2.1
          format: double
          nullable: true
          type: number
        connected:
          description: Whether the gateway is connected
          example: true
          nullable: true
          type: boolean
        createdAtMillis:
          description: Creation timestamp in milliseconds
          example: 1640995200000
          format: int64
          nullable: true
          type: integer
        defaultInterfaceMac:
          description: Default interface MAC address
          example: 00:1A:2B:3C:4D:5E
          nullable: true
          type: string
        deviceUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        externalIPAddress:
          description: External IP address
          example: 203.0.113.1
          nullable: true
          type: string
        falsePositiveConfidencePercent:
          description: False positive confidence percentage
          example: 5.2
          format: float
          nullable: true
          type: number
        firmwareVersion:
          description: Firmware version
          example: 2.1.5
          nullable: true
          type: string
        floorNumber:
          description: Floor number
          example: 2
          format: int32
          nullable: true
          type: integer
        healthDetails:
          $ref: "#/components/schemas/DeviceHealthStatusDetailsEnum"
        healthStatus:
          $ref: "#/components/schemas/DeviceStatusEnum"
        heatIndexDegF:
          description: Heat index in degrees Fahrenheit
          example: 85.2
          format: double
          nullable: true
          type: number
        heatIndexRangeWarning:
          $ref: "#/components/schemas/HeatIndexRangeWarningEnum"
        hwVariation:
          $ref: "#/components/schemas/HardwareVariationEnum"
        iaq:
          description: Indoor Air Quality index
          example: 85.5
          format: float
          nullable: true
          type: number
        lanAddresses:
          description: List of LAN IP addresses
          items:
            description: List of LAN IP addresses
            nullable: true
            type: string
          nullable: true
          type: array
        latitude:
          description: Latitude coordinate
          example: 37.7749
          format: double
          nullable: true
          type: number
        leakDetected:
          description: Whether a leak is detected
          example: false
          nullable: true
          type: boolean
        leakProbePresent:
          description: Whether leak probe is present
          example: true
          nullable: true
          type: boolean
        locationUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        longitude:
          description: Longitude coordinate
          example: -122.4194
          format: double
          nullable: true
          type: number
        name:
          description: Name of the environmental gateway
          example: Main Office Gateway
          nullable: true
          type: string
        nc0p5:
          description: Number concentration 0.5 measurement
          example: 120.5
          format: float
          nullable: true
          type: number
        nc10p0:
          description: Number concentration 10.0 measurement
          example: 15.3
          format: float
          nullable: true
          type: number
        nc1p0:
          description: Number concentration 1.0 measurement
          example: 85.2
          format: float
          nullable: true
          type: number
        nc2p5:
          description: Number concentration 2.5 measurement
          example: 45.8
          format: float
          nullable: true
          type: number
        nc4p0:
          description: Number concentration 4.0 measurement
          example: 32.1
          format: float
          nullable: true
          type: number
        noxIdx:
          description: Nitrogen Oxides index
          example: 88.2
          format: float
          nullable: true
          type: number
        orgUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        pm10p0:
          description: PM10.0 particulate matter measurement
          example: 18.9
          format: float
          nullable: true
          type: number
        pm1p0:
          description: PM1.0 particulate matter measurement
          example: 8.5
          format: float
          nullable: true
          type: number
        pm2p5:
          description: PM2.5 particulate matter measurement
          example: 12.3
          format: float
          nullable: true
          type: number
        pm4p0:
          description: PM4.0 particulate matter measurement
          example: 15.7
          format: float
          nullable: true
          type: number
        policyUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        pressure:
          description: Pressure measurement
          example: 1013.25
          format: float
          nullable: true
          type: number
        probeTempC:
          description: Temperature probe measurement in Celsius
          example: 24.5
          format: float
          nullable: true
          type: number
        relHumid:
          description: Relative humidity percentage
          example: 45.2
          format: float
          nullable: true
          type: number
        serialNumber:
          description: Serial number of the environmental gateway
          example: EG-123456789
          nullable: true
          type: string
        smokeConfidencePercent:
          description: Smoke detection confidence percentage
          example: 92.8
          format: float
          nullable: true
          type: number
        smokeTobaccoConfidencePercent:
          description: Smoke tobacco detection confidence percentage
          example: 88.1
          format: float
          nullable: true
          type: number
        subLocationsHierarchyKey:
          description: |
            A sequence of one or more base 64 (url-safe) uuid substrings.
            These substrings are separated by dots (.).
          example: AAAAAAAAAAAAAAAAAAAAAA.AAAAAAAAAAAAAAAAAAAAAA.AAAAAAAAAAAAAAAAAAAAAA
          format: SubLocationsHierarchyKey
          nullable: true
          pattern: ^([A-Za-z0-9\-_]{22})([.][A-Za-z0-9\-_]{22})*$
          type: string
        tempC:
          description: Temperature in Celsius
          example: 23.5
          format: float
          nullable: true
          type: number
        tempProbePresent:
          description: Whether temperature probe is present
          example: true
          nullable: true
          type: boolean
        timestampMs:
          description: Timestamp in milliseconds
          example: 1640995200000
          format: int64
          nullable: true
          type: integer
        typPartSize:
          description: Typical particle size measurement
          example: 2.8
          format: float
          nullable: true
          type: number
        vapeConfidencePercent:
          description: Vape detection confidence percentage
          example: 85.5
          format: float
          nullable: true
          type: number
        vapeDetected:
          description: Whether vape is detected
          example: false
          nullable: true
          type: boolean
        vapeThcConfidencePercent:
          description: Vape THC detection confidence percentage
          example: 72.3
          format: float
          nullable: true
          type: number
        vocIdx:
          description: Volatile Organic Compounds index
          example: 125.5
          format: float
          nullable: true
          type: number
      type: object
    ActivityEnum:
      enum:
        - SOUND_LOUD
        - SOUND_GUN_SHOT
        - TAMPER
        - VISUAL_TAMPER
        - MOTION_TAMPER
        - MOTION
        - MOTION_HUMAN
        - MOTION_CAR
        - MOTION_ANIMAL
        - MOTION_PACKAGE
        - PACKAGE_ARRIVED
        - PACKAGE_DEPARTED
        - FACE
        - FACE_IDENTIFIED
        - FACE_UNIDENTIFIED
        - FACE_BLACKLISTED
        - FACE_ALERT
        - POSE_ANOMALOUS
        - POSE_FALL
        - LICENSEPLATE
        - LICENSEPLATE_IDENTIFIED
        - LICENSEPLATE_UNIDENTIFIED
        - LICENSEPLATE_ALERT
        - LICENSEPLATE_BLACKLISTED
        - LICENSEPLATE_TRUSTED
        - PEOPLECOUNT_HIGH
        - PEOPLECOUNT_HIGH_RESET
        - PEOPLECOUNT_LOW
        - PEOPLECOUNT_LOW_RESET
        - HUMAN_ENTER
        - HUMAN_EXIT
        - CAR_ENTER
        - CAR_EXIT
        - TEMPERATURE_EXCEEDED_HIGH
        - TEMPERATURE_EXCEEDED_LOW
        - HUMIDITY_EXCEEDED_HIGH
        - HUMIDITY_EXCEEDED_LOW
        - PM25_EXCEEDED_HIGH
        - TVOC_EXCEEDED_HIGH
        - ETOH_EXCEEDED_HIGH
        - IAQ_EXCEEDED_HIGH
        - CO2_EXCEEDED_HIGH
        - CO2_EXCEEDED_LOW
        - PROBE_TEMPERATURE_EXCEEDED_HIGH
        - PROBE_TEMPERATURE_EXCEEDED_LOW
        - PROBE_DISCONNECTED
        - PROBE_CONNECTED
        - HEAT_INDEX_EXCEEDED_HIGH
        - PRESSURE_EXCEEDED_HIGH
        - PRESSURE_EXCEEDED_LOW
        - PM10_EXCEEDED_HIGH
        - PM40_EXCEEDED_HIGH
        - PM100_EXCEEDED_HIGH
        - VOC_IDX_EXCEEDED_HIGH
        - NOX_IDX_EXCEEDED_HIGH
        - FORMALDEHYDE_EXCEEDED_HIGH
        - CARBON_MONOXIDE_EXCEEDED_HIGH
        - AQI_EXCEEDED_HIGH
        - DOOR_AJAR
        - DOOR_OPENED
        - DOOR_CLOSED
        - BUTTON_SINGLE_PRESSED
        - BUTTON_DOUBLE_PRESSED
        - BUTTON_LONG_PRESSED
        - TAG_ARRIVED
        - TAG_DEPARTED
        - TAG_MOVED
        - TAG_POSITIONING_CHANGED
        - TAG_BOUNDARY_INGRESS
        - TAG_BOUNDARY_EGRESS
        - TAG_PANIC
        - BADGE_AUTHORIZED
        - BADGE_UNAUTHORIZED
        - BADGE_UNAUTHORIZED_V2
        - BADGE_AJAR
        - BADGE_MANUAL
        - BADGE_FORCED_OPEN
        - BADGE_LOCKDOWN
        - BADGE_REQUEST_TO_EXIT
        - BADGE_DURESS
        - BADGE_SECURITY_BREACH
        - BADGE_TAMPER
        - BADGE_FACE_MISMATCH
        - POS_ORDER
        - GUN_DETECT_EVENT
        - IOT_SOUND_AGGRESSION
        - IOT_SOUND_HELP
        - IOT_AIR_CO
        - IOT_AIR_CO2
        - IOT_AIR_MASKING
        - IOT_AIR_THC
        - IOT_AIR_VAPE
        - IOT_AIR_VOC
        - IOT_AIR_TEMP
        - IOT_TAMPER
        - IOT_GUNSHOT
        - IOT_BUTTON_SINGLE_CLICK
        - IOT_BUTTON_DOUBLE_CLICK
        - IOT_BUTTON_HOLD
        - IOT_PANIC_BUTTON_TRIGGERED
        - AUDIO_SOUND_SIGNIFICANT
        - AUDIO_SOUND_LOUD
        - AUDIO_SOUND_ABUSIVE
        - AUDIO_SOUND_GREETING
        - AUDIO_SOUND_HELP
        - AUDIO_SOUND_GUN
        - AUDIO_SOUND_GLASS_BREAK
        - AUDIO_SOUND_ALARM_SMOKE_FIRE
        - AUDIO_SOUND_ALARM_CARBON_MONOXIDE
        - AUDIO_SOUND_SIREN
        - CLIMATE_VOC
        - CLIMATE_VAPE
        - CLIMATE_SMOKE
        - CLIMATE_THC
        - CLIMATE_CO2
        - CLIMATE_ETOH
        - CLIMATE_PM25
        - CLIMATE_IAQ
        - CLIMATE_LEAK
        - SOUND_AGGRESSION
        - SOUND_HELP
        - AIR_CO
        - AIR_CO2
        - AIR_MASKING
        - AIR_THC
        - AIR_VAPE
        - AIR_VOC
        - MASK_MISSING
        - HELMET_MISSING
        - GLOVES_MISSING
        - PIR_OCCUPIED
        - PIR_MOVEMENT
        - PIR_VACANT
        - CUSTOM
        - VISITOR_ARRIVED
        - VISITOR_DEPARTED
        - AC_DR_CONNECTED
        - AC_DR_DISCONNECTED
        - AC_DPI_DOOR_OPEN
        - AC_DPI_DOOR_CLOSED
        - AC_DPI_DOOR_AJAR
        - AC_DPI_DOOR_FORCED_OPEN
        - AC_DSR_UNLOCKED
        - AC_DSR_LOCKED
        - AC_DB_TRIGGERED
        - AC_PANIC_BUTTON_TRIGGERED
        - AC_REMOTE_UNLOCK
        - AC_BADGE_AUTHORIZED
        - AC_BADGE_UNAUTHORIZED
        - AC_BADGE_FACE_MISMATCH
        - AC_LOCKDOWN_ACTIVATED
        - AC_LOCKDOWN_DEACTIVATED
        - AC_LOCKDOWN_PLAN_SWITCHED
        - AC_TAMPER_PROX
        - AC_TAMPER_ACCEL
        - AC_TAMPER_SWITCH
        - AC_GR_ACTIVE
        - AC_GR_INACTIVE
        - AC_GI_ACTIVE
        - AC_GI_INACTIVE
        - AC_REX_ACTIVE
        - AC_REX_INACTIVE
        - AC_APERIO_DEVICE_DISCONNECTED
        - AC_APERIO_DEVICE_CONNECTED
        - AC_APERIO_DEVICE_REBOOT
        - AC_APERIO_DEVICE_TAMPER
        - AC_APERIO_LOW_BATTERY
        - AC_APERIO_FLAT_BATTERY
        - AC_APERIO_OK_BATTERY
        - AC_SCHLAGE_GW_DISCONNECTED
        - AC_SCHLAGE_GW_CONNECTED
        - AC_SCHLAGE_APM_DISCONNECTED
        - AC_SCHLAGE_APM_CONNECTED
        - AC_SCHLAGE_LOW_BATTERY
        - AC_SCHLAGE_CRITICAL_BATTERY
        - AC_SCHLAGE_OK_BATTERY
        - POWER_SWITCH_BATTERY
        - POWER_SWITCH_PRIMARY
        - AI_SEARCH_MATCH
        - AI_SEARCH_MATCH_PERSON_SMOKING
        - AI_SEARCH_MATCH_PERSON_ON_PHONE
        - AI_SEARCH_MATCH_PERSON_FALLING
        - CUSTOM_LLM_BOOLEAN_TRUE
        - CUSTOM_LLM_BOOLEAN_FALSE
        - CUSTOM_LLM_THRESHOLD_EXCEEDED_LOW
        - CUSTOM_LLM_THRESHOLD_EXCEEDED_HIGH
        - ALM_AUTHORITIES_CONTACTED
        - ALM_MONITORING_ENABLED
        - ALM_MONITORING_DISABLED
        - ALM_MONITORING_SETTINGS_CHANGE
        - ALM_THREAT_CASE_CLOSED
        - ALM_THREAT_DETECTED
        - ALM_MONITORING_EVENT_DETECTED
        - ROBOT_DOG_DETECTED
        - ROBOT_ARRIVED_AT_WAYPOINT
        - ROBOT_ARRIVED_AT_POSE
        - ROBOT_WAITING_AT_POSE
        - ROBOT_MANUAL_CMD_VEL
        - ROBOT_MANUAL_ACTION
        - ROBOT_MANUAL_POSTURE
        - ROBOT_NAVIGATE_TO_POSE_START
        - ROBOT_NAVIGATE_TO_POSE_END
        - ROBOT_NAVIGATE_TO_HOME_START
        - ROBOT_NAVIGATE_TO_HOME_END
        - ROBOT_NAVIGATE_TO_WAYPOINT_START
        - ROBOT_NAVIGATE_TO_WAYPOINT_END
        - ROBOT_ROUTE_RUN_START
        - ROBOT_ROUTE_RUN_END
        - ROBOT_LOW_BATTERY_DOCKING
        - ROBOT_IDLE_DOCKING
        - ROBOT_EMERGENCY
        - LOITER_HUMAN
        - INACTIVITY_HUMAN
        - INACTIVITY_CAR
        - GROUP_ENTRY
        - ONGUARD_BADGE_AUTHORIZED
        - ONGUARD_BADGE_ANOMALY
        - ONGUARD_NO_ENTRY_MADE
        - ELEMENTS_BADGE_AUTHORIZED
        - ELEMENTS_BADGE_ANOMALY
        - ELEMENTS_NO_ENTRY_MADE
        - NETBOX_BADGE_AUTHORIZED
        - NETBOX_BADGE_ANOMALY
        - NETBOX_NO_ENTRY_MADE
        - THERMAL_TEMPERATURE_ALARM
        - THERMAL_TEMPERATURE_WARNING
        - THERMAL_FIRE_DETECTED
        - THERMAL_SMOKING_DETECTED
        - THERMAL_FIRE_VERIFIED
        - THERMAL_HEAT_NO_THREAT
        - THERMAL_VISUAL_HOTSPOT
        - THERMAL_VISUAL_HEAT_RISE
        - THERMAL_VISUAL_WARM_BODY
        - UNKNOWN
      type: string
    AirQualityIndexPollutantEnum:
      description: Primary pollutant affecting air quality index
      enum:
        - OZONE
        - PM2P5
        - PM10P0
        - CO
        - NO2
        - SO2
        - UNKNOWN
      type: string
    DeviceHealthStatusDetailsEnum:
      enum:
        - DISCONNECTED
        - FIRMWARE_BEHIND
        - NOT_RECORDING
        - LINK_SPEED_LOW
        - MALFUNCTIONING_MODULES
        - CALIBRATING
        - DELAYED
        - NONE
      type: string
    DeviceStatusEnum:
      enum:
        - RED
        - ORANGE
        - YELLOW
        - GREEN
      type: string
    HeatIndexRangeWarningEnum:
      description: Heat index range warning status
      enum:
        - HEAT_INDEX_OK
        - HEAT_INDEX_WARNING
        - HEAT_INDEX_UNSUPPORTED
      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
  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
````
