<!--
{
  "availability" : [
    "iOS: 16.0.0 -",
    "iPadOS: 16.0.0 -",
    "macCatalyst: 16.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "PassKit",
  "identifier" : "/documentation/PassKit/PKIdentityAuthorizationController/checkCanRequestDocument(_:completion:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "PassKit (Apple Pay and Wallet)"
    ],
    "preciseIdentifier" : "c:objc(cs)PKIdentityAuthorizationController(im)checkCanRequestDocument:completion:"
  },
  "title" : "checkCanRequestDocument(_:completion:)"
}
-->

# checkCanRequestDocument(_:completion:)

Returns whether an identity document is available to request.

```
func checkCanRequestDocument(_ descriptor: any PKIdentityDocumentDescriptor, completion: @escaping @Sendable (Bool) -> Void)
```

```
func canRequestDocument(_ descriptor: any PKIdentityDocumentDescriptor) async -> Bool
```

## Parameters

`descriptor`

The object that describes the document the app requests.

`completion`

The callback the system invokes after determining whether you can request the document you describe.

## Discussion

This method checks whether you have the correct entitlements and if the device has an ID in the Wallet app.

```swift
// Check whether the app can request the document.
controller.checkCanRequestDocument(descriptor) { canRequest in
    if canRequest {
        // Show the identity button for triggering the request.
    } else {
        // Hide the request button.
    }
}
```

---

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)