---
title: "fetchShareParticipants(forEmailAddresses:completionHandler:)"
framework: cloudkit
role: symbol
role_heading: Instance Method
path: "cloudkit/ckcontainer/fetchshareparticipants(foremailaddresses:completionhandler:)"
---

# fetchShareParticipants(forEmailAddresses:completionHandler:)

Fetches share participants with the specified email addresses.

## Declaration

```swift
@preconcurrency func fetchShareParticipants(forEmailAddresses emails: [String], completionHandler: @escaping @Sendable (Result<[String : Result<CKShare.Participant, any Error>], any Error>) -> Void)
```

## Parameters

- `emails`: The share participants’ email addresses.
- `completionHandler`: The handler to execute with the fetch results.

## Discussion

Discussion The closure doesn’t return a value and takes the following parameters: A dictionary of fetched share participants. The dictionary uses the email addresses you specify in emails as its keys. The value of each key is a Result that contains either the corresponding fetched share participant, or an error that describes why CloudKit can’t fetch that share participant. CloudKit can translate any valid email address into a share participant.  If the email address doesn’t correspond to a known iCloud account, then at share-accept-time, CloudKit offers the accepting participant a vetting process. The accepting participant uses this vetting process to link the email address to an iCloud account. This method searches for share participants asynchronously and with a low priority. If you want the task to execute with a higher priority, create an instance of CKFetchShareParticipantsOperation and configure it to use the necessary priority.
