<!--
{
  "availability" : [
    "iOS: 10.0.0 -",
    "iPadOS: 10.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.12.0 -",
    "tvOS: 10.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 3.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CloudKit",
  "identifier" : "/documentation/CloudKit/CKShare/Participant",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "CloudKit"
    ],
    "preciseIdentifier" : "c:objc(cs)CKShareParticipant"
  },
  "title" : "CKShare.Participant"
}
-->

# CKShare.Participant

An object that describes a user’s participation in a share.

```
class Participant
```

## Overview

Participants are a key element of sharing in CloudKit. A participant provides information about an iCloud user and their participation in a share, including their identity, acceptance status, permissions, and role.

The acceptance status determines the participant’s visibility of the shared records. Statuses are: `pending`, `accepted`, `removed`, and `unknown`. If the status is `pending`, use [`CKAcceptSharesOperation`](/documentation/CloudKit/CKAcceptSharesOperation) to accept the share. Upon acceptance, CloudKit makes the shared records available in the participant’s shared database. The records remain accessible for as long as the participant’s status is `accepted`.

You don’t create participants. Use the share’s [`participants`](/documentation/CloudKit/CKShare/participants) property to access its existing participants. Use <doc://com.apple.documentation/documentation/UIKit/UICloudSharingController> to manage the share’s participants and their permissions. Alternatively, you can generate participants using [`CKFetchShareParticipantsOperation`](/documentation/CloudKit/CKFetchShareParticipantsOperation). Participants must have an active iCloud account.

Anyone with the URL of a public share can become a participant in that share. Participants of a public share assume the `publicUser` role. For private shares, the owner manages the participants. An owner is any participant with the `owner` role. A participant of a private share can’t accept the share unless the owner adds them first. Private share participants assume the `privateUser` role. CloudKit removes any pending participants if the owner changes the share’s [`publicPermission`](/documentation/CloudKit/CKShare/publicPermission). CloudKit removes all participants if the new permission is `none`.

Participants with write permissions can modify or delete any record that you include in the share. However, only the owner can delete a shared hierarchy’s root record. If a participant attempts to delete the share, CloudKit removes the participant. The share remains active for all other participants.

## Topics

### Accessing the Participant’s Status

[`acceptanceStatus`](/documentation/CloudKit/CKShare/Participant/acceptanceStatus-swift.property)

The current state of the user’s acceptance of the share.

[`CKShare.Participant.AcceptanceStatus`](/documentation/CloudKit/CKShare/Participant/AcceptanceStatus-swift.typealias)

A type that represents the acceptance status of the participant.

[`CKShare.ParticipantAcceptanceStatus`](/documentation/CloudKit/CKShare/ParticipantAcceptanceStatus)

Constants that represent the status of a participant.

### Accessing the Participant’s Identity

[`userIdentity`](/documentation/CloudKit/CKShare/Participant/userIdentity)

The identity of the participant.

### Managing the Participant’s Capabilites

[`permission`](/documentation/CloudKit/CKShare/Participant/permission-swift.property)

The participant’s permission level for the share.

[`CKShare.Participant.Permission`](/documentation/CloudKit/CKShare/Participant/Permission-swift.typealias)

A type that represents the permissions for a participant.

[`CKShare.ParticipantPermission`](/documentation/CloudKit/CKShare/ParticipantPermission)

Constants that represent the permissions to grant to a share participant.

[`role`](/documentation/CloudKit/CKShare/Participant/role-swift.property)

The participant’s role for the share.

[`CKShare.Participant.Role`](/documentation/CloudKit/CKShare/Participant/Role-swift.typealias)

A type that represents the role for a participant.

[`CKShare.ParticipantRole`](/documentation/CloudKit/CKShare/ParticipantRole)

Constants that represent the role of a share’s participant.

### Deprecated

[Deprecated Symbols](/documentation/CloudKit/participant-deprecated-symbols)

Review unsupported symbols and their replacements.



---

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)