Filtering Devices by Custom Metadata
When listing devices, you can filter by custom metadata.
Last updated
Was this helpful?
When listing devices, you can filter by custom metadata.
Last updated
Was this helpful?
When you use , you can filter the list by one or more pairs. Include the custom_metadata_has
parameter with a JSON string that specifies the desired key:value pairs.
You can use the method with the optional to .
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.inspect
Response:
[<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"
}
}
...
Request:
Map<String, CustomMetadataValue> customMetadata =
Map.of("internal_account_id", CustomMetadataValue.of(Optional.of("user-1")));
var devices = seam.devices().list(DevicesListRequest.builder()
.customMetadataHas(customMetadata)
.build());
System.out.println(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, err := client.Devices.List(
context.Background(),
&api.DevicesListRequest{
CustomMetadataHas: {"internal_account_id":"user-1"},
},
)
if err != nil {
return err
}
fmt.Println(devices)
return nil
Response:
[{
"device_id": "f7a7fb02-9277-4354-8dd1-28e2d016a7a9",
"device_type": "schlage_lock",
...
"is_managed": true,
"custom_metadata": {
"internal_account_id": "user-1"
}
}...
]