> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

# Resource: Participants

# Type: Participant Object

# Link: https://dev.wix.com/docs/api-reference/business-management/online-programs/participants/participant-object.md

## Description: A participant entity represents a site member who takes part in a specific Online Program.
Participants have access to the program's content and progress through the program by completing its steps.
A participant can join through a join application flow or be manually added by the program owner.
A participant's status depends on their progress and the program's settings (e.g., start and end dates). Participation may also be temporarily suspended.

## Schema:

```json
 Type: Participant Object | type: Participant
 Description: A participant entity represents a site member who takes part in a specific Online Program.
Participants have access to the program's content and progress through the program by completing its steps.
A participant can join through a join application flow or be manually added by the program owner.
A participant's status depends on their progress and the program's settings (e.g., start and end dates). Participation may also be temporarily suspended.
       - name: id  | type: string | description: Participant ID.
           - name: value  | type: string | description: 
       - name: revision  | type: string | description: Revision number, which increments by 1 each time the participant is updated. To prevent conflicting changes, the current revision must be specified when updating the participant.  Ignored when creating a participant.
           - name: value  | type: string | description: 
       - name: createdDate  | type: string | description: Date and time the participant was created.
           - name: seconds  | type: string | description: 
           - name: nanos  | type: number | description: 
       - name: updatedDate  | type: string | description: Date and time the participant was updated.
       - name: memberId  | type: string | description: Member ID of the participant on the site.
       - name: programId  | type: string | description: ID of the program the participant is enrolled in.
       - name: progress  | type: Progress | description: Program completion progress. This field is conditional and must be explicitly requested using the `fields` parameter.
           - name: totalStepsCompleted  | type: number | description: Number of program steps completed by member.
           - name: totalStepsAvailable  | type: number | description: Total number of program steps available to resolve.
           - name: completionPercentage  | type: number | description: Participant's completion percentage. For participants who completed the program, this is `100.0`. Otherwise, it's calculated as (`totalStepsCompleted` / `totalStepsAvailable`) * 100, capped at `100`, and rounded to 1 decimal place.
       - name: certificateInfo  | type: CertificateInfo | description: Information about the participant's certificate.  Returned only when a certificate has been issued to the participant.
           - name: issueDate  | type: string | description: Date when the certificate was issued (UTC).
       - name: member  | type: Member | description: Snapshot of the site member identified by `memberId`, copied from the Members API. It isn't the authoritative member record.
           - name: firstName  | type: string | description: First name of the site member.  Returned only when the member has provided it in their profile.
           - name: lastName  | type: string | description: Last name of the site member.  Returned only when the member has provided it in their profile.
           - name: email  | type: string | description: Email of the site member.  Returned only when the member has provided it in their profile.
           - name: contactId  | type: string | description: Contact ID for accessing additional member information with the Contacts API, such as phone numbers, addresses, and custom fields.  Returned only when the member has provided this information in their profile.
           - name: nickname  | type: string | description: Member nickname.  Returned only when the member has provided it in their profile.
           - name: profileImageUrl  | type: string | description: Profile image URL of the site member.
       - name: lastActivityDate  | type: string | description: Last activity date of the participant in the program (can either be status change or step resolution).
       - name: enrollmentStatus  | type: string | description: Participant's enrollment status in the program.
           enum: JOINED, SUSPENDED, AUTO_REMOVED, REMOVED, LEFT
       - name: progressStatus  | type: string | description: Participant's progress status in the program.
           enum: NOT_STARTED, IN_PROGRESS, COMPLETED, FAILED, NOT_APPLICABLE
       - name: enrollmentInfo  | type: EnrollmentInfo | description: Additional information about the participant's enrollment and completion timeframe in the program.
           - name: timeZone  | type: string | description: Time zone of the site when the participant was enrolled in the program, in IANA timezone format (e.g., "America/New_York").
           - name: startDate  | type: string | description: Date when the participant's program timeline begins, in `YYYY-MM-DD` format. If the program's `timeline.startDate` is set, this is that date. Otherwise, it's the local calendar date when the participant is created, based on the site's time zone.
           - name: pricingType  | type: string | description: Pricing type used for the participant's enrollment in the program.
               enum: FREE, ADDED_MANUALLY, SINGLE_PAYMENT, PAID_PLAN, FREE_COUPON
           - name: deadline  | type: string | description: Date by which the participant must complete the program, in `YYYY-MM-DD` format.  Returned only when the program has a fixed end date, or a duration-based deadline calculated from the participant's start date.
       - name: extendedFields  | type: ExtendedFields | description: Custom field data for the participant object.  [Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions.md) must be configured in the app dashboard before they can be accessed with API calls.
           - name: namespaces  | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured.  You can only access fields for which you have the appropriate permissions.  Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md).
       - name: tags  | type: Tags | description: Tags for categorizing and organizing participants.
           - name: privateTags  | type: TagList | description: Tags that require an additional permission in order to access them, typically restricted from site members and visitors.
               - name: tagIds  | type: Array<string> | description: List of tag IDs.
           - name: publicTags  | type: TagList | description: Tags that are exposed to anyone with access to the entity, including site members and visitors.

```