---
title: MatterAddDeviceRequest.DeviceCriteria
framework: mattersupport
role: symbol
role_heading: Enumeration
path: mattersupport/matteradddevicerequest/devicecriteria
---

# MatterAddDeviceRequest.DeviceCriteria

A predicate to match against possible devices that may appear in the picker.

## Declaration

```swift
enum DeviceCriteria
```

## Topics

### Creating criteria

- [init(from:)](mattersupport/matteradddevicerequest/init(from:).md)

### Defining the criteria

- [MatterAddDeviceRequest.DeviceCriteria.allDevices](mattersupport/matteradddevicerequest/devicecriteria/alldevices.md)
- [MatterAddDeviceRequest.DeviceCriteria.all(_:)](mattersupport/matteradddevicerequest/devicecriteria/all(_:).md)
- [MatterAddDeviceRequest.DeviceCriteria.any(_:)](mattersupport/matteradddevicerequest/devicecriteria/any(_:).md)
- [MatterAddDeviceRequest.DeviceCriteria.commissioningID(_:)](mattersupport/matteradddevicerequest/devicecriteria/commissioningid(_:).md)
- [MatterAddDeviceRequest.DeviceCriteria.fabricNode(rootPublicKey:nodeID:)](mattersupport/matteradddevicerequest/devicecriteria/fabricnode(rootpublickey:nodeid:).md)
- [MatterAddDeviceRequest.DeviceCriteria.not(_:)](mattersupport/matteradddevicerequest/devicecriteria/not(_:).md)
- [MatterAddDeviceRequest.DeviceCriteria.productID(_:)](mattersupport/matteradddevicerequest/devicecriteria/productid(_:).md)
- [MatterAddDeviceRequest.DeviceCriteria.serialNumber(_:)](mattersupport/matteradddevicerequest/devicecriteria/serialnumber(_:).md)
- [MatterAddDeviceRequest.DeviceCriteria.vendorID(_:)](mattersupport/matteradddevicerequest/devicecriteria/vendorid(_:).md)

## Relationships

### Conforms To

- [Decodable](swift/decodable.md)
- [Encodable](swift/encodable.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Defining the device criteria

- [showDeviceCriteria](mattersupport/matteradddevicerequest/showdevicecriteria.md)
