Rhombus Systems Device Config Webservice API

The Device Config Webservice API from Rhombus Systems — 2 operation(s) for device config webservice.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/rhombus-systems-device-config-webservice-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

rhombus-systems-device-config-webservice-api-openapi.yml Raw ↑
openapi: 3.2.0
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 Device Config Webservice API
  version: '1.0'
servers:
- description: Production Server
  url: https://api2.rhombussystems.com
security:
- ApiKeyAuth: []
tags:
- name: Device Config Webservice
paths:
  /api/deviceconfig/getFacetedConfig:
    post:
      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
      summary: Get a device's config
      tags:
      - Device Config Webservice
  /api/deviceconfig/updateFacetedConfig:
    post:
      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
      summary: Update a device's config
      tags:
      - Device Config Webservice
components:
  schemas:
    Device_config_settings_ExternalAudioSettingsSelectiveUpdate:
      type: object
      description: Update Audio settings
      properties:
        audio_aec_via_software:
          type:
          - boolean
          - 'null'
        audio_ai_disabled:
          type:
          - boolean
          - 'null'
        audio_external_mic_boost:
          type:
          - integer
          - 'null'
          format: int32
        audio_external_mic_volume:
          type:
          - integer
          - 'null'
          format: int32
        audio_external_speaker_volume:
          type:
          - integer
          - 'null'
          format: int32
        audio_internal_mic_aec_enabled:
          type:
          - boolean
          - 'null'
        audio_internal_mic_boost:
          type:
          - integer
          - 'null'
          format: int32
        audio_internal_mic_volume:
          type:
          - integer
          - 'null'
          format: int32
        audio_internal_speaker_volume:
          type:
          - integer
          - 'null'
          format: int32
        audio_min_echo_amplitude:
          type:
          - integer
          - 'null'
          format: int32
        audio_playback_gain_percent:
          type:
          - integer
          - 'null'
          format: int32
        audio_record:
          type:
          - boolean
          - 'null'
        audio_supported:
          type:
          - boolean
          - 'null'
        audio_use_external_mic:
          type:
          - boolean
          - 'null'
        audio_use_external_speaker:
          type:
          - boolean
          - 'null'
        audio_use_internal_speaker:
          type:
          - boolean
          - 'null'
        device_mic_enabled:
          type:
          - boolean
          - 'null'
        device_near_audio_silenced:
          type:
          - boolean
          - 'null'
        device_speaker_enabled:
          type:
          - boolean
          - 'null'
        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
          - 'null'
        updatedSetMethodMap:
          type:
          - object
          - 'null'
          additionalProperties:
            type:
            - boolean
            - 'null'
    Device_config_userconfig_ExternalReadableFacetedUserConfig:
      type: object
      description: Device's faceted user configuration
      properties:
        audioFacetSettings:
          type:
          - object
          - 'null'
          additionalProperties:
            $ref: '#/components/schemas/Device_config_settings_ExternalReadableAudioSettings'
        buttonSettings:
          $ref: '#/components/schemas/Device_config_settings_ExternalReadableButtonSettings'
        climateSettings:
          $ref: '#/components/schemas/ClimateSettings'
        deviceSettings:
          $ref: '#/components/schemas/Device_config_settings_ExternalReadableDeviceSettings'
        deviceUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
        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
          - 'null'
          format: int64
        metricsAgentSettings:
          $ref: '#/components/schemas/MetricsAgentSettings'
        orgUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
        robotSettings:
          $ref: '#/components/schemas/RobotSettings'
        tamperSettings:
          $ref: '#/components/schemas/TamperSettings'
        thirdPartyCameraSettings:
          $ref: '#/components/schemas/ThirdPartyCameraSettings'
        videoDoorbellSettings:
          $ref: '#/components/schemas/VideoDoorbellSettings'
        videoFacetSettings:
          type:
          - object
          - 'null'
          additionalProperties:
            $ref: '#/components/schemas/Device_config_settings_ExternalReadableVideoSettings'
    Device_config_GetConfigWSRequest:
      type: object
      description: Request object for retrieving a device's configuration.
      properties:
        deviceUuid:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
    RegionOfInterestGroup:
      type: object
      properties:
        inclusive:
          type:
          - boolean
          - 'null'
          description: If true, regions in this group include specified activities. If false, regions in this group exclude specified activities.
        regionsOfInterest:
          type:
          - array
          - 'null'
          description: Regions of interest that belong to the group. Group must have at least one region specified.
          items:
            $ref: '#/components/schemas/RegionOfInterest'
        type:
          $ref: '#/components/schemas/RegionOfInterestGroupTypeEnum'
    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
    RobotSettingsSelectiveUpdate:
      type: object
      properties:
        battery_recovered_threshold_pct:
          type:
          - integer
          - 'null'
          format: int32
        home_latitude:
          type:
          - number
          - 'null'
          format: double
        home_longitude:
          type:
          - number
          - 'null'
          format: double
        low_battery_threshold_pct:
          type:
          - integer
          - 'null'
          format: int32
        map_assigned_at_ms:
          type:
          - integer
          - 'null'
          format: int64
        map_assignment_id:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
        map_id:
          type:
          - string
          - 'null'
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
        pose:
          $ref: '#/components/schemas/Pose'
        updatedSetMethodMap:
          type:
          - object
          - 'null'
          additionalProperties:
            type:
            - boolean
            - 'null'
    CameraVisualTamperConfigType:
      type: object
      properties:
        analyze_fps:
          type:
          - integer
          - 'null'
          format: int32
        analyze_res:
          type:
          - integer
          - 'null'
          format: int32
        canny_thresh:
          type:
          - number
          - 'null'
          format: float
        edge_cov_diff_thresh:
          type:
          - number
          - 'null'
          format: float
        enabled:
          type:
          - boolean
          - 'null'
        long_buf_size:
          type:
          - integer
          - 'null'
          format: int32
        short_buf_size:
          type:
          - integer
          - 'null'
          format: int32
    BurstyRateLimit:
      type: object
      properties:
        base_interval_ms:
          type:
          - integer
          - 'null'
          format: int32
        burst_token_generation_ms:
          type:
          - integer
          - 'null'
          format: int32
        burst_token_initial_count:
          type:
          - integer
          - 'null'
          format: int32
        burst_token_max_count:
          type:
          - integer
          - 'null'
          format: int32
    Device_config_settings_ExternalReadableDoorControllerSettings:
      type: object
      properties:
        autocomponentize_readers:
          type:
          - boolean
          - 'null'
        autoregister_readers:
          type:
          - boolean
          - 'null'
        flip_display_orientation:
          type:
          - boolean
          - 'null'
        pressure_switch_tamper_normally_open:
          type:
          - boolean
          - 'null'
        proximity_sensor_tamper_disabled:
          type:
          - boolean
          - 'null'
        proximity_sensor_tamper_distance_threshold:
          type:
          - number
          - 'null'
          format: float
    CameraHumanLoiteringSettingsType:
      type: object
      properties:
        roi:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/RegionPolygonType'
    InactivityObjectTypeEnum:
      type: string
      enum:
      - HUMAN
      - VEHICLE
    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
          - 'null'
        errorMsg:
          type:
          - string
          - 'null'
        warningMsg:
          type:
          - string
          - 'null'
    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
          - 'null'
        ir_filter_mode:
          $ref: '#/components/schemas/IRModesEnum'
        ir_leds_mode:
          $ref: '#/components/schemas/IRModesEnum'
    ThirdPartyCameraSettings:
      type: object
      properties:
        lens_role:
          $ref: '#/components/schemas/LensRoleEnum'
        onvif_ip:
          type:
          - string
          - 'null'
        onvif_password:
          type:
          - string
          - 'null'
        onvif_profiletoken:
          type:
          - string
          - 'null'
        onvif_ptz_servicepath:
          type:
          - string
          - 'null'
        onvif_username:
          type:
          - string
          - 'null'
        ptz_engine:
          $ref: '#/components/schemas/CameraPTZEngineEnum'
        ptz_movement:
          $ref: '#/components/schemas/CameraPTZMovementEnum'
        ptz_translation_space:
          $ref: '#/components/schemas/CameraPTZTranslationSpaceEnum'
        zoom_max:
          type:
          - number
          - 'null'
          format: double
        zoom_min:
          type:
          - number
          - 'null'
          format: double
    Device_config_settings_ExternalDeviceSettingsSelectiveUpdate:
      type: object
      properties:
        ai_license_invalid:
          type:
          - boolean
          - 'null'
        bandwidth_reports_disabled:
          type:
          - boolean
          - 'null'
        cloud_ai_smart_crop_enabled:
          type:
          - boolean
          - 'null'
        cloud_ai_stream_enabled:
          type:
          - boolean
          - 'null'
        firmware_dev_settings:
          type:
          - object
          - 'null'
          additionalProperties:
            type:
            - string
            - 'null'
        led_mode_blink_period_ms:
          type:
          - integer
          - 'null'
          format: int64
        led_mode_when_active:
          $ref: '#/components/schemas/LEDModeEnum'
        led_mode_when_inactive:
          $ref: '#/components/schemas/LEDModeEnum'
        led_stealth_mode:
          type:
          - boolean
          - 'null'
        lightweight_detection_disabled:
          type:
          - boolean
          - 'null'
        live_license_invalid:
          type:
          - boolean
          - 'null'
        media_ttl_minutes:
          type:
          - integer
          - 'null'
          format: int32
        on_demand_license_invalid:
          type:
          - boolean
          - 'null'
        scanner_agent_disabled:
          type:
          - boolean
          - 'null'
        snapshot_upload_target:
          $ref: '#/components/schemas/UploadTargetEnum'
        storage_target_free_megabytes:
          type:
          - integer
          - 'null'
          format: int32
        storage_target_free_space_permyriad:
          type:
          - integer
          - 'null'
          format: int32
        thumbstrip_upload_target:
          $ref: '#/components/schemas/UploadTargetEnum'
        updatedSetMethodMap:
          type:
          - object
          - 'null'
          additionalProperties:
            type:
            - boolean
            - 'null'
    ButtonSettingsSelectiveUpdate:
      type: object
      description: Update Button settings
      properties:
        button_emergency_onsite_contact:
          $ref: '#/components/schemas/EmergencyContact'
        button_test_mode_enabled:
          type:
          - boolean
          - 'null'
        updatedSetMethodMap:
          type:
          - object
          - 'null'
          additionalProperties:
            type:
            - boolean
            - 'null'
    MetricsAgentSettingsSelectiveUpdate:
      type: object
      properties:
        batch_on:
          type:
          - boolean
          - 'null'
          default: true
        batch_size:
          type:
          - integer
          - 'null'
          format: int32
          default: 100000
          maximum: 1000000
          minimum: 10000
        count_flush_interval:
          type:
          - integer
          - 'null'
          format: int32
          default: 1
          minimum: 1
        level:
          $ref: '#/components/schemas/MetricsLevelEnum'
        log_update_interval:
          type:
          - integer
          - 'null'
          format: int32
          default: 1800
          minimum: 1
        server_flush_interval:
          type:
          - integer
          - 'null'
          format: int32
          default: 15
          minimum: 1
        updatedSetMethodMap:
          type:
          - object
          - 'null'
          additionalProperties:
            type:
            - boolean
            - 'null'
    CameraPTZConfigType:
      type: object
      properties:
        offset_x_percent:
          type:
          - number
          - 'null'
          format: float
        offset_y_percent:
          type:
          - number
          - 'null'
          format: float
        rotation:
          type:
          - integer
          - 'null'
          format: int32
        size_percent:
          type:
          - number
          - 'null'
          format: float
    CameraAiDewarpConfigType:
      type: object
      properties:
        dewarp_tile_height:
          type:
          - integer
          - 'null'
          format: int32
        dewarp_tile_width:
          type:
          - integer
          - 'null'
          format: int32
        orientation:
          type:
          - integer
          - 'null'
          format: int32
    DoorReaderSettings:
      type: object
      properties:
        dr_enable_audio_feedback:
          type:
          - boolean
          - 'null'
        tof_max_distance:
          type:
          - number
          - 'null'
          format: float
        tof_min_distance:
          type:
          - number
          - 'null'
          format: float
        tof_min_signal_over_noise:
          type:
          - number
          - 'null'
          format: float
    DoorSensorSettingsSelectiveUpdate:
      type: object
      properties:
        ajar_threshold_enabled:
          type:
          - boolean
          - 'null'
          description: Option to Enabled or Disable the Ajar Threshold. Defaults to Disabled (False).
        ajar_threshold_sec:
          type:
          - integer
          - 'null'
          format: int32
          description: Threshold value for Door Sensor Ajar state. Defaults to 30s.
        updatedSetMethodMap:
          type:
          - object
          - 'null'
          additionalProperties:
            type:
            - boolean
            - 'null'
    CrossingDirectionEnum:
      type: string
      enum:
      - INGRESS
      - EGRESS
    CrossingObjectEnum:
      type: string
      enum:
      - HUMAN
      - VEHICLE
      - FACE
      - LPR
      - POSE
      - CLIP_EMBED
      - UNKNOWN
    Device_config_settings_ExternalReadableAudioSettings:
      type: object
      properties:
        audio_aec_via_software:
          type:
          - boolean
          - 'null'
        audio_ai_disabled:
          type:
          - boolean
          - 'null'
        audio_analysis_enabled:
          type:
          - boolean
          - 'null'
        audio_external_mic_boost:
          type:
          - integer
          - 'null'
          format: int32
        audio_external_mic_volume:
          type:
          - integer
          - 'null'
          format: int32
        audio_external_speaker_volume:
          type:
          - integer
          - 'null'
          format: int32
        audio_internal_mic_aec_enabled:
          type:
          - boolean
          - 'null'
        audio_internal_mic_boost:
          type:
          - integer
          - 'null'
          format: int32
        audio_internal_mic_volume:
          type:
          - integer
          - 'null'
          format: int32
        audio_internal_speaker_volume:
          type:
          - integer
          - 'null'
          format: int32
        audio_min_echo_amplitude:
          type:
          - integer
          - 'null'
          format: int32
        audio_playback_gain_percent:
          type:
          - integer
          - 'null'
          format: int32
        audio_record:
          type:
          - boolean
          - 'null'
        audio_supported:
          type:
          - boolean
          - 'null'
        audio_use_external_mic:
          type:
          - boolean
          - 'null'
        audio_use_external_speaker:
          type:
          - boolean
          - 'null'
        audio_use_internal_speaker:
          type:
          - boolean
          - 'null'
        device_mic_enabled:
          type:
          - boolean
          - 'null'
        device_near_audio_silenced:
          type:
          - boolean
          - 'null'
        device_speaker_enabled:
          type:
          - boolean
          - 'null'
        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
          - 'null'
    MetricsAgentSettings:
      type: object
      properties:
        batch_on:
          type:
          - boolean
          - 'null'
          default: true
        batch_size:
          type:
          - integer
          - 'null'
          format: int32
          default: 100000
          maximum: 1000000
          minimum: 10000
        count_flush_interval:
          type:
          - integer
          - 'null'
          format: int32
          default: 1
          minimum: 1
        level:
          $ref: '#/components/schemas/MetricsLevelEnum'
        log_update_interval:
          type:
          - integer
          - 'null'
          format: int32
          default: 1800
          minimum: 1
        server_flush_interval:
          type:
          - integer
          - 'null'
          format: int32
          default: 15
          minimum: 1
    CameraDewarpModeEnum:
      type: string
      enum:
      - NO_TRANSFORM
      - NORMAL
      - PANORAMA
      - SUB_REGION
      - VERTICAL_PANORAMA
      - TRANSVERSE_MERCATOR
      - MERCATOR
      - EQUIRECTANGULAR
    AspectRatio:
      type: object
      properties:
        height:
          type:
          - integer
          - 'null'
          format: int32
        width:
          type:
          - integer
          - 'null'
          format: int32
    Device_config_settings_ExternalDoorControllerSettingsSelectiveUpdate:
      type: object
      description: Update Door Controller settings
      properties:
        autocomponentize_readers:
          type:
          - boolean
          - 'null'
        autoregister_readers:
          type:
          - boolean
          - 'null'
        flip_display_orientation:
          type:
          - boolean
          - 'null'
        pressure_switch_tamper_normally_open:
          type:
          - boolean
          - 'null'
        proximity_sensor_tamper_disabled:
          type:
          - boolean
          - 'null'
        proximity_sensor_tamper_distance_threshold:
          type:
          - number
          - 'null'
          format: float
        updatedSetMethodMap:
          type:
          - object
          - 'null'
          additionalProperties:
            type:
            - boolean
            - 'null'
    Pose:
      type: object
      properties:
        orientation:
          type:
          - array
          - 'null'
          items:
            type: number
            format: double
            description: Serialized as [x, y, z, w]
          maxItems: 4
          minItems: 4
        position:
          type:
          - array
          - 'null'
          items:
            type: number
            format: double
            description: Serialized as [x, y, z]
          maxItems: 3
          minItems: 3
    CameraPTZEngineEnum:
      type: string
      enum:
      - DIGITAL
      - MECHANICAL
      - NONE
      - UNKNOWN
    EnvironmentalGatewaySettings:
      type: object
      properties:
        data_measurement_interval_sec:
          type:
          - integer
          - 'null'
          format: int64
        data_upload_interval_sec:
          type:
          - integer
          - 'null'
          format: int64
        false_positive_confidence_threshold:
          type:
          - number
          - 'null'
          format: float
        leak_detection_threshold:
          type:
          - number
          - 'null'
          format: float
        leak_detector_present:
          type:
          - boolean
          - 'null'
        moist_detection_threshold:
          type:
          - number
          - 'null'
          format: float
        smoke_confidence_threshold:
          type:
          - number
          - 'null'
          format: float
        smoke_thc_confidence_threshold:
          type:
          - number
          - 'null'
          format: float
        smoke_tobacco_confidence_threshold:
          type:
          - number
          - 'null'
          format: float
        vape_alert_backoff_sec:
          type:
          - integer
          - 'null'
          format: int64
        vape_confidence_threshold:
          type:
          - number
          - 'null'
          format: float
        vape_thc_confidence_threshold:
          type:
          - number
          - 'null'
          format: float
    LensRoleEnum:
      type: string
      enum:
      - VISIBLE
      - THERMAL
    WeeklyMinuteIntervalType:
      type: object
      properties:
        minuteOfWeekStart:
          type:
          - integer
          - 'null'
          format: int32
        minuteOfWeekStop:
          type:
          - integer
          - 'null'
          format: int32
    EnvironmentalGatewaySettingsSelectiveUpdate:
      type: object
      description: Update Environmental Sensor settings
      properties:
        data_measurement_interval_sec:
          type:
          - integer
          - 'null'
          format: int64
        data_upload_interval_sec:
          type:
          - integer
          - 'null'
          format: int64
        false_positive_confidence_threshold:
          type:
          - number
          - 'null'
          format: float
        leak_detection_threshold:
          type:
          - number
          - 'null'
          format: float
        leak_detector_present:
          type:
          - boolean
          - 'null'
        moist_detection_threshold:
          type:
          - number
          - 'null'
          format: float
        smoke_confidence_threshold:
          type:
          - number
          - 'null'
          format: float
        smoke_thc_confidence_threshold:
          type:
          - number
          - 'null'
          format: float
        smoke_tobacco_confidence_threshold:
          type:
          - number
          - 'null'
          format: float
        updatedSetMethodMap:
          type:
          - object
          - 'null'
          additionalProperties:
            type:
            - boolean
            - 'null'
        vape_alert_backoff_sec:
          type:
          - integer
          - 'null'
          format: int64
        vape_confidence_threshold:
          type:
          - number
          - 'null'
          format: float
        vape_thc_confidence_threshold:
          type:
          - number
          - 'null'
          format: float
    VideoDoorbellSettingsSelectiveUpdate:
      type: object
      description: Update Video Doorbell settings
      properties:
        standalone_doorbell_mode:
          type:
          - boolean
          - 'null'
        updatedSetMethodMap:
          type:
          - object
          - 'null'
          additionalProperties:
            type:
            - boolean
            - 'null'
    DewarpedView:
      type: object
      properties:
        aspectRatio:
          $ref: '#/components/schemas/AspectRatio'
        pitchDegrees:
          type:
          - number
          - 'null'
          format: float
        rollDegrees:
          type:
          - number
          - 'null'
          format: float
        verticalFieldOfViewDegrees:
          type:
          - integer
          - 'null'
          format: int32
        yawDegrees:
          type:
          - number
          - 'null'
          format: float
    ClimateSettingsSelectiveUpdate:
      type: object
      description: Update Sensor Climate settings
      properties:
        alert_window_minutes:
          type:
          - integer
          - 'null'
          format: int32
        smoke_ai_threshold:
          type:
          - number
          - 'null'
          format: float
        thc_ai_threshold:
          type:
          - number
          - 'null'
          format: float
        updatedSetMethodMap:
          type:
          - object
          - 'null'
          additionalProperties:
            type:
            - boolean
            - 'null'
        vape_ai_threshold:
          type:
          - number
          - 'null'
          format: float
    MetricsLevelEnum:
      type: string
      default: ESSENTIAL
      enum:
      - 'OFF'
      - FILE
      - ESSENTIAL
      - BASIC
      - FULL
    CameraPTZTranslationSpaceEnum:
      type: string
      enum:
      - FOV
      - DIGITAL
      - NONE
      - UNKNOWN
    CameraPTZMovementEnum:
      type: string
      enum:
      - RELATIVE
      - ABSOLUTE
    EmergencyContact:
      type: object
      properties:
        name:
          type:
          - string
          - 'null'
          description: The name of the emergency contact.
        phoneNumber:
          type:
          - string
          - 'null'
          description: The phone number for this emergency contact.
      required:
      - name
      - phoneNumber
    CameraCrossCountingSettingsType:
      type: object
      properties:
        directions:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/CrossingDirectionEnum'
          uniqueItems: true
        in_roi:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/RegionPolygonType'
        object_type:
          $ref: '#/components/schemas/CrossingObjectEnum'
        object_type_id:
          type:
          - integer
          - 'null'
          format: 

# --- truncated at 32 KB (70 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/rhombus-systems/refs/heads/main/openapi/rhombus-systems-device-config-webservice-api-openapi.yml