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

# Get a device's config

> Get a device's config



## OpenAPI

````yaml https://api2.rhombussystems.com/api/openapi/public.json post /api/deviceconfig/getFacetedConfig
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/getFacetedConfig:
    post:
      tags:
        - Device Config Webservice
      summary: Get a device's config
      description: Get a device's config
      operationId: getFacetedConfig
      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_GetConfigWSRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Device_config_GetFacetedUserConfigWSResponse
          description: OK
components:
  schemas:
    Device_config_GetConfigWSRequest:
      type: object
      description: Request object for retrieving a device's configuration.
      properties:
        deviceUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
    Device_config_GetFacetedUserConfigWSResponse:
      type: object
      description: Response object containing a device's faceted user configuration.
      properties:
        config:
          $ref: >-
            #/components/schemas/Device_config_userconfig_ExternalReadableFacetedUserConfig
        error:
          type: boolean
          nullable: true
        errorMsg:
          type: string
          nullable: true
        warningMsg:
          type: string
          nullable: true
    Device_config_userconfig_ExternalReadableFacetedUserConfig:
      type: object
      description: Device's faceted user configuration
      properties:
        audioFacetSettings:
          type: object
          additionalProperties:
            $ref: >-
              #/components/schemas/Device_config_settings_ExternalReadableAudioSettings
          nullable: true
        buttonSettings:
          $ref: >-
            #/components/schemas/Device_config_settings_ExternalReadableButtonSettings
        climateSettings:
          $ref: '#/components/schemas/ClimateSettings'
        deviceSettings:
          $ref: >-
            #/components/schemas/Device_config_settings_ExternalReadableDeviceSettings
        deviceUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        deviceVideoSettings:
          $ref: >-
            #/components/schemas/Device_config_settings_ExternalReadableDeviceVideoSettings
        doorControllerSettings:
          $ref: >-
            #/components/schemas/Device_config_settings_ExternalReadableDoorControllerSettings
        doorReaderSettings:
          $ref: '#/components/schemas/DoorReaderSettings'
        doorSensorSettings:
          $ref: '#/components/schemas/DoorSensorSettings'
        environmentalGatewaySettings:
          $ref: '#/components/schemas/EnvironmentalGatewaySettings'
        lastModified:
          type: integer
          format: int64
          nullable: true
        metricsAgentSettings:
          $ref: '#/components/schemas/MetricsAgentSettings'
        orgUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        robotSettings:
          $ref: '#/components/schemas/RobotSettings'
        tamperSettings:
          $ref: '#/components/schemas/TamperSettings'
        thirdPartyCameraSettings:
          $ref: '#/components/schemas/ThirdPartyCameraSettings'
        videoDoorbellSettings:
          $ref: '#/components/schemas/VideoDoorbellSettings'
        videoFacetSettings:
          type: object
          additionalProperties:
            $ref: >-
              #/components/schemas/Device_config_settings_ExternalReadableVideoSettings
          nullable: true
    Device_config_settings_ExternalReadableAudioSettings:
      type: object
      properties:
        audio_aec_via_software:
          type: boolean
          nullable: true
        audio_ai_disabled:
          type: boolean
          nullable: true
        audio_analysis_enabled:
          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
    Device_config_settings_ExternalReadableButtonSettings:
      type: object
      properties:
        button_emergency_onsite_contact:
          $ref: '#/components/schemas/EmergencyContact'
        button_test_mode_enabled:
          type: boolean
          nullable: true
    ClimateSettings:
      type: object
      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
        vape_ai_threshold:
          type: number
          format: float
          nullable: true
    Device_config_settings_ExternalReadableDeviceSettings:
      type: object
      properties:
        ai_license_invalid:
          type: boolean
          nullable: true
        bandwidth_reports_disabled:
          type: boolean
          nullable: true
        cloud_archive_days:
          type: integer
          format: int32
          nullable: true
        cloud_archive_upload_schedule:
          type: array
          items:
            $ref: '#/components/schemas/WeeklyMinuteIntervalType'
          nullable: true
        cloud_archive_upload_schedule_inverted:
          type: boolean
          nullable: true
        cloud_archive_upload_schedule_uuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          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
        max_event_duration_ms:
          type: integer
          format: int32
          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'
    Device_config_settings_ExternalReadableDeviceVideoSettings:
      type: object
      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'
    Device_config_settings_ExternalReadableDoorControllerSettings:
      type: object
      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
    DoorReaderSettings:
      type: object
      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
    DoorSensorSettings:
      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
    EnvironmentalGatewaySettings:
      type: object
      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
        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
    MetricsAgentSettings:
      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
    RobotSettings:
      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'
    TamperSettings:
      type: object
      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
    ThirdPartyCameraSettings:
      type: object
      properties:
        lens_role:
          $ref: '#/components/schemas/LensRoleEnum'
        onvif_ip:
          type: string
          nullable: true
        onvif_password:
          type: string
          nullable: true
        onvif_profiletoken:
          type: string
          nullable: true
        onvif_ptz_servicepath:
          type: string
          nullable: true
        onvif_username:
          type: string
          nullable: true
        ptz_engine:
          $ref: '#/components/schemas/CameraPTZEngineEnum'
        ptz_movement:
          $ref: '#/components/schemas/CameraPTZMovementEnum'
        ptz_translation_space:
          $ref: '#/components/schemas/CameraPTZTranslationSpaceEnum'
        zoom_max:
          type: number
          format: double
          nullable: true
        zoom_min:
          type: number
          format: double
          nullable: true
    VideoDoorbellSettings:
      type: object
      properties:
        standalone_doorbell_mode:
          type: boolean
          nullable: true
    Device_config_settings_ExternalReadableVideoSettings:
      type: object
      properties:
        ai_dewarp_config:
          $ref: '#/components/schemas/CameraAiDewarpConfigType'
        behavior_detection:
          type: boolean
          nullable: true
        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
        color_detection:
          type: boolean
          nullable: true
        con_human_filter:
          type: integer
          format: int32
          nullable: true
        con_vehicle_filter:
          type: integer
          format: int32
          nullable: true
        cross_counting:
          type: boolean
          nullable: true
        cross_counting_settings:
          $ref: '#/components/schemas/CameraCrossCountingSettingsType'
        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
        engagement_counting:
          type: boolean
          nullable: true
        exposure_level:
          type: integer
          format: int32
          nullable: true
        face_ai_threshold:
          type: number
          format: float
          nullable: true
        face_counting:
          type: boolean
          nullable: true
        face_counting_nonunique:
          type: boolean
          nullable: true
        face_id_ai_threshold:
          type: number
          format: float
          nullable: true
        face_match_threshold:
          type: number
          format: float
          nullable: true
        face_recognition:
          type: boolean
          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'
        licenseplate_detection:
          type: boolean
          nullable: true
        lpr_ai_threshold:
          type: number
          format: float
          nullable: true
        max_detections_per_frame:
          type: integer
          format: int32
          nullable: true
        metering_config:
          $ref: '#/components/schemas/CameraMeteringConfigType'
        motion_grid_disabled:
          type: boolean
          nullable: true
        motion_grid_window_sec:
          type: integer
          format: int32
          nullable: true
        motion_lightweight_disabled:
          type: boolean
          nullable: true
        motion_threshold:
          type: number
          format: float
          nullable: true
        motor_config:
          $ref: '#/components/schemas/CameraMotorConfigType'
        mounting_direction:
          $ref: '#/components/schemas/CameraMountingDirectionEnum'
        new_motion_feature_flag:
          type: boolean
          nullable: true
        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
        obj_ai_threshold:
          type: number
          format: float
          nullable: true
        object_search:
          type: boolean
          nullable: true
        occupancy_counting:
          type: boolean
          nullable: true
        people_counting:
          type: boolean
          nullable: true
        people_tracking:
          type: boolean
          nullable: true
        person_ai_threshold:
          type: number
          format: float
          nullable: true
        person_reidentification:
          type: boolean
          nullable: true
        pose_detection:
          type: boolean
          nullable: true
        ppe_detection:
          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
        target_ai_fps:
          type: integer
          format: int32
          nullable: true
        thumbstrip_disabled:
          type: boolean
          nullable: true
        tile_views:
          type: array
          items:
            $ref: '#/components/schemas/DewarpedView'
          nullable: true
        timelapse:
          type: boolean
          nullable: true
        upload_all_detections:
          type: boolean
          nullable: true
        use_onboard_ai:
          type: boolean
          nullable: true
        use_onboard_lpr:
          type: boolean
          nullable: true
        use_pilot_face_id:
          type: boolean
          nullable: true
        vehicle_ai_threshold:
          type: number
          format: float
          nullable: true
        vehicle_counting:
          type: boolean
          nullable: true
        vehicle_detection:
          type: boolean
          nullable: true
        video_ai_disabled:
          type: boolean
          nullable: true
        video_persist_disabled:
          type: boolean
          nullable: true
        visual_tamper_config:
          $ref: '#/components/schemas/CameraVisualTamperConfigType'
        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
        zero_motion_video_quality:
          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
    WeeklyMinuteIntervalType:
      type: object
      properties:
        minuteOfWeekStart:
          type: integer
          format: int32
          nullable: true
        minuteOfWeekStop:
          type: integer
          format: int32
          nullable: true
    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
    LensRoleEnum:
      type: string
      enum:
        - VISIBLE
        - THERMAL
    CameraPTZEngineEnum:
      type: string
      enum:
        - DIGITAL
        - MECHANICAL
        - NONE
        - UNKNOWN
    CameraPTZMovementEnum:
      type: string
      enum:
        - RELATIVE
        - ABSOLUTE
    CameraPTZTranslationSpaceEnum:
      type: string
      enum:
        - FOV
        - DIGITAL
        - NONE
        - UNKNOWN
    CameraAiDewarpConfigType:
      type: object
      properties:
        dewarp_tile_height:
          type: integer
          format: int32
          nullable: true
        dewarp_tile_width:
          type: integer
          format: int32
          nullable: true
        orientation:
          type: integer
          format: int32
          nullable: true
    CameraCrossCountingSettingsType:
      type: object
      properties:
        directions:
          type: array
          items:
            $ref: '#/components/schemas/CrossingDirectionEnum'
          nullable: true
          uniqueItems: true
        in_roi:
          type: array
          items:
            $ref: '#/components/schemas/RegionPolygonType'
          nullable: true
        object_type:
          $ref: '#/components/schemas/CrossingObjectEnum'
        object_type_id:
          type: integer
          format: int32
          nullable: true
        out_roi:
          type: array
          items:
            $ref: '#/components/schemas/RegionPolygonType'
          nullable: true
    CameraDewarpModeEnum:
      type: string
      enum:
        - NO_TRANSFORM
        - NORMAL
        - PANORAMA
        - SUB_REGION
        - VERTICAL_PANORAMA
        - TRANSVERSE_MERCATOR
        - MERCATOR
        - EQUIRECTANGULAR
    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
    CameraVisualTamperConfigType:
      type: object
      properties:
        analyze_fps:
          type: integer
          format: int32
          nullable: true
        analyze_res:
          type: integer
          format: int32
          nullable: true
        canny_thresh:
          type: number
          format: float
          nullable: true
        edge_cov_diff_thresh:
          type: number
          format: float
          nullable: true
        enabled:
          type: boolean
          nullable: true
        long_buf_size:
          type: integer
          format: int32
          nullable: true
        short_buf_size:
          type: integer
          format: int32
          nullable: true
    CrossingDirectionEnum:
      type: string
      enum:
        - INGRESS
        - EGRESS
    CrossingObjectEnum:
      type: string
      enum:
        - HUMAN
        - VEHICLE
        - FACE
        - LPR
        - POSE
        - CLIP_EMBED
        - UNKNOWN
    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

````