List Unmanaged Devices

Get all unmanaged devices

Returns a list of all 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 on an unmanaged device are unmanaged. To control an unmanaged device with Seam, convert it to a managed device.

/devices/unmanaged/list

post

Returns a list of all 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 on an unmanaged device are unmanaged. To control an unmanaged device with Seam, convert it to a managed device.

Authorizations
Body
customer_idsstring · uuid[]Optional
connected_account_idstring · uuidOptional

ID of the connected account for which you want to list devices.

connected_account_idsstring · uuid[]Optional

Array of IDs of the connected accounts for which you want to list devices.

connect_webview_idstring · uuidOptional

ID of the Connect Webview for which you want to list devices.

device_typeone ofOptional

Device type for which you want to list devices.

string · enumOptional

Device type for smartlocks.

Possible values:
manufacturerstring · enumOptional

Manufacturer for which you want to list devices.

Possible values:
device_idsstring · uuid[]Optional

Array of device IDs for which you want to list devices.

limitnumber · floatOptional

Numerical limit on the number of devices to return.

Default: 500
created_beforestring · date-timeOptional

Timestamp by which to limit returned devices. Returns devices created before this timestamp.

user_identifier_keystringOptional

Your own internal user ID for the user for which you want to list devices.

page_cursorstring | nullableOptional

Identifies the specific page of results to return, obtained from the previous page's next_page_cursor.

unstable_location_idstring · uuid | nullableOptionalDeprecated
space_idstring · uuidOptional

ID of the space for which you want to list devices.

Responses
200
OK
application/json
post
POST /devices/unmanaged/list HTTP/1.1
Host: connect.getseam.com
Authorization: Bearer API Key
Content-Type: application/json
Accept: */*
Content-Length: 668

{
  "customer_ids": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "connected_account_id": "123e4567-e89b-12d3-a456-426614174000",
  "connected_account_ids": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "connect_webview_id": "123e4567-e89b-12d3-a456-426614174000",
  "device_type": "akuvox_lock",
  "device_types": [
    "akuvox_lock"
  ],
  "manufacturer": "akuvox",
  "device_ids": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "limit": 500,
  "created_before": "2025-06-18T17:05:42.605Z",
  "user_identifier_key": "text",
  "custom_metadata_has": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "page_cursor": "text",
  "include_if": [
    "can_remotely_unlock"
  ],
  "exclude_if": [
    "can_remotely_unlock"
  ],
  "space_id": "123e4567-e89b-12d3-a456-426614174000"
}
{
  "devices": [
    {
      "device_id": "123e4567-e89b-12d3-a456-426614174000",
      "device_type": "akuvox_lock",
      "connected_account_id": "123e4567-e89b-12d3-a456-426614174000",
      "location": {
        "location_name": "text",
        "timezone": "text"
      },
      "capabilities_supported": [
        "access_code"
      ],
      "workspace_id": "123e4567-e89b-12d3-a456-426614174000",
      "errors": [
        {
          "message": "text",
          "is_device_error": false,
          "created_at": "2025-06-18T17:05:42.605Z",
          "error_code": "account_disconnected",
          "is_connected_account_error": true
        }
      ],
      "warnings": [
        {
          "message": "text",
          "created_at": "2025-06-18T17:05:42.605Z",
          "warning_code": "partial_backup_access_code_pool"
        }
      ],
      "created_at": "2025-06-18T17:05:42.605Z",
      "is_managed": false,
      "properties": {
        "accessory_keypad": {
          "is_connected": true,
          "battery": {
            "level": 1
          }
        },
        "online": true,
        "manufacturer": "text",
        "image_url": "https://example.com",
        "image_alt_text": "text",
        "battery_level": 1,
        "battery": {
          "level": 1,
          "status": "critical"
        },
        "online_access_codes_enabled": true,
        "offline_access_codes_enabled": true,
        "model": {
          "can_connect_accessory_keypad": true,
          "display_name": "text",
          "manufacturer_display_name": "text",
          "has_built_in_keypad": true
        }
      },
      "can_remotely_unlock": true,
      "can_remotely_lock": true,
      "can_program_offline_access_codes": true,
      "can_program_online_access_codes": true,
      "can_hvac_heat": true,
      "can_hvac_cool": true,
      "can_hvac_heat_cool": true,
      "can_turn_off_hvac": true,
      "can_simulate_removal": true,
      "can_simulate_connection": true,
      "can_simulate_disconnection": true
    }
  ],
  "ok": true
}

Request

List all unmanaged devices or filter the list of unmanaged devices by including the corresponding filter parameter in the request body.

Request Body Parameters

Parameter
Type
Description

connected_account_id

String Optional

ID of the connected account.

connected_account_ids

String[] Optional

IDs of the connected accounts.

connect_webview_id

String Optional

device_type

String Optional

Type of device.

device_types

String[] Optional

Types of devices.

manufacturer

String Optional

Device manufacturer.

device_ids

type: string[] Optional

IDs of the devices to include.

limit

Number Optional

Numerical limit on the number of devices to return.

created_before

String Optional

Date threshold for devices to return. If specified, returns only devices created before the specified date.

user_identifier_key

String Optional

Your own internal user ID for the user by which to filter devices.

custom_metadata_has

JSON object Optional

Set of key:value custom metadata pairs by which you want to filter devices.

Sample Request

seam.devices.unmanaged.list()

Response

Returns an unmanaged devices array, in which each returned unmanaged device (device) contains the set of applicable device properties. For details, see Devices.

Sample Response

[
  UnmanagedDevice(
    device_id='2339da8d-ce38-4d86-9bb7-573f95af691c',
    device_type='ttlock_lock',
    properties={
      'image_alt_text': 'Placeholder Lock Image',
      'image_url': 'https://connect.getseam.com/assets/images/devices/unknown-lock.png',
      'manufacturer': 'ttlock',
      'model': {
        'accessory_keypad_supported': False,
        'display_name': 'Lock',
        'manufacturer_display_name': 'Ttlock',
        'offline_access_codes_supported': False,
        'online_access_codes_supported': True
      },
      'name': 'Lock 1',
      'online': False
    },
    connected_account_id='1769a182-ec97-4266-ba53-27fdb25d2d96',
    workspace_id='398d80b7-3f96-47c2-b85a-6f8ba21d07be',
    created_at='2023-10-30T08:37:28.852Z',
    errors=[
      {
        'connected_account_id': '1769a182-ec97-4266-ba53-27fdb25d2d96',
        'created_at': '2023-10-31T15:13:58.768Z',
        'error_code': 'account_disconnected',
        'is_connected_account_error': True,
        'message': 'Account Disconnected, you may need to '
          'reconnect the account with a new '
          'webview. This may happen if the '
          'third-party provider triggered an access '
          'token to be revoked (e.g. after a '
          'password change)'
      }
    ],
    warnings=[],
    capabilities_supported=[
      'access_code',
      'lock'
    ],
    is_managed=False
  ),
  ...
]

Last updated

Was this helpful?

Revision created

ci: Generate docs