---
title: "performRequest(_:customMethods:)"
framework: authenticationservices
role: symbol
role_heading: Instance Method
path: "authenticationservices/authorizationcontroller/performrequest(_:custommethods:)"
---

# performRequest(_:customMethods:)

Performs the authorization request using a custom authorization method.

## Declaration

```swift
@MainActor func performRequest(_ request: ASAuthorizationRequest, customMethods: [ASAuthorizationCustomMethod]) async throws -> ASAuthorizationResult
```

## Parameters

- `request`: The authorization request to perform.
- `customMethods`: An array of custom authorization methods to display in the system authorization UI. For more information, see doc://com.apple.authenticationservices/documentation/AuthenticationServices/ASAuthorizationCustomMethod.

## Return Value

Return Value The request’s outcome. For more information, see ASAuthorizationResult.

## Discussion

Discussion If the return value is ASAuthorizationResult.customMethod(_:), use the case’s associated value to access the chosen authorization method.

## See Also

### Performing requests

- [performRequest(_:)](authenticationservices/authorizationcontroller/performrequest(_:).md)
- [performRequests(_:)](authenticationservices/authorizationcontroller/performrequests(_:).md)
- [performRequest(_:options:)](authenticationservices/authorizationcontroller/performrequest(_:options:).md)
- [performRequests(_:options:)](authenticationservices/authorizationcontroller/performrequests(_:options:).md)
- [performRequests(_:customMethods:)](authenticationservices/authorizationcontroller/performrequests(_:custommethods:).md)
