---
title: "Get an Unmanaged Device"
method: POST
path: "/devices/unmanaged/get"
tags: ["/devices"]
---

# Get an Unmanaged Device

`POST /devices/unmanaged/get`

Returns a specified [unmanaged device](/core-concepts/devices/managed-and-unmanaged-devices).

An unmanaged device has a limited set of visible properties and a subset of supported events. You cannot control an unmanaged device. Any [access codes](/low-level-apis/smart-locks/access-codes/migrating-existing-access-codes) on an unmanaged device are unmanaged. To control an unmanaged device with Seam, [convert it to a managed device](/core-concepts/devices/managed-and-unmanaged-devices#convert-an-unmanaged-device-to-managed).

You must specify either `device_id` or `name`.

## Request body

- object
  - `device_id` string, uuid — ID of the unmanaged device that you want to get.
  - `name` string — Name of the unmanaged device that you want to get.

## Response `200`

OK

- object
  - `device` UnmanagedDevice, required — Represents an [unmanaged device](/core-concepts/devices/managed-and-unmanaged-devices). An unmanaged device has a limited set of visible properties and a subset of supported events. You cannot control an unmanaged device. Any [access codes](/low-level-apis/smart-locks/access-codes/migrating-existing-access-codes) on an unmanaged device are unmanaged. See the [unmanaged_device object](/api/devices/unmanaged/object).
    - `can_configure_auto_lock` boolean — Indicates whether the lock supports configuring automatic locking.
    - `can_hvac_cool` boolean — Indicates whether the thermostat supports cooling.
    - `can_hvac_heat` boolean — Indicates whether the thermostat supports heating.
    - `can_hvac_heat_cool` boolean — Indicates whether the thermostat supports simultaneous heating and cooling.
    - `can_program_offline_access_codes` boolean — Indicates whether the device supports programming offline access codes.
    - `can_program_online_access_codes` boolean — Indicates whether the device supports programming online access codes.
    - `can_program_thermostat_programs_as_different_each_day` boolean — Indicates whether the thermostat supports different climate programs for each day of the week.
    - `can_program_thermostat_programs_as_same_each_day` boolean — Indicates whether the thermostat supports a single climate program applied to every day.
    - `can_program_thermostat_programs_as_weekday_weekend` boolean — Indicates whether the thermostat supports weekday/weekend climate programs.
    - `can_remotely_lock` boolean — Indicates whether the device supports remote locking.
    - `can_remotely_unlock` boolean — Indicates whether the device supports remote unlocking.
    - `can_run_thermostat_programs` boolean — Indicates whether the thermostat supports running climate programs.
    - `can_simulate_connection` boolean — Indicates whether the device supports simulating connection in a sandbox.
    - `can_simulate_disconnection` boolean — Indicates whether the device supports simulating disconnection in a sandbox.
    - `can_simulate_hub_connection` boolean — Indicates whether the hub supports simulating connection in a sandbox.
    - `can_simulate_hub_disconnection` boolean — Indicates whether the hub supports simulating disconnection in a sandbox.
    - `can_simulate_paid_subscription` boolean — Indicates whether the device supports simulating a paid subscription in a sandbox.
    - `can_simulate_removal` boolean — Indicates whether the device supports simulating removal in a sandbox.
    - `can_turn_off_hvac` boolean — Indicates whether the thermostat can be turned off.
    - `can_unlock_with_code` boolean — Indicates whether the lock supports unlocking with an access code.
    - `capabilities_supported` string[], required — Collection of capabilities that the device supports when connected to Seam. Values are `access_code`, which indicates that the device can manage and utilize digital PIN codes for secure access; `lock`, which indicates that the device controls a door locking mechanism, enabling the remote opening and closing of doors and other entry points; `noise_detection`, which indicates that the device supports monitoring and responding to ambient noise levels; `thermostat`, which indicates that the device can regulate and adjust indoor temperatures; `battery`, which indicates that the device can manage battery life and health; and `phone`, which indicates that the device is a mobile device, such as a smartphone. **Important:** Superseded by [capability flags](/capability-guides/device-and-system-capabilities#capability-flags).
    - `connected_account_id` string, uuid, required — Unique identifier for the account associated with the device.
    - `created_at` string, date-time, required — Date and time at which the device object was created.
    - `custom_metadata` object, required — Set of key:value pairs. Adding custom metadata to a resource, such as a [Connect Webview](/core-concepts/connect-webviews/attaching-custom-data-to-the-connect-webview), [connected account](/core-concepts/connected-accounts/adding-custom-metadata-to-a-connected-account), or [device](/core-concepts/devices/adding-custom-metadata-to-a-device), enables you to store custom information, like customer details or internal IDs from your application.
    - `device_id` string, uuid, required — ID of the device.
    - `device_type` union, required — Type of the device.
      - 'akuvox_lock' | 'august_lock' | 'brivo_access_point' | 'butterflymx_panel' | 'avigilon_alta_entry' | 'doorking_lock' | 'genie_door' | 'igloo_lock' | 'linear_lock' | 'lockly_lock' | 'kwikset_lock' | 'nuki_lock' | 'salto_lock' | 'schlage_lock' | 'smartthings_lock' | 'wyze_lock' | 'yale_lock' | 'two_n_intercom' | 'controlbyweb_device' | 'ttlock_lock' | 'igloohome_lock' | 'four_suites_door' | 'dormakaba_oracode_door' | 'tedee_lock' | 'akiles_lock' | 'ultraloq_lock' | 'keyincode_lock' | 'omnitec_lock' | 'kisi_lock' — Device type for smartlocks.
      - 'keynest_key' — Device type for keys.
      - 'noiseaware_activity_zone' | 'minut_sensor' — Device type for noise sensors.
      - 'ecobee_thermostat' | 'nest_thermostat' | 'honeywell_resideo_thermostat' | 'tado_thermostat' | 'sensi_thermostat' | 'smartthings_thermostat' — Device type for thermostats.
      - 'ios_phone' | 'android_phone' — Device type for phones.
      - 'ring_camera' — Device type for cameras.
    - `errors` object[], required — Array of errors associated with the device. Each error object within the array contains two fields: `error_code` and `message`. `error_code` is a string that uniquely identifies the type of error, enabling quick recognition and categorization of the issue. `message` provides a more detailed description of the error, offering insights into the issue and potentially how to rectify it.
      - `error_code` string — Error or warning code.
      - `message` string — Human-readable description.
      - `created_at` string, date-time — When this error or warning was generated.
    - `is_managed` false, required — Indicates that Seam does not manage the device.
    - `location` object — Location information for the device.
      - `location_name` string — Name of the device location.
      - `time_zone` string — Time zone of the device location.
      - `timezone` string — Deprecated. Use `time_zone` instead. Time zone of the device location.
    - `properties` object, required — properties of the device.
      - `accessory_keypad` object — Accessory keypad properties and state.
        - `battery` object — Keypad battery properties.
          - `level` number, float, required
        - `is_connected` boolean, required — Indicates if an accessory keypad is connected to the device.
      - `battery` object — Represents the current status of the battery charge level.
        - `level` number, float, required — Battery charge level as a value between 0 and 1, inclusive.
        - `status` 'critical' | 'low' | 'good' | 'full', required — Represents the current status of the battery charge level. Values are `critical`, which indicates an extremely low level, suggesting imminent shutdown or an urgent need for charging; `low`, which signifies that the battery is under the preferred threshold and should be charged soon; `good`, which denotes a satisfactory charge level, adequate for normal use without the immediate need for recharging; and `full`, which represents a battery that is fully charged, providing the maximum duration of usage.
      - `battery_level` number, float — Indicates the battery level of the device as a decimal value between 0 and 1, inclusive.
      - `image_alt_text` string — Alt text for the device image.
      - `image_url` string, uri — Image URL for the device.
      - `manufacturer` string — Manufacturer of the device. When a device, such as a smart lock, is connected through a smart hub, the manufacturer of the device might be different from that of the smart hub.
      - `model` object, required — Device model-related properties.
        - `accessory_keypad_supported` boolean — Deprecated. use device.properties.model.can_connect_accessory_keypad
        - `can_connect_accessory_keypad` boolean — Indicates whether the device can connect a accessory keypad.
        - `display_name` string, required — Display name of the device model.
        - `has_built_in_keypad` boolean — Indicates whether the device has a built in accessory keypad.
        - `manufacturer_display_name` string, required — Display name that corresponds to the manufacturer-specific terminology for the device.
        - `offline_access_codes_supported` boolean — Deprecated. use device.can_program_offline_access_codes.
        - `online_access_codes_supported` boolean — Deprecated. use device.can_program_online_access_codes.
      - `name` string, required — Deprecated. use device.display_name instead Name of the device.
      - `offline_access_codes_enabled` boolean — Deprecated. use device.can_program_offline_access_codes Indicates whether it is currently possible to use offline access codes for the device.
      - `online` boolean, required — Indicates whether the device is online.
      - `online_access_codes_enabled` boolean — Deprecated. use device.can_program_online_access_codes Indicates whether it is currently possible to use online access codes for the device.
    - `warnings` object[], required — Array of warnings associated with the device. Each warning object within the array contains two fields: `warning_code` and `message`. `warning_code` is a string that uniquely identifies the type of warning, enabling quick recognition and categorization of the issue. `message` provides a more detailed description of the warning, offering insights into the issue and potentially how to rectify it.
      - `error_code` string — Error or warning code.
      - `message` string — Human-readable description.
      - `created_at` string, date-time — When this error or warning was generated.
    - `workspace_id` string, uuid, required — Unique identifier for the Seam workspace associated with the device.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized

---

[API](https://skmtc.net/seam/apis/seam-connect.md) · [All operations](https://skmtc.net/seam/apis/seam-connect/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/seam/seam-connect/versions/00c35395ce12/schema)
