<!--
{
  "availability" : [
    "iOS: 16.1.0 -",
    "iPadOS: 16.1.0 -",
    "macCatalyst: -",
    "macOS: 14.0.0 -",
    "visionOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "MatterSupport",
  "identifier" : "/documentation/MatterSupport/MatterAddDeviceRequest",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "MatterSupport"
    ],
    "preciseIdentifier" : "s:13MatterSupport0A16AddDeviceRequestV"
  },
  "title" : "MatterAddDeviceRequest"
}
-->

# MatterAddDeviceRequest

A request that adds and sets up a device into an ecosystem.

```
struct MatterAddDeviceRequest
```

## Topics

### Creating the request

[`init(from:)`](/documentation/MatterSupport/MatterAddDeviceRequest/init(from:))

Create the request from a decoder.

[`init(topology:setupPayload:showing:)`](/documentation/MatterSupport/MatterAddDeviceRequest/init(topology:setupPayload:showing:))

Create the request.

[`init(topology:setupPayload:showing:shouldScanNetworks:)`](/documentation/MatterSupport/MatterAddDeviceRequest/init(topology:setupPayload:showing:shouldScanNetworks:))

Create the request with an optional network scan.

### Setting up the request

[`MatterAddDeviceRequest.Home`](/documentation/MatterSupport/MatterAddDeviceRequest/Home)

The representation of a home that appears in the picker during device setup.

[`MatterAddDeviceRequest.Room`](/documentation/MatterSupport/MatterAddDeviceRequest/Room)

The representation of a room that appears in the picker during device setup.

[`MatterAddDeviceRequest.Topology`](/documentation/MatterSupport/MatterAddDeviceRequest/Topology-swift.struct)

Information describing the properties of the ecosystem.

[`setupPayload`](/documentation/MatterSupport/MatterAddDeviceRequest/setupPayload)

The payload to use for Matter device setup.

[`topology`](/documentation/MatterSupport/MatterAddDeviceRequest/topology-swift.property)

A configuration object representing the topology of the initiating ecosystem.

### Defining the device criteria

[`MatterAddDeviceRequest.DeviceCriteria`](/documentation/MatterSupport/MatterAddDeviceRequest/DeviceCriteria)

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

[`showDeviceCriteria`](/documentation/MatterSupport/MatterAddDeviceRequest/showDeviceCriteria)

A predicate that filters what devices appear in the picker.

### Performing the request

[`shouldScanNetworks`](/documentation/MatterSupport/MatterAddDeviceRequest/shouldScanNetworks)

A flag that indicates whether to receive network scan results.

[`perform()`](/documentation/MatterSupport/MatterAddDeviceRequest/perform())

Launch the user interface to set up a Matter device in the ecosystem.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)