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

# Update a device's config

> Update a device's config



## OpenAPI

````yaml https://api2.rhombussystems.com/api/openapi/public.json post /api/deviceconfig/updateFacetedConfig
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/deviceconfig/updateFacetedConfig:
    post:
      tags:
        - Device Config Webservice
      summary: Update a device's config
      description: Update a device's config
      operationId: updateFacetedConfig
      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/Device_config_UpdateFacetedUserConfigWSRequest
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Common_devices_UpdateConfigWSResponse'
          description: OK
components:
  schemas:
    Device_config_UpdateFacetedUserConfigWSRequest:
      type: object
      description: Request object for updating a device's faceted user configuration.
      properties:
        configUpdate:
          $ref: >-
            #/components/schemas/Device_config_userconfig_ExternalUpdateableFacetedUserConfig
    Common_devices_UpdateConfigWSResponse:
      type: object
      description: Response indicating the result of updating device configuration.
      properties:
        error:
          type: boolean
          nullable: true
        errorMsg:
          type: string
          nullable: true
        warningMsg:
          type: string
          nullable: true
    Device_config_userconfig_ExternalUpdateableFacetedUserConfig:
      type: object
      description: Configuration updates to apply to the device
      properties:
        audioFacetSettings:
          type: object
          additionalProperties:
            $ref: >-
              #/components/schemas/Device_config_settings_ExternalAudioSettingsSelectiveUpdate
          description: Update Audio settings
          nullable: true
        buttonSettings:
          $ref: '#/components/schemas/ButtonSettingsSelectiveUpdate'
        climateSettings:
          $ref: '#/components/schemas/ClimateSettingsSelectiveUpdate'
        deviceSettings:
          $ref: >-
            #/components/schemas/Device_config_settings_ExternalDeviceSettingsSelectiveUpdate
        deviceUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        deviceVideoSettings:
          $ref: '#/components/schemas/DeviceVideoSettingsSelectiveUpdate'
        doorControllerSettings:
          $ref: >-
            #/components/schemas/Device_config_settings_ExternalDoorControllerSettingsSelectiveUpdate
        doorReaderSettings:
          $ref: '#/components/schemas/DoorReaderSettingsSelectiveUpdate'
        doorSensorSettings:
          $ref: '#/components/schemas/DoorSensorSettingsSelectiveUpdate'
        environmentalGatewaySettings:
          $ref: '#/components/schemas/EnvironmentalGatewaySettingsSelectiveUpdate'
        metricsAgentSettings:
          $ref: '#/components/schemas/MetricsAgentSettingsSelectiveUpdate'
        robotSettings:
          $ref: '#/components/schemas/RobotSettingsSelectiveUpdate'
        tamperSettings:
          $ref: '#/components/schemas/TamperSettingsSelectiveUpdate'
        videoDoorbellSettings:
          $ref: '#/components/schemas/VideoDoorbellSettingsSelectiveUpdate'
        videoFacetSettings:
          type: object
          additionalProperties:
            $ref: >-
              #/components/schemas/Device_config_settings_ExternalVideoSettingsSelectiveUpdate
          description: Update Video Settings
          nullable: true
    Device_config_settings_ExternalAudioSettingsSelectiveUpdate:
      type: object
      description: Update Audio settings
      properties:
        audio_aec_via_software:
          type: boolean
          nullable: true
        audio_ai_disabled:
          type: boolean
          nullable: true
        audio_external_mic_boost:
          type: integer
          format: int32
          nullable: true
        audio_external_mic_volume:
          type: integer
          format: int32
          nullable: true
        audio_external_speaker_volume:
          type: integer
          format: int32
          nullable: true
        audio_internal_mic_aec_enabled:
          type: boolean
          nullable: true
        audio_internal_mic_boost:
          type: integer
          format: int32
          nullable: true
        audio_internal_mic_volume:
          type: integer
          format: int32
          nullable: true
        audio_internal_speaker_volume:
          type: integer
          format: int32
          nullable: true
        audio_min_echo_amplitude:
          type: integer
          format: int32
          nullable: true
        audio_playback_gain_percent:
          type: integer
          format: int32
          nullable: true
        audio_record:
          type: boolean
          nullable: true
        audio_supported:
          type: boolean
          nullable: true
        audio_use_external_mic:
          type: boolean
          nullable: true
        audio_use_external_speaker:
          type: boolean
          nullable: true
        audio_use_internal_speaker:
          type: boolean
          nullable: true
        device_mic_enabled:
          type: boolean
          nullable: true
        device_near_audio_silenced:
          type: boolean
          nullable: true
        device_speaker_enabled:
          type: boolean
          nullable: true
        frontendEqualizerHighShelf:
          $ref: '#/components/schemas/FrontendEqualizerSettings'
        frontendEqualizerLowShelf:
          $ref: '#/components/schemas/FrontendEqualizerSettings'
        frontendEqualizerPeaking1:
          $ref: '#/components/schemas/FrontendEqualizerSettings'
        frontendEqualizerPeaking2:
          $ref: '#/components/schemas/FrontendEqualizerSettings'
        frontendEqualizerPeaking3:
          $ref: '#/components/schemas/FrontendEqualizerSettings'
        frontendNoiseSuppression:
          type: boolean
          nullable: true
        updatedSetMethodMap:
          type: object
          additionalProperties:
            type: boolean
            nullable: true
          nullable: true
    ButtonSettingsSelectiveUpdate:
      type: object
      description: Update Button settings
      properties:
        button_emergency_onsite_contact:
          $ref: '#/components/schemas/EmergencyContact'
        button_test_mode_enabled:
          type: boolean
          nullable: true
        updatedSetMethodMap:
          type: object
          additionalProperties:
            type: boolean
            nullable: true
          nullable: true
    ClimateSettingsSelectiveUpdate:
      type: object
      description: Update Sensor Climate settings
      properties:
        alert_window_minutes:
          type: integer
          format: int32
          nullable: true
        smoke_ai_threshold:
          type: number
          format: float
          nullable: true
        thc_ai_threshold:
          type: number
          format: float
          nullable: true
        updatedSetMethodMap:
          type: object
          additionalProperties:
            type: boolean
            nullable: true
          nullable: true
        vape_ai_threshold:
          type: number
          format: float
          nullable: true
    Device_config_settings_ExternalDeviceSettingsSelectiveUpdate:
      type: object
      properties:
        ai_license_invalid:
          type: boolean
          nullable: true
        bandwidth_reports_disabled:
          type: boolean
          nullable: true
        firmware_dev_settings:
          type: object
          additionalProperties:
            type: string
            nullable: true
          nullable: true
        led_mode_blink_period_ms:
          type: integer
          format: int64
          nullable: true
        led_mode_when_active:
          $ref: '#/components/schemas/LEDModeEnum'
        led_mode_when_inactive:
          $ref: '#/components/schemas/LEDModeEnum'
        led_stealth_mode:
          type: boolean
          nullable: true
        lightweight_detection_disabled:
          type: boolean
          nullable: true
        live_license_invalid:
          type: boolean
          nullable: true
        media_ttl_minutes:
          type: integer
          format: int32
          nullable: true
        on_demand_license_invalid:
          type: boolean
          nullable: true
        scanner_agent_disabled:
          type: boolean
          nullable: true
        snapshot_upload_target:
          $ref: '#/components/schemas/UploadTargetEnum'
        storage_target_free_megabytes:
          type: integer
          format: int32
          nullable: true
        storage_target_free_space_permyriad:
          type: integer
          format: int32
          nullable: true
        thumbstrip_upload_target:
          $ref: '#/components/schemas/UploadTargetEnum'
        updatedSetMethodMap:
          type: object
          additionalProperties:
            type: boolean
            nullable: true
          nullable: true
    DeviceVideoSettingsSelectiveUpdate:
      type: object
      description: Update selective video settings
      properties:
        alert_rate_limit_human_only:
          $ref: '#/components/schemas/BurstyRateLimit'
        alert_rate_limit_motion_only:
          $ref: '#/components/schemas/BurstyRateLimit'
        alert_rate_limit_vehicle_only:
          $ref: '#/components/schemas/BurstyRateLimit'
        ir_double_tap:
          type: boolean
          nullable: true
        ir_filter_mode:
          $ref: '#/components/schemas/IRModesEnum'
        ir_leds_mode:
          $ref: '#/components/schemas/IRModesEnum'
        updatedSetMethodMap:
          type: object
          additionalProperties:
            type: boolean
            nullable: true
          nullable: true
    Device_config_settings_ExternalDoorControllerSettingsSelectiveUpdate:
      type: object
      description: Update Door Controller settings
      properties:
        autocomponentize_readers:
          type: boolean
          nullable: true
        autoregister_readers:
          type: boolean
          nullable: true
        flip_display_orientation:
          type: boolean
          nullable: true
        pressure_switch_tamper_normally_open:
          type: boolean
          nullable: true
        proximity_sensor_tamper_disabled:
          type: boolean
          nullable: true
        proximity_sensor_tamper_distance_threshold:
          type: number
          format: float
          nullable: true
        updatedSetMethodMap:
          type: object
          additionalProperties:
            type: boolean
            nullable: true
          nullable: true
    DoorReaderSettingsSelectiveUpdate:
      type: object
      description: Update Door Reader settings
      properties:
        dr_enable_audio_feedback:
          type: boolean
          nullable: true
        tof_max_distance:
          type: number
          format: float
          nullable: true
        tof_min_distance:
          type: number
          format: float
          nullable: true
        tof_min_signal_over_noise:
          type: number
          format: float
          nullable: true
        updatedSetMethodMap:
          type: object
          additionalProperties:
            type: boolean
            nullable: true
          nullable: true
    DoorSensorSettingsSelectiveUpdate:
      type: object
      properties:
        ajar_threshold_enabled:
          type: boolean
          description: >-
            Option to Enabled or Disable the Ajar Threshold. Defaults to
            Disabled (False).
          nullable: true
        ajar_threshold_sec:
          type: integer
          format: int32
          description: Threshold value for Door Sensor Ajar state. Defaults to 30s.
          nullable: true
        updatedSetMethodMap:
          type: object
          additionalProperties:
            type: boolean
            nullable: true
          nullable: true
    EnvironmentalGatewaySettingsSelectiveUpdate:
      type: object
      description: Update Environmental Sensor settings
      properties:
        data_measurement_interval_sec:
          type: integer
          format: int64
          nullable: true
        data_upload_interval_sec:
          type: integer
          format: int64
          nullable: true
        false_positive_confidence_threshold:
          type: number
          format: float
          nullable: true
        leak_detection_threshold:
          type: number
          format: float
          nullable: true
        leak_detector_present:
          type: boolean
          nullable: true
        moist_detection_threshold:
          type: number
          format: float
          nullable: true
        smoke_confidence_threshold:
          type: number
          format: float
          nullable: true
        smoke_thc_confidence_threshold:
          type: number
          format: float
          nullable: true
        smoke_tobacco_confidence_threshold:
          type: number
          format: float
          nullable: true
        updatedSetMethodMap:
          type: object
          additionalProperties:
            type: boolean
            nullable: true
          nullable: true
        vape_alert_backoff_sec:
          type: integer
          format: int64
          nullable: true
        vape_confidence_threshold:
          type: number
          format: float
          nullable: true
        vape_thc_confidence_threshold:
          type: number
          format: float
          nullable: true
    MetricsAgentSettingsSelectiveUpdate:
      type: object
      properties:
        batch_on:
          type: boolean
          default: true
          nullable: true
        batch_size:
          type: integer
          format: int32
          default: 100000
          maximum: 1000000
          minimum: 10000
          nullable: true
        count_flush_interval:
          type: integer
          format: int32
          default: 1
          minimum: 1
          nullable: true
        level:
          $ref: '#/components/schemas/MetricsLevelEnum'
        log_update_interval:
          type: integer
          format: int32
          default: 1800
          minimum: 1
          nullable: true
        server_flush_interval:
          type: integer
          format: int32
          default: 15
          minimum: 1
          nullable: true
        updatedSetMethodMap:
          type: object
          additionalProperties:
            type: boolean
            nullable: true
          nullable: true
    RobotSettingsSelectiveUpdate:
      type: object
      properties:
        home_latitude:
          type: number
          format: double
          nullable: true
        home_longitude:
          type: number
          format: double
          nullable: true
        map_assigned_at_ms:
          type: integer
          format: int64
          nullable: true
        map_assignment_id:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        map_id:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        pose:
          $ref: '#/components/schemas/Pose'
        updatedSetMethodMap:
          type: object
          additionalProperties:
            type: boolean
            nullable: true
          nullable: true
    TamperSettingsSelectiveUpdate:
      type: object
      description: Update Tamper detection settings
      properties:
        accelerometer_change_tamper_threshold:
          type: number
          format: float
          nullable: true
        accelerometer_disabled:
          type: boolean
          nullable: true
        pressure_switch_tamper_disabled:
          type: boolean
          nullable: true
        updatedSetMethodMap:
          type: object
          additionalProperties:
            type: boolean
            nullable: true
          nullable: true
    VideoDoorbellSettingsSelectiveUpdate:
      type: object
      description: Update Video Doorbell settings
      properties:
        standalone_doorbell_mode:
          type: boolean
          nullable: true
        updatedSetMethodMap:
          type: object
          additionalProperties:
            type: boolean
            nullable: true
          nullable: true
    Device_config_settings_ExternalVideoSettingsSelectiveUpdate:
      type: object
      description: Update Video Settings
      properties:
        blocked_debounce_time_ms:
          type: integer
          format: int32
          nullable: true
        blocked_threshold:
          type: number
          format: float
          nullable: true
        char_threshold:
          type: number
          format: float
          nullable: true
        custom_events:
          type: boolean
          nullable: true
        dewarpMode:
          $ref: '#/components/schemas/CameraDewarpModeEnum'
        disabled_schedule:
          type: array
          items:
            $ref: '#/components/schemas/WeeklyMinuteIntervalType'
          nullable: true
        disabled_schedule_inverted:
          type: boolean
          nullable: true
        disabled_schedule_uuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        dwell_reset_ttl_ms:
          type: integer
          format: int64
          nullable: true
        dwell_time_ms:
          type: integer
          format: int64
          nullable: true
        exposure_level:
          type: integer
          format: int32
          nullable: true
        fisheye_display_mode:
          $ref: '#/components/schemas/FisheyeDisplayModeEnum'
        floorplan_homography:
          type: array
          items:
            type: array
            items:
              type: number
              format: double
              nullable: true
            nullable: true
          nullable: true
        h265_realtime_encoding_enabled:
          type: boolean
          nullable: true
        h265_vod_encoding_enabled:
          type: boolean
          nullable: true
        hdr_enabled:
          type: boolean
          nullable: true
        high_res_detection:
          type: boolean
          nullable: true
        human_detection:
          type: boolean
          nullable: true
        human_loitering:
          type: boolean
          nullable: true
        human_loitering_settings:
          $ref: '#/components/schemas/CameraHumanLoiteringSettingsType'
        img_brightness:
          type: integer
          format: int32
          nullable: true
        img_contrast:
          type: integer
          format: int32
          nullable: true
        img_saturation:
          type: integer
          format: int32
          nullable: true
        img_sharpness:
          type: integer
          format: int32
          nullable: true
        inactivity_settings:
          $ref: '#/components/schemas/CameraInactivitySettingsType'
        max_detections_per_frame:
          type: integer
          format: int32
          nullable: true
        metering_config:
          $ref: '#/components/schemas/CameraMeteringConfigType'
        motor_config:
          $ref: '#/components/schemas/CameraMotorConfigType'
        mounting_direction:
          $ref: '#/components/schemas/CameraMountingDirectionEnum'
        night_exposure_level:
          type: integer
          format: int32
          nullable: true
        night_img_brightness:
          type: integer
          format: int32
          nullable: true
        night_img_contrast:
          type: integer
          format: int32
          nullable: true
        night_img_saturation:
          type: integer
          format: int32
          nullable: true
        night_img_sharpness:
          type: integer
          format: int32
          nullable: true
        night_metering_config:
          $ref: '#/components/schemas/CameraMeteringConfigType'
        night_sensor_gain_max:
          type: integer
          format: int32
          nullable: true
        night_shutter_time_max:
          type: integer
          format: int32
          nullable: true
        night_shutter_time_min:
          type: integer
          format: int32
          nullable: true
        object_search:
          type: boolean
          nullable: true
        occupancy_counting:
          type: boolean
          nullable: true
        people_tracking:
          type: boolean
          nullable: true
        person_reidentification:
          type: boolean
          nullable: true
        privacy_window_polygons:
          type: array
          items:
            $ref: '#/components/schemas/RegionPolygonType'
          nullable: true
        privacy_windows:
          type: array
          items:
            $ref: '#/components/schemas/PermyriadRect'
          nullable: true
        ptz_config:
          $ref: '#/components/schemas/CameraPTZConfigType'
        record_on_motion:
          type: boolean
          nullable: true
        region_for_occupancy:
          $ref: '#/components/schemas/RegionConfigType'
        region_of_interest:
          $ref: '#/components/schemas/RegionConfigType'
        region_of_interest_groups:
          type: array
          items:
            $ref: '#/components/schemas/RegionOfInterestGroup'
          nullable: true
        resolution:
          $ref: '#/components/schemas/Device_config_settings_ExternalVideoResolution'
        rotation:
          type: integer
          format: int32
          nullable: true
        rtsp_encoder:
          type: integer
          format: int32
          nullable: true
        segment_max_bytes:
          type: integer
          format: int32
          nullable: true
        sensor_gain_max:
          type: integer
          format: int32
          nullable: true
        shared_fov:
          type: array
          items:
            type: string
            format: DeviceFacetUuid
            description: RUUID with optional appended facet information
            example: AAAAAAAAAAAAAAAAAAAAAA.v0
            nullable: true
          nullable: true
        shutter_time_max:
          type: integer
          format: int32
          nullable: true
        shutter_time_min:
          type: integer
          format: int32
          nullable: true
        snapshot_height:
          type: integer
          format: int32
          nullable: true
        snapshot_interval_secs:
          type: integer
          format: int32
          nullable: true
        tile_views:
          type: array
          items:
            $ref: '#/components/schemas/DewarpedView'
          nullable: true
        updatedSetMethodMap:
          type: object
          additionalProperties:
            type: boolean
            nullable: true
          nullable: true
        upload_all_detections:
          type: boolean
          nullable: true
        use_onboard_lpr:
          type: boolean
          nullable: true
        vehicle_detection:
          type: boolean
          nullable: true
        video_ai_disabled:
          type: boolean
          nullable: true
        video_persist_disabled:
          type: boolean
          nullable: true
        wdr_enabled:
          type: boolean
          nullable: true
        wdr_strength:
          type: integer
          format: int32
          nullable: true
        zero_motion_video_bitrate_percent:
          type: integer
          format: int32
          nullable: true
    FrontendEqualizerSettings:
      type: object
      properties:
        frequency:
          type: integer
          format: int32
          nullable: true
        gain:
          type: integer
          format: int32
          nullable: true
        q:
          type: integer
          format: int32
          nullable: true
    EmergencyContact:
      type: object
      properties:
        name:
          type: string
          description: The name of the emergency contact.
          nullable: true
        phoneNumber:
          type: string
          description: The phone number for this emergency contact.
          nullable: true
      required:
        - name
        - phoneNumber
    LEDModeEnum:
      type: string
      enum:
        - LED_OFF
        - LED_RED_SOLID
        - LED_GREEN_SOLID
        - LED_ORANGE_SOLID
        - LED_RED_BLINK
        - LED_GREEN_BLINK
        - LED_ORANGE_BLINK
        - LED_NORMAL
    UploadTargetEnum:
      type: string
      enum:
        - '0'
        - '1'
        - '2'
    BurstyRateLimit:
      type: object
      properties:
        base_interval_ms:
          type: integer
          format: int32
          nullable: true
        burst_token_generation_ms:
          type: integer
          format: int32
          nullable: true
        burst_token_initial_count:
          type: integer
          format: int32
          nullable: true
        burst_token_max_count:
          type: integer
          format: int32
          nullable: true
    IRModesEnum:
      type: string
      enum:
        - 'ON'
        - 'OFF'
        - AUTO
    MetricsLevelEnum:
      type: string
      default: ESSENTIAL
      enum:
        - 'OFF'
        - FILE
        - ESSENTIAL
        - BASIC
        - FULL
    Pose:
      type: object
      properties:
        orientation:
          type: array
          items:
            type: number
            format: double
            description: Serialized as [x, y, z, w]
          maxItems: 4
          minItems: 4
          nullable: true
        position:
          type: array
          items:
            type: number
            format: double
            description: Serialized as [x, y, z]
          maxItems: 3
          minItems: 3
          nullable: true
    CameraDewarpModeEnum:
      type: string
      enum:
        - NO_TRANSFORM
        - NORMAL
        - PANORAMA
        - SUB_REGION
        - VERTICAL_PANORAMA
        - TRANSVERSE_MERCATOR
        - MERCATOR
        - EQUIRECTANGULAR
    WeeklyMinuteIntervalType:
      type: object
      properties:
        minuteOfWeekStart:
          type: integer
          format: int32
          nullable: true
        minuteOfWeekStop:
          type: integer
          format: int32
          nullable: true
    FisheyeDisplayModeEnum:
      type: string
      enum:
        - RAW
        - IMMERSIVE
        - TILES
        - RAW_PANO
    CameraHumanLoiteringSettingsType:
      type: object
      properties:
        roi:
          type: array
          items:
            $ref: '#/components/schemas/RegionPolygonType'
          nullable: true
    CameraInactivitySettingsType:
      type: object
      properties:
        object_type:
          $ref: '#/components/schemas/InactivityObjectTypeEnum'
        roi:
          $ref: '#/components/schemas/RegionPolygonType'
        threshold_ms:
          type: integer
          format: int64
          nullable: true
    CameraMeteringConfigType:
      type: object
      properties:
        rotation:
          type: integer
          format: int32
          nullable: true
        table:
          type: string
          nullable: true
    CameraMotorConfigType:
      type: object
      properties:
        af_enabled:
          type: boolean
          nullable: true
        af_region:
          $ref: '#/components/schemas/PermyriadRect'
        focus:
          type: integer
          format: int32
          nullable: true
        pan_degrees:
          type: number
          format: float
          nullable: true
        piris:
          type: integer
          format: int32
          nullable: true
        pt_speed:
          type: integer
          format: int32
          nullable: true
        tilt_degrees:
          type: number
          format: float
          nullable: true
        zoom:
          type: integer
          format: int32
          nullable: true
    CameraMountingDirectionEnum:
      type: string
      enum:
        - DOWN
        - UP
        - SIDEWAYS
        - UNKNOWN
    RegionPolygonType:
      type: object
      properties:
        coordinates:
          type: array
          items:
            $ref: '#/components/schemas/RegionCoordinateType'
          nullable: true
    PermyriadRect:
      type: object
      properties:
        h:
          type: integer
          format: int32
          nullable: true
        size:
          type: integer
          format: int32
          nullable: true
        w:
          type: integer
          format: int32
          nullable: true
        x:
          type: integer
          format: int32
          nullable: true
        'y':
          type: integer
          format: int32
          nullable: true
    CameraPTZConfigType:
      type: object
      properties:
        offset_x_percent:
          type: number
          format: float
          nullable: true
        offset_y_percent:
          type: number
          format: float
          nullable: true
        rotation:
          type: integer
          format: int32
          nullable: true
        size_percent:
          type: number
          format: float
          nullable: true
    RegionConfigType:
      type: object
      nullable: true
      properties:
        inverted:
          type: boolean
          nullable: true
        polygons:
          type: array
          items:
            $ref: '#/components/schemas/RegionPolygonType'
          nullable: true
    RegionOfInterestGroup:
      type: object
      properties:
        inclusive:
          type: boolean
          description: >-
            If true, regions in this group include specified activities. If
            false, regions in this group exclude specified activities.
          nullable: true
        regionsOfInterest:
          type: array
          description: >-
            Regions of interest that belong to the group. Group must have at
            least one region specified.
          items:
            $ref: '#/components/schemas/RegionOfInterest'
          nullable: true
        type:
          $ref: '#/components/schemas/RegionOfInterestGroupTypeEnum'
    Device_config_settings_ExternalVideoResolution:
      type: object
      properties:
        height:
          type: integer
          format: int32
          nullable: true
        width:
          type: integer
          format: int32
          nullable: true
    DewarpedView:
      type: object
      properties:
        aspectRatio:
          $ref: '#/components/schemas/AspectRatio'
        pitchDegrees:
          type: number
          format: float
          nullable: true
        rollDegrees:
          type: number
          format: float
          nullable: true
        verticalFieldOfViewDegrees:
          type: integer
          format: int32
          nullable: true
        yawDegrees:
          type: number
          format: float
          nullable: true
    InactivityObjectTypeEnum:
      type: string
      enum:
        - HUMAN
        - VEHICLE
    RegionCoordinateType:
      type: object
      properties:
        x:
          type: number
          format: float
          nullable: true
        'y':
          type: number
          format: float
          nullable: true
    RegionOfInterest:
      type: object
      description: >-
        Regions of interest that belong to the group. Group must have at least
        one region specified.
      properties:
        activities:
          type: array
          description: >-
            Region of allowed or disallowed activities. Activities are allowed
            if region group is inclusive. Activities are disallowed if region
            group is exclusive. Region must have at least one activity
            specified.
          items:
            $ref: '#/components/schemas/ActivityEnum'
          nullable: true
          uniqueItems: true
        name:
          type: string
          nullable: true
        polygon:
          $ref: '#/components/schemas/RegionPolygonType'
        uuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
    RegionOfInterestGroupTypeEnum:
      type: string
      description: >-
        Represents type of activity regions in the group. Defaults to
        'Activity'.
      enum:
        - ACTIVITY
        - REPORTING
        - CROSSING
    AspectRatio:
      type: object
      properties:
        height:
          type: integer
          format: int32
          nullable: true
        width:
          type: integer
          format: int32
          nullable: true
    ActivityEnum:
      type: string
      enum:
        - SOUND_LOUD
        - SOUND_GUN_SHOT
        - TAMPER
        - VISUAL_TAMPER
        - MOTION_TAMPER
        - MOTION
        - MOTION_HUMAN
        - MOTION_CAR
        - MOTION_ANIMAL
        - 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_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
        - POWER_SWITCH_BATTERY
        - POWER_SWITCH_PRIMARY
        - 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
        - REID_HUMAN
        - INACTIVITY_HUMAN
        - INACTIVITY_CAR
        - 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_VISUAL_HOTSPOT
        - THERMAL_VISUAL_HEAT_RISE
        - THERMAL_VISUAL_WARM_BODY
        - 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

````