<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "macCatalyst: 27.0.0 -",
    "macOS: 27.0.0 -",
    "visionOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "DeviceManagement",
  "identifier" : "/documentation/DeviceManagement/NetworkRelay",
  "metadataVersion" : "0.1.0",
  "role" : "Object",
  "symbol" : {
    "kind" : "Object",
    "modules" : [
      "Device Management"
    ],
    "preciseIdentifier" : "rmdm-declarations:NetworkRelay"
  },
  "title" : "NetworkRelay"
}
-->

# NetworkRelay

The declaration to configure Network Relay settings.

```
object NetworkRelay
```

## Discussion

Specify `com.apple.configuration.network.relay` as the declaration type.

### Configuration availability

|||
|--------------------------------|----------------------------------------------|
|Allowed in supervised enrollment|iOS, macOS, Shared iPad, visionOS             |
|Allowed in device enrollment    |iOS, Shared iPad, visionOS                    |
|Allowed in user enrollment      |iOS, macOS, Shared iPad, visionOS             |
|Allowed in local enrollment     |N/A                                           |
|Allowed in system scope         |iOS, macOS, visionOS                          |
|Allowed in user scope           |Shared iPad                                   |
|Apply                           |Multiple configurations are applied separately|

### Configuration examples

**Single relay:**

This configuration routes traffic to two domains through a single HTTP/2 relay with a custom authorization header.

```json
{
    "Type": "com.apple.configuration.network.relay",
    "Identifier": "EB13EE2B-5D63-4EBA-810F-5B81D07F5017",
    "ServerToken": "E180CA9A-F089-4FA3-BBDF-94CC159C4AE8",
    "Payload": {
        "VisibleName": "Corporate Relay",
        "Relays": [
            {
                "HTTP2RelayURL": "https://relay.example.com/proxy",
                "AdditionalHTTPHeaderFields": {
                    "Authorization": "Bearer enterprise-token-12345"
                }
            }
        ],
        "MatchDomains": ["example.com", "internal.example.com"],
        "RelayUUID": "C3D4E5F6-A7B8-9012-CDEF-123456789012",
        "UIToggleEnabled": false
    }
}
```

**Chained relays:**

This configuration routes specific hostnames through two chained relay hops supporting both HTTP/2 and HTTP/3.

```json
{
    "Type": "com.apple.configuration.network.relay",
    "Identifier": "2A3B4C5D-6E7F-8A9B-0C1D-2E3F4A5B6C7D",
    "ServerToken": "F1E2D3C4-B5A6-7890-ABCD-EF1234567890",
    "Payload": {
        "VisibleName": "Two-Hop Privacy Relay",
        "Relays": [
            {
                "HTTP3RelayURL": "https://relay1.example.com/hop1",
                "HTTP2RelayURL": "https://relay1.example.com/hop1"
            },
            {
                "HTTP3RelayURL": "https://relay2.example.com/hop2"
            }
        ],
        "MatchFQDNs": ["secure.example.com", "api.example.com"],
        "ExcludedDomains": ["cdn.example.com"],
        "RelayUUID": "D4E5F6A7-B8C9-0123-DEF0-234567890123",
        "AllowDNSFailover": true
    }
}
```

## Topics

### Objects

[`NetworkRelayRelayObject`](/documentation/DeviceManagement/NetworkRelayRelayObject)

An array of dictionaries that describe one or more relay servers that the system can chain together.



---

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)