Filtering Devices by Custom Metadata
When listing devices, you can filter by custom metadata.
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.
Request:
devices = seam.devices.list(
custom_metadata_has = {
"internal_account_id": "user-1"
}
)
pprint(devices)Response:
[Device(device_id='f7a7fb02-9277-4354-8dd1-28e2d016a7a9',
device_type='schlage_lock',
...
is_managed=True,
custom_metadata={"internal_account_id": "user-1"}),
...]Request:
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"
},
}'Response:
{
"devices": [
{
"device_id": "f7a7fb02-9277-4354-8dd1-28e2d016a7a9",
"device_type": "schlage_lock",
...
"is_managed": true,
"custom_metadata": {
"internal_account_id": "user-1"
}
}
],
"ok": true
}Request:
const devices = await seam.devices.list({
custom_metadata_has: {
"internal_account_id": "user-1"
}
});
console.log(devices);Response:
[
{
device_id: 'f7a7fb02-9277-4354-8dd1-28e2d016a7a9',
device_type: 'schlage_lock',
...
is_managed: true,
custom_metadata: { internal_account_id: 'user-1' }
},
...
]Request:
devices = client.devices.list(
custom_metadata_has: {
"internal_account_id": "user-1"
}
)
puts devices.inspectResponse:
[<Seam::Device:0x004d8
device_id="f7a7fb02-9277-4354-8dd1-28e2d016a7a9"
device_type="schlage_lock"
...
is_managed=true
custom_metadata={"internal_account_id"=>"user-1"}>, ...]Request:
$devices = $seam->devices->list(
custom_metadata_has: array('internal_account_id' => 'user-1')
);
echo json_encode($devices);Response:
[{"device_id":"f7a7fb02-9277-4354-8dd1-28e2d016a7a9","device_type":"schlage_lock",..."is_managed":true,"custom_metadata":{"internal_account_id":"user-1"}},...]Request:
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"
}
}
...Last updated
Was this helpful?

