---
title: "forPassMetaData(_:provisioningPolicyIdentifier:action:completion:)"
framework: passkit
role: symbol
role_heading: Type Method
path: "passkit/pkaddshareablepassconfiguration/forpassmetadata(_:provisioningpolicyidentifier:action:completion:)"
---

# forPassMetaData(_:provisioningPolicyIdentifier:action:completion:)

Creates and error checks a new shareable pass-configuration object.

## Declaration

```swift
class func forPassMetaData(_ passMetadata: [PKShareablePassMetadata], provisioningPolicyIdentifier: String, action: PKAddShareablePassConfigurationPrimaryAction, completion: @escaping @Sendable (PKAddShareablePassConfiguration?, (any Error)?) -> Void)
```

```swift
class func forPassMetaData(_ passMetadata: [PKShareablePassMetadata], provisioningPolicyIdentifier: String, action: PKAddShareablePassConfigurationPrimaryAction) async throws -> PKAddShareablePassConfiguration
```

## Parameters

- `passMetadata`:
- `provisioningPolicyIdentifier`:
- `action`: The action that the system performs with the shareable pass.
- `completion`: A completion handler that returns the shareable pass configuration or an error. This handler takes the following parameters:

## See Also

### Creating a pass configuration

- [primaryAction](passkit/pkaddshareablepassconfiguration/primaryaction.md)
- [credentialsMetadata](passkit/pkaddshareablepassconfiguration/credentialsmetadata.md)
- [provisioningPolicyIdentifier](passkit/pkaddshareablepassconfiguration/provisioningpolicyidentifier.md)
