---
title: "requestTransaction(with:completion:)"
framework: callkit
role: symbol
role_heading: Instance Method
path: "callkit/cxcallcontroller/requesttransaction(with:completion:)-4o1m4"
---

# requestTransaction(with:completion:)

Requests that the transaction that contains the specified actions be asynchronously performed by the telephony provider.

## Declaration

```swift
func requestTransaction(with actions: [CXAction], completion: @escaping @Sendable ((any Error)?) -> Void)
```

```swift
func requestTransaction(with actions: [CXAction]) async throws
```

## Parameters

- `actions`: The telephony actions.
- `completion`: Code to be executed after the transaction is completed. The callback is executed on the queue specified when the call controller was initialized.

## Discussion

Discussion important: You can call this method from synchronous code using a completion handler, as shown on this page, or you can call it as an asynchronous method that has the following declaration: func requestTransaction(with actions: [CXAction]) async throws For information about concurrency and asynchronous code in Swift, see Calling Objective-C APIs Asynchronously.

## See Also

### Requesting Transactions

- [request(_:completion:)](callkit/cxcallcontroller/request(_:completion:).md)
- [requestTransaction(with:completion:)](callkit/cxcallcontroller/requesttransaction(with:completion:)-ffme.md)
