Skip to main content
When you use List Devices, you can filter the list by one or more custom metadata pairs. Include the custom_metadata_has parameter with a JSON string that specifies the desired key:value pairs.
You can use the Update Connected Account method with the optional custom_metadata property to add custom metadata for a device.
Request:
const devices = await seam.devices.list({
  custom_metadata_has: {
    internal_account_id: 'user-1',
  },
})

console.log(devices)
curl -X 'POST' \
  'https://connect.getseam.com/devices/list' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer ${API_KEY}' \
  -H 'Content-Type: application/json' \
  -d '{
  "custom_metadata_has": {
    "internal_account_id": "user-1"
  },
}'
devices = seam.devices.list(
  custom_metadata_has = {
    "internal_account_id": "user-1"
  }
)

pprint(devices)
devices = client.devices.list(
  custom_metadata_has: {
    "internal_account_id": "user-1"
  }
)

puts devices.inspect
$devices = $seam->devices->list(
  custom_metadata_has: array('internal_account_id' => 'user-1')
);

echo json_encode($devices);
var customMetadata = new Dictionary<string, string>()
{
  {"internal_account_id", "user-1"}
};

var devices = seam.Devices.List(
  customMetadataHas: customMetadata
);

foreach (var device in devices)
{
  Console.WriteLine(device);
}
Response:
[
  {
    device_id: 'f7a7fb02-9277-4354-8dd1-28e2d016a7a9',
    device_type: 'schlage_lock',
    ...
    is_managed: true,
    custom_metadata: { internal_account_id: 'user-1' }
  },
  ...
]
{
  "devices": [
    {
      "device_id": "f7a7fb02-9277-4354-8dd1-28e2d016a7a9",
      "device_type": "schlage_lock",
      ...
      "is_managed": true,
      "custom_metadata": {
        "internal_account_id": "user-1"
      }
    }
  ],
  "ok": true
}
[Device(device_id='f7a7fb02-9277-4354-8dd1-28e2d016a7a9',
        device_type='schlage_lock',
        ...
        is_managed=True,
        custom_metadata={"internal_account_id": "user-1"}),
...]
[<Seam::Device:0x004d8
  device_id="f7a7fb02-9277-4354-8dd1-28e2d016a7a9"
  device_type="schlage_lock"
  ...
  is_managed=true
  custom_metadata={"internal_account_id"=>"user-1"}>, ...]
[{"device_id":"f7a7fb02-9277-4354-8dd1-28e2d016a7a9","device_type":"schlage_lock",..."is_managed":true,"custom_metadata":{"internal_account_id":"user-1"}},...]
{
  "device_id": "f7a7fb02-9277-4354-8dd1-28e2d016a7a9",
  "device_type": "schlage_lock",
  ...
  "is_managed": true,
  "custom_metadata": {
    "internal_account_id": "user-1"
  }
}
...