<!--
{
  "availability" : [
    "iOS: 8.0.0 -",
    "iPadOS: 8.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "HomeKit",
  "identifier" : "/documentation/HomeKit/HMAddAccessoryRequest/requiresSetupPayloadURL",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "HomeKit"
    ],
    "preciseIdentifier" : "c:objc(cs)HMAddAccessoryRequest(py)requiresSetupPayloadURL"
  },
  "title" : "requiresSetupPayloadURL"
}
-->

# requiresSetupPayloadURL

An indication of whether the add operation requires a setup payload URL.

```
var requiresSetupPayloadURL: Bool { get }
```

## Discussion

If this value is `true`, look up the URL for the given accessory based on its category and name, given by the request’s [`accessoryCategory`](/documentation/HomeKit/HMAddAccessoryRequest/accessoryCategory) and [`accessoryName`](/documentation/HomeKit/HMAddAccessoryRequest/accessoryName) parameters. Include the URL in the setup payload by calling the request’s [`makePayload(url:ownershipToken:)`](/documentation/HomeKit/HMAddAccessoryRequest/makePayload(url:ownershipToken:)) method.

If [`requiresSetupPayloadURL`](/documentation/HomeKit/HMAddAccessoryRequest/requiresSetupPayloadURL) is `false`, you can still use the [`makePayload(url:ownershipToken:)`](/documentation/HomeKit/HMAddAccessoryRequest/makePayload(url:ownershipToken:)) method, if appropriate. Alternatively, you can construct the payload by calling the request’s [`makePayload(ownershipToken:)`](/documentation/HomeKit/HMAddAccessoryRequest/makePayload(ownershipToken:)) command instead.

---

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)