import { ap as CreateParticipantRequest$1, aq as CreateParticipantResponse$1, ar as UpdateParticipantRequest$1, as as UpdateParticipantResponse$1, at as BulkCreateParticipantsRequest$1, c as BulkCreateParticipantsResponse$1, aI as BulkCreateParticipantsForAllMembersRequest$1, f as BulkCreateParticipantsForAllMembersResponse$1, aJ as DeleteParticipantRequest$1, aK as DeleteParticipantResponse$1, aL as IssueCertificateRequest$1, g as IssueCertificateResponse$1, aM as GetCertificateDownloadUrlRequest$1, G as GetCertificateDownloadUrlResponse$1, aP as GetPremiumStatsRequest$1, j as GetPremiumStatsResponse$1, aQ as GetParticipationStatsRequest$1, k as GetParticipationStatsResponse$1, aS as GetParticipantRequest$1, aT as GetParticipantResponse$1, aU as QueryParticipantsRequest$1, a_ as QueryParticipantsResponse$1, b1 as GetAccessStatusRequest$1, m as GetAccessStatusResponse$1, b2 as BulkUpdateParticipantTagsRequest$1, o as BulkUpdateParticipantTagsResponse$1, b4 as BulkUpdateParticipantTagsByFilterRequest$1, r as BulkUpdateParticipantTagsByFilterResponse$1, b5 as SearchParticipantsRequest$1, u as SearchParticipantsResponse$1, bV as ExportParticipantsStatsRequest$1, bW as ExportParticipantsStatsResponse$1 } from './online-programs-participants-v3-participant-participants.universal-C37s4ZVe.js'; import '@wix/sdk-types'; /** * 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. */ interface Participant { /** * Participant ID. * @format GUID * @readonly */ id?: string | null; /** * 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. * @readonly */ revision?: string | null; /** * Date and time the participant was created. * @readonly */ createdDate?: Date | null; /** * Date and time the participant was updated. * @readonly */ updatedDate?: Date | null; /** * Member ID of the participant on the site. * @format GUID * @readonly */ memberId?: string; /** * ID of the program the participant is enrolled in. * @format GUID * @readonly */ programId?: string; /** * Program completion progress. This field is conditional and must be explicitly requested using the `fields` parameter. * @readonly */ progress?: Progress; /** * Information about the participant's certificate. * * Returned only when a certificate has been issued to the participant. * @readonly */ certificateInfo?: CertificateInfo; /** * Snapshot of the site member identified by `memberId`, copied from the Members API. It isn't the authoritative member record. * @readonly */ member?: Member; /** * Last activity date of the participant in the program (can either be status change or step resolution). * @readonly */ lastActivityDate?: Date | null; /** * Participant's enrollment status in the program. * @readonly */ enrollmentStatus?: EnrollmentStatusWithLiterals; /** * Participant's progress status in the program. * @readonly */ progressStatus?: ProgressStatusWithLiterals; /** Additional information about the participant's enrollment and completion timeframe in the program. */ enrollmentInfo?: EnrollmentInfo; /** * 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) must be configured in the app dashboard before they can be accessed with API calls. */ extendedFields?: ExtendedFields; /** Tags for categorizing and organizing participants. */ tags?: Tags; } declare enum PricingType { /** Member joined a program that is configured as free to join, with no payment required. */ FREE = "FREE", /** Member was added to the program by site owner. */ ADDED_MANUALLY = "ADDED_MANUALLY", /** Member paid once to join the program. */ SINGLE_PAYMENT = "SINGLE_PAYMENT", /** Member joined using a Pricing Plan. */ PAID_PLAN = "PAID_PLAN", /** Member joined a paid program using a coupon that provided 100% discount. */ FREE_COUPON = "FREE_COUPON" } /** @enumType */ type PricingTypeWithLiterals = PricingType | 'FREE' | 'ADDED_MANUALLY' | 'SINGLE_PAYMENT' | 'PAID_PLAN' | 'FREE_COUPON'; interface SinglePaymentDetails { /** * ID of the cashier order which was used to pay for joining the program. * @format GUID * @immutable */ paymentOrderId?: string; /** * ID of the offline transaction. * * Available only when the participant paid with an offline payment method, such as cash or check. * @format GUID * @immutable */ offlineTransactionId?: string | null; } interface PaidPlanDetails { /** * ID of the Paid Plan for which member has paid to join the program. * @format GUID * @immutable */ paidPlanId?: string; } interface FreeCouponDetails { /** * ID of the coupon which was applied and gave 100% discount to join the program for free. * @format GUID * @immutable */ freeCouponId?: string; } interface Progress { /** Number of program steps completed by member. */ totalStepsCompleted?: number; /** Total number of program steps available to resolve. */ totalStepsAvailable?: number; /** * 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. * @max 100 */ completionPercentage?: number; } interface CertificateInfo { /** * Date when the certificate was issued (UTC). * @readonly */ issueDate?: Date | null; } interface Member { /** * First name of the site member. * * Returned only when the member has provided it in their profile. * @readonly * @maxLength 1000 */ firstName?: string | null; /** * Last name of the site member. * * Returned only when the member has provided it in their profile. * @readonly * @maxLength 1000 */ lastName?: string | null; /** * Email of the site member. * * Returned only when the member has provided it in their profile. * @readonly * @format EMAIL */ email?: string | null; /** * 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. * @format GUID * @readonly */ contactId?: string | null; /** * Member nickname. * * Returned only when the member has provided it in their profile. * @readonly * @maxLength 1000 */ nickname?: string | null; /** * Profile image URL of the site member. * @readonly * @format WEB_URL */ profileImageUrl?: string | null; } declare enum EnrollmentStatus { /** Participant is actively enrolled in the program. */ JOINED = "JOINED", /** Enrollment temporarily suspended due to payment issues. */ SUSPENDED = "SUSPENDED", /** Automatically removed via a Wix Automations workflow. */ AUTO_REMOVED = "AUTO_REMOVED", /** Removed from the program by the site owner. */ REMOVED = "REMOVED", /** Participant voluntarily left the program. */ LEFT = "LEFT" } /** @enumType */ type EnrollmentStatusWithLiterals = EnrollmentStatus | 'JOINED' | 'SUSPENDED' | 'AUTO_REMOVED' | 'REMOVED' | 'LEFT'; declare enum ProgressStatus { /** Enrolled but no steps completed yet. */ NOT_STARTED = "NOT_STARTED", /** At least one step completed but program not yet finished. */ IN_PROGRESS = "IN_PROGRESS", /** Participant successfully completed the program. */ COMPLETED = "COMPLETED", /** Participant failed to complete the program within the deadline. */ FAILED = "FAILED", /** Progress tracking isn't applicable because the participant left, was removed, or was auto-removed. */ NOT_APPLICABLE = "NOT_APPLICABLE" } /** @enumType */ type ProgressStatusWithLiterals = ProgressStatus | 'NOT_STARTED' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILED' | 'NOT_APPLICABLE'; interface EnrollmentInfo extends EnrollmentInfoPricingTypeDetailsOneOf { /** Details about a Single Payment enrollment. */ singlePaymentDetails?: SinglePaymentDetails; /** Details about a Paid Plan enrollment. */ paidPlanDetails?: PaidPlanDetails; /** Details about a Free Coupon enrollment. */ freeCouponDetails?: FreeCouponDetails; /** * Time zone of the site when the participant was enrolled in the program, in IANA timezone format (e.g., "America/New_York"). * @maxLength 50 * @readonly */ timeZone?: string; /** * 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. * @format LOCAL_DATE * @readonly */ startDate?: string; /** Pricing type used for the participant's enrollment in the program. */ pricingType?: PricingTypeWithLiterals; /** * 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. * @format LOCAL_DATE * @readonly */ deadline?: string | null; } /** @oneof */ interface EnrollmentInfoPricingTypeDetailsOneOf { /** Details about a Single Payment enrollment. */ singlePaymentDetails?: SinglePaymentDetails; /** Details about a Paid Plan enrollment. */ paidPlanDetails?: PaidPlanDetails; /** Details about a Free Coupon enrollment. */ freeCouponDetails?: FreeCouponDetails; } interface ExtendedFields { /** * 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). */ namespaces?: Record>; } /** * Common object for tags. * Should be use as in this example: * message Foo { * option (.wix.api.decomposite_of) = "wix.commons.v2.tags.Foo"; * string id = 1; * ... * Tags tags = 5 * } * * example of taggable entity * { * id: "123" * tags: { * public_tags: { * tag_ids:["11","22"] * }, * private_tags: { * tag_ids: ["33", "44"] * } * } * } */ interface Tags { /** Tags that require an additional permission in order to access them, typically restricted from site members and visitors. */ privateTags?: TagList; /** Tags that are exposed to anyone with access to the entity, including site members and visitors. */ publicTags?: TagList; } interface TagList { /** * List of tag IDs. * @maxSize 100 * @maxLength 5 */ tagIds?: string[]; } /** * Message for reindexing search data to a given search schema. Support both upsert and delete flows as well as * performs context manipulation with adding tenant, provided in message to callscope. */ interface ReindexMessage extends ReindexMessageActionOneOf { upsert?: Upsert; delete?: Delete; entityFqdn?: string; tenantId?: string; eventTime?: Date | null; entityEventSequence?: string | null; schema?: Schema; } /** @oneof */ interface ReindexMessageActionOneOf { upsert?: Upsert; delete?: Delete; } interface Upsert { entityId?: string; entityAsJson?: string; } interface Delete { entityId?: string; } interface Schema { label?: string; clusterName?: string; } /** Domain event emitted when a participant's tags are modified. */ interface ParticipantTagsModified { /** The participant with the updated tags. */ participant?: Participant; /** Tags that were assigned. */ assignedTags?: Tags; /** Tags that were unassigned. */ unassignedTags?: Tags; } /** Domain event emitted when a participant completes a program. */ interface ParticipantCompletedProgram { /** * ID of the participant who completed the program. * @format GUID */ participantId?: string; /** * ID of the program which was completed. * @format GUID */ programId?: string; /** * Member ID of the participant who completed the program. * @format GUID */ memberId?: string; /** Snapshot of the participant after completing the program. */ participant?: Participant; } /** Domain event emitted when a participant misses a program deadline. */ interface ParticipantMissedProgramDeadline { /** * ID of the participant who missed the deadline. * @format GUID */ participantId?: string; /** * ID of the program for which the deadline was missed. * @format GUID */ programId?: string; /** * Member ID of the participant who missed the deadline. * @format GUID */ memberId?: string; /** Snapshot of the participant after missing the deadline. */ participant?: Participant; } /** Domain event emitted when a participant's program duration ends. */ interface ParticipantProgramDurationEnded { /** * ID of the participant whose program duration ended. * @format GUID */ participantId?: string; /** * ID of the program whose duration ended for the participant. * @format GUID */ programId?: string; /** * Member ID of the participant whose program duration ended. * @format GUID */ memberId?: string; /** Snapshot of the participant when the program duration ended. */ participant?: Participant; } /** Domain event emitted when a participant is removed from a program by an administrator. */ interface ParticipantRemoved { /** * ID of the participant who was removed. * @format GUID */ participantId?: string; /** * ID of the program from which the participant was removed. * @format GUID */ programId?: string; /** * Member ID of the participant who was removed. * @format GUID */ memberId?: string; /** Snapshot of the participant after being removed from the program. */ participant?: Participant; /** Reason for automatic removal. Unspecified for existing removal flows. */ removalReason?: RemovalReasonWithLiterals; } declare enum RemovalReason { /** The associated site member was deleted. Do not send a removal notification. */ MEMBER_DELETED = "MEMBER_DELETED" } /** @enumType */ type RemovalReasonWithLiterals = RemovalReason | 'MEMBER_DELETED'; /** Domain event emitted when a participant voluntarily leaves a program. */ interface ParticipantLeft { /** * ID of the participant who left the program. * @format GUID */ participantId?: string; /** * ID of the program the participant left. * @format GUID */ programId?: string; /** * Member ID of the participant who left. * @format GUID */ memberId?: string; /** Snapshot of the participant after leaving the program. */ participant?: Participant; } interface CreateParticipantRequest { /** Participant to create. */ participant: Participant; /** * Array of conditional fields to include in the response. * Use `RequestedFields.PROGRESS` to include the `progress` field, which requires calculating completion statistics across all program steps. Only request this field when you need current progress data, as it impacts performance. * @maxSize 1 */ fields?: RequestedFieldsWithLiterals[]; } /** * Enum for specifying which conditional fields to include in responses. * Use these values in the `fields` parameter to request expensive or conditional fields. */ declare enum RequestedFields { /** Request the progress field to be calculated and included in the response. */ PROGRESS = "PROGRESS" } /** @enumType */ type RequestedFieldsWithLiterals = RequestedFields | 'PROGRESS'; interface CreateParticipantResponse { /** Created participant. */ participant?: Participant; } interface UpdateParticipantRequest { /** Participant to update. Must include the participant ID. */ participant: Participant; /** * Array of conditional fields to include in the response. * Use `RequestedFields.PROGRESS` to include the `progress` field, which isn't returned by default. * @maxSize 1 */ fields?: RequestedFieldsWithLiterals[]; } interface UpdateParticipantResponse { /** Updated participant. */ participant?: Participant; } interface BulkCreateParticipantsRequest { /** * List of participants to create. * @minSize 1 * @maxSize 100 */ participants: Participant[]; /** Whether to return the created participants in the response. */ returnEntity?: boolean; /** * Array of conditional fields to include in the response. * Use `RequestedFields.PROGRESS` to include the `progress` field, which isn't returned by default. * @maxSize 1 */ fields?: RequestedFieldsWithLiterals[]; } interface BulkCreateParticipantsResponse { /** * Results of the bulk create operation. * @minSize 1 * @maxSize 100 */ results?: BulkParticipantResult[]; /** Metadata about the bulk action. */ bulkActionMetadata?: BulkActionMetadata; } interface BulkParticipantResult { /** Metadata for the item. */ itemMetadata?: ItemMetadata; /** The participant entity. Empty if `returnEntity` is `false`. */ item?: Participant; } interface ItemMetadata { /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */ id?: string | null; /** Index of the item within the request array. Allows for correlation between request and response items. */ originalIndex?: number; /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */ success?: boolean; /** Details about the error in case of failure. */ error?: ApplicationError; } interface ApplicationError { /** Error code. */ code?: string; /** Description of the error. */ description?: string; /** Data related to the error. */ data?: Record | null; } interface BulkActionMetadata { /** Number of items that were successfully processed. */ totalSuccesses?: number; /** Number of items that couldn't be processed. */ totalFailures?: number; /** Number of failures without details because detailed failure threshold was exceeded. */ undetailedFailures?: number; } interface BulkUpsertParticipantsMigrationRequest { /** * List of participants to create or update. * @minSize 1 * @maxSize 100 */ participants?: ParticipantMigration[]; } interface ParticipantMigration { /** Participant to create or update. */ participant?: Participant; /** * Resolved step IDs to restore on participant. * @maxSize 5000 * @format GUID */ resolvedStepIds?: string[]; } interface BulkUpsertParticipantsMigrationResponse { /** * Results of the bulk migration operation. * @minSize 1 * @maxSize 100 */ results?: BulkParticipantMigrationResult[]; /** Metadata about the bulk action. */ bulkActionMetadata?: BulkActionMetadata; } interface BulkParticipantMigrationResult { /** Metadata for the item. */ itemMetadata?: ItemMetadata; /** Action type of the bulk action (INSERT or UPDATE) for that method. */ action?: BulkActionTypeWithLiterals; } declare enum BulkActionType { /** default action type, should never be used */ UNKNOWN_ACTION_TYPE = "UNKNOWN_ACTION_TYPE", /** Action type for inserting new items. */ INSERT = "INSERT", /** Action type for updating existing items. */ UPDATE = "UPDATE" } /** @enumType */ type BulkActionTypeWithLiterals = BulkActionType | 'UNKNOWN_ACTION_TYPE' | 'INSERT' | 'UPDATE'; interface DeleteAllParticipantsMigrationRequest { } interface DeleteAllParticipantsMigrationResponse { } interface ReindexParticipantsSearchRequest { /** * @minSize 1 * @maxSize 1000 * @format GUID */ participantIds?: string[]; } interface ReindexParticipantsSearchResponse { } interface SynchronizeTimeCapsuleTasksRequest { /** * Metasite whose participant finish tasks should be synchronized. * @format GUID */ metaSiteId?: string; } interface SynchronizeTimeCapsuleTasksResponse { /** * Job ID. Pass this ID to [Get Async Job](https://dev.wix.com/docs/api-reference/business-management/async-job/get-async-job) to retrieve the status of the asynchronous operation. * @format GUID */ jobId?: string; } interface BulkCreateParticipantsForAllMembersRequest { /** * ID of the program for which to create participants for all site members in bulk. * @format GUID */ programId: string; /** * Site member IDs to exclude from bulk participant creation. Maximum 100 member IDs can be excluded. * @format GUID * @maxSize 100 */ excludeMemberIds?: string[]; } interface BulkCreateParticipantsForAllMembersResponse { /** * Job ID. Pass this ID to [Get Async Job](https://dev.wix.com/docs/api-reference/business-management/async-job/get-async-job) to retrieve the status of the asynchronous operation. * @format GUID */ jobId?: string; } interface DeleteParticipantRequest { /** * ID of the participant to delete. * @format GUID */ participantId: string; } interface DeleteParticipantResponse { } interface IssueCertificateRequest { /** * ID of the participant to issue the certificate to. * @format GUID */ participantId: string; /** * Array of conditional fields to include in the response. * Use `RequestedFields.PROGRESS` to include the `progress` field, which isn't returned by default. * @maxSize 1 */ fields?: RequestedFieldsWithLiterals[]; } interface IssueCertificateResponse { /** Updated participant. */ participant?: Participant; } interface GetCertificateDownloadUrlRequest { /** * ID of the participant whose certificate download URL to retrieve. * @format GUID */ participantId: string; } interface GetCertificateDownloadUrlResponse { /** * URL for downloading the participant's certificate. * @format WEB_URL */ downloadUrl?: string; /** Time when the download URL token expires. The underlying certificate document may expire earlier. */ expirationDate?: Date | null; } interface GetCompletionStatsRequest { /** * ID of the program to retrieve completion statistics for. * @format GUID */ programId?: string; } interface GetCompletionStatsResponse { /** Number of participants who completed the program. */ completedParticipantsCount?: number; /** Percentage of participants who completed the program. */ completionRate?: number; } interface GetPremiumStatsRequest { } interface GetPremiumStatsResponse { /** Whether the site has the Online Programs premium feature. */ premiumEnabled?: boolean; /** Number of active participants on the site. */ activeParticipantsCount?: number; /** Maximum number of active participants allowed on a site without premium. */ activeParticipantsLimit?: number; } interface GetParticipationStatsRequest { /** * IDs of the programs to retrieve participant statistics for. * @format GUID * @minSize 1 * @maxSize 100 */ programIds: string[]; } interface GetParticipationStatsResponse { /** * Participant statistics for each distinct requested program ID. * @maxSize 100 */ participationStats?: ProgramParticipationStats[]; } interface ProgramParticipationStats { /** * Program ID. * @format GUID */ programId?: string; /** Number of participants with a joined or suspended enrollment, including participants who completed or failed the program. */ participantsCount?: number; /** Number of participants automatically removed when the program duration ended. */ autoRemovedCount?: number; } interface GetParticipantRequest { /** * ID of the participant to fetch. * @format GUID */ participantId: string; /** * Array of conditional fields to include in the response. * Use `RequestedFields.PROGRESS` to include the `progress` field, which isn't returned by default. * @maxSize 1 */ fields?: RequestedFieldsWithLiterals[]; } interface GetParticipantResponse { /** The retrieved participant. */ participant?: Participant; } interface QueryParticipantsRequest { /** Query options. */ query?: QueryV2; /** * Array of conditional fields to include in the response. * Use `RequestedFields.PROGRESS` to include the `progress` field, which isn't returned by default. * @maxSize 1 */ fields?: RequestedFieldsWithLiterals[]; } interface QueryV2 extends QueryV2PagingMethodOneOf { /** Paging options to limit and offset the number of items. */ paging?: Paging; /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */ cursorPaging?: CursorPaging; /** * Filter object. * * Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters). */ filter?: Record | null; /** * Sort object. * * Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting). * @maxSize 100 */ sort?: Sorting[]; /** * Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. * @maxSize 100 * @maxLength 1000 */ fields?: string[]; /** * Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. * @maxSize 100 * @maxLength 1000 */ fieldsets?: string[]; } /** @oneof */ interface QueryV2PagingMethodOneOf { /** Paging options to limit and offset the number of items. */ paging?: Paging; /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */ cursorPaging?: CursorPaging; } interface Sorting { /** * Name of the field to sort by. * @maxLength 512 */ fieldName?: string; /** Sort order. */ order?: SortOrderWithLiterals; } declare enum SortOrder { ASC = "ASC", DESC = "DESC" } /** @enumType */ type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC'; interface Paging { /** Number of items to load. */ limit?: number | null; /** Number of items to skip in the current sort order. */ offset?: number | null; } interface CursorPaging { /** * Maximum number of items to return in the results. * @max 100 */ limit?: number | null; /** * Pointer to the next or previous page in the list of results. * * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response. * Not relevant for the first request. * @maxLength 16000 */ cursor?: string | null; } interface QueryParticipantsResponse { /** List of participants matching the query. */ participants?: Participant[]; /** Paging metadata. */ pagingMetadata?: PagingMetadataV2; } interface PagingMetadataV2 { /** Number of items returned in the response. */ count?: number | null; /** Offset that was requested. */ offset?: number | null; /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */ total?: number | null; /** Flag that indicates the server failed to calculate the `total` field. */ tooManyToCount?: boolean | null; /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */ cursors?: Cursors; } interface Cursors { /** * Cursor string pointing to the next page in the list of results. * @maxLength 16000 */ next?: string | null; /** * Cursor pointing to the previous page in the list of results. * @maxLength 16000 */ prev?: string | null; } interface GetAccessStatusRequest { } interface GetAccessStatusResponse { /** Whether participants are blocked from accessing online programs because of site limitations. */ accessBlocked?: boolean; } interface BulkUpdateParticipantTagsRequest { /** * IDs of the participants to update tags for. Provide 1 to 100 IDs. * @minSize 1 * @maxSize 100 * @format GUID */ participantIds: string[]; /** Tags to assign to the participants. */ assignTags?: Tags; /** Tags to unassign from the participants. */ unassignTags?: Tags; } interface BulkUpdateParticipantTagsResponse { /** * Results for each participant. * @minSize 1 * @maxSize 100 */ results?: BulkUpdateParticipantTagsResult[]; /** Metadata about the bulk operation. */ bulkActionMetadata?: BulkActionMetadata; } interface BulkUpdateParticipantTagsResult { /** Metadata for this specific item. */ itemMetadata?: ItemMetadata; } interface BulkUpdateParticipantTagsByFilterRequest { /** WQL filter that selects the participants to update. */ filter: Record | null; /** Tags to assign to matching participants. */ assignTags?: Tags; /** Tags to unassign from matching participants. */ unassignTags?: Tags; } interface BulkUpdateParticipantTagsByFilterResponse { /** * Job ID. Pass this ID to [Get Async Job](https://dev.wix.com/docs/api-reference/business-management/async-job/get-async-job) to retrieve the status of the asynchronous operation. * @format GUID */ jobId?: string; } interface SearchParticipantsRequest { /** Query to search participants. */ search?: CursorSearch; /** * Array of conditional fields to include in the response. * Use `RequestedFields.PROGRESS` to include the `progress` field, which isn't returned by default. * @maxSize 1 */ fields?: RequestedFieldsWithLiterals[]; } interface CursorSearch extends CursorSearchPagingMethodOneOf { /** * Cursor paging options. * * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging). */ cursorPaging?: CursorPaging; /** * Filter object. * * Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters). */ filter?: Record | null; /** * List of sort objects. * * Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting). * @maxSize 10 */ sort?: Sorting[]; /** * Logical groupings of data into facets, with summaries for each facet. For example, use aggregations to allow site visitors to narrow down their search results by selecting specific categories. * @maxSize 10 */ aggregations?: Aggregation[]; /** Free text to match in searchable fields. */ search?: SearchDetails; /** * Time zone to adjust date-time-based filters and aggregations, in ISO 8601 (including offsets) or IANA time zone database (including time zone IDs) format. * Applies to all relevant filters and aggregations, unless overridden by providing timestamps including time zone. For example, "2023-12-20T10:52:34.795Z". * @maxLength 50 */ timeZone?: string | null; } /** @oneof */ interface CursorSearchPagingMethodOneOf { /** * Cursor paging options. * * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging). */ cursorPaging?: CursorPaging; } interface Aggregation extends AggregationKindOneOf { /** A value aggregation calculates metrics such as count for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number (count) of products for each price listed in the store. */ value?: ValueAggregation; /** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. */ range?: RangeAggregation; /** A scalar aggregation calculates a single numerical value from a dataset, summarizing the dataset into one key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */ scalar?: ScalarAggregation; /** A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.) For example, use a date histogram to find how many reservations have been made at a restaurant each week. */ dateHistogram?: DateHistogramAggregation; /** A nested aggregation is applied within the results of another aggregation. Rather than aggregating directly on the primary dataset, first group data using one aggregation and then apply another aggregation within each group. It allows for more complex analyses where you can summarize data at different levels of detail or hierarchy. For example, to get the number of products that are in stock and out of stock for each price listed, first perform a value aggregation on `discountedPriceNumeric`, and a second value aggregation on `inStock`. */ nested?: NestedAggregation; /** * Aggregation name, returned in `aggregations.results.name`. * @maxLength 100 */ name?: string | null; /** Type of aggregation to perform. Must align with the corresponding aggregation field. */ type?: AggregationTypeWithLiterals; /** * Field to aggregate by. Use dot notation to specify a JSON path. For example, `order.address.streetName`. * @maxLength 200 */ fieldPath?: string; /** * Deprecated. Use `nested` instead. * @deprecated Deprecated. Use `nested` instead. * @replacedBy kind.nested * @targetRemovalDate 2024-03-30 */ groupBy?: GroupByAggregation; } /** @oneof */ interface AggregationKindOneOf { /** A value aggregation calculates metrics such as count for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number (count) of products for each price listed in the store. */ value?: ValueAggregation; /** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. */ range?: RangeAggregation; /** A scalar aggregation calculates a single numerical value from a dataset, summarizing the dataset into one key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */ scalar?: ScalarAggregation; /** A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.) For example, use a date histogram to find how many reservations have been made at a restaurant each week. */ dateHistogram?: DateHistogramAggregation; /** A nested aggregation is applied within the results of another aggregation. Rather than aggregating directly on the primary dataset, first group data using one aggregation and then apply another aggregation within each group. It allows for more complex analyses where you can summarize data at different levels of detail or hierarchy. For example, to get the number of products that are in stock and out of stock for each price listed, first perform a value aggregation on `discountedPriceNumeric`, and a second value aggregation on `inStock`. */ nested?: NestedAggregation; } interface RangeBucket { /** Inclusive lower bound of the range. Required if `to` is not provided. */ from?: number | null; /** Exclusive upper bound of the range. Required if `from` is not provided. */ to?: number | null; } declare enum SortType { /** Number of matches in the results. */ COUNT = "COUNT", /** Alphabetically by the field value. */ VALUE = "VALUE" } /** @enumType */ type SortTypeWithLiterals = SortType | 'COUNT' | 'VALUE'; declare enum SortDirection { /** Descending order. */ DESC = "DESC", /** Ascending order. */ ASC = "ASC" } /** @enumType */ type SortDirectionWithLiterals = SortDirection | 'DESC' | 'ASC'; declare enum MissingValues { /** Exclude missing values from the aggregation results. */ EXCLUDE = "EXCLUDE", /** Include missing values in the aggregation results. */ INCLUDE = "INCLUDE" } /** @enumType */ type MissingValuesWithLiterals = MissingValues | 'EXCLUDE' | 'INCLUDE'; interface IncludeMissingValuesOptions { /** * Specify a custom name for the bucket containing the missing values. Defaults are `"N/A"` for strings, `0` for integers, and `false` for booleans. * @maxLength 20 */ addToBucket?: string; } declare enum ScalarType { /** Total number of distinct values. */ COUNT_DISTINCT = "COUNT_DISTINCT", /** Minimum value. */ MIN = "MIN", /** Maximum value. */ MAX = "MAX" } /** @enumType */ type ScalarTypeWithLiterals = ScalarType | 'COUNT_DISTINCT' | 'MIN' | 'MAX'; interface ValueAggregation extends ValueAggregationOptionsOneOf { /** Options for including missing values in results. */ includeOptions?: IncludeMissingValuesOptions; /** Sort type. */ sortType?: SortTypeWithLiterals; /** Sort direction. */ sortDirection?: SortDirectionWithLiterals; /** * Number of aggregation results to return. * Min: `1` * Max: `250` * Default: `10` */ limit?: number | null; /** * Whether to include or exclude missing values in the aggregation results. * Default: `EXCLUDE`. */ missingValues?: MissingValuesWithLiterals; } /** @oneof */ interface ValueAggregationOptionsOneOf { /** Options for including missing values in results. */ includeOptions?: IncludeMissingValuesOptions; } declare enum NestedAggregationType { /** Calculates the distribution of a specific field's values within a dataset, providing insights into the overall distribution and key statistics of those values. */ VALUE = "VALUE", /** Calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. */ RANGE = "RANGE", /** Calculates a single numerical value from a dataset, summarizing the dataset into one key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */ SCALAR = "SCALAR", /** Calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.). */ DATE_HISTOGRAM = "DATE_HISTOGRAM" } /** @enumType */ type NestedAggregationTypeWithLiterals = NestedAggregationType | 'VALUE' | 'RANGE' | 'SCALAR' | 'DATE_HISTOGRAM'; interface RangeAggregation { /** * List of range buckets. During aggregation each entity is placed in the first bucket its value falls into, based on the provided range bounds. * @maxSize 50 */ buckets?: RangeBucket[]; } interface ScalarAggregation { /** Operator type for the scalar aggregation. */ type?: ScalarTypeWithLiterals; } interface DateHistogramAggregation { /** Interval for date histogram aggregation. */ interval?: IntervalWithLiterals; } declare enum Interval { YEAR = "YEAR", MONTH = "MONTH", WEEK = "WEEK", DAY = "DAY", HOUR = "HOUR", MINUTE = "MINUTE", SECOND = "SECOND" } /** @enumType */ type IntervalWithLiterals = Interval | 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND'; interface NestedAggregationItem extends NestedAggregationItemKindOneOf { /** A value aggregation calculates the distribution of a specific field's values within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number (count) of orders for each order status. */ value?: ValueAggregation; /** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. If ranges overlap, a record that fits more than one range will only be counted in the first range that matches the criteria. */ range?: RangeAggregation; /** A scalar aggregation calculates a single numerical value from a dataset, summarizing the dataset into one key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */ scalar?: ScalarAggregation; /** A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.). For example, use a date histogram to determine how many reservations have been made at a restaurant each week. If ranges overlap, a record that fits more than one range will only be counted in the first range that matches the criteria. */ dateHistogram?: DateHistogramAggregation; /** * Unique, caller-defined aggregation name, returned in `aggregations.results`. * @maxLength 100 */ name?: string | null; /** Type of aggregation to perform. The matching aggregation field must be passed. */ type?: NestedAggregationTypeWithLiterals; /** * Field to aggregate by. Use dot notation to specify a JSON path. For example, `order.address.streetName`. * @maxLength 200 */ fieldPath?: string; } /** @oneof */ interface NestedAggregationItemKindOneOf { /** A value aggregation calculates the distribution of a specific field's values within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number (count) of orders for each order status. */ value?: ValueAggregation; /** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. If ranges overlap, a record that fits more than one range will only be counted in the first range that matches the criteria. */ range?: RangeAggregation; /** A scalar aggregation calculates a single numerical value from a dataset, summarizing the dataset into one key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */ scalar?: ScalarAggregation; /** A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.). For example, use a date histogram to determine how many reservations have been made at a restaurant each week. If ranges overlap, a record that fits more than one range will only be counted in the first range that matches the criteria. */ dateHistogram?: DateHistogramAggregation; } declare enum AggregationType { /** Calculates the distribution of a specific field's values within a dataset, providing insights into the overall distribution and key statistics of those values. */ VALUE = "VALUE", /** Calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. */ RANGE = "RANGE", /** Calculates a single numerical value from a dataset, summarizing the dataset into one key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */ SCALAR = "SCALAR", /** Calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.). */ DATE_HISTOGRAM = "DATE_HISTOGRAM", /** Flattened list of aggregations, where each aggregation is nested within previous one. */ NESTED = "NESTED" } /** @enumType */ type AggregationTypeWithLiterals = AggregationType | 'VALUE' | 'RANGE' | 'SCALAR' | 'DATE_HISTOGRAM' | 'NESTED'; /** Nested aggregation expressed through a list of aggregation where each next aggregation is nested within previous one. */ interface NestedAggregation { /** * Flattened list of aggregations, where each aggregation is nested within previous one. * @minSize 2 * @maxSize 3 */ nestedAggregations?: NestedAggregationItem[]; } interface GroupByAggregation extends GroupByAggregationKindOneOf { /** Value aggregation configuration. */ value?: ValueAggregation; /** * Unique, caller-defined aggregation name, returned in `aggregations.results`. * @maxLength 100 */ name?: string | null; /** * Field to aggregate by. * @maxLength 200 */ fieldPath?: string; } /** @oneof */ interface GroupByAggregationKindOneOf { /** Value aggregation configuration. */ value?: ValueAggregation; } interface SearchDetails { /** Search mode. Defines the search logic for combining multiple terms in the `expression`. */ mode?: ModeWithLiterals; /** * Search term or expression. * @maxLength 100 */ expression?: string | null; /** * Fields to search in. If the array is empty, all searchable fields are searched. Use dot notation to specify a JSON path. For example, `order.address.streetName`. * @maxLength 200 * @maxSize 20 */ fields?: string[]; /** Whether to enable the search function to use an algorithm to automatically find results that are close to the search expression, such as typos and declensions. */ fuzzy?: boolean; } declare enum Mode { /** At least one of the search terms must be present. */ OR = "OR", /** All search terms must be present. */ AND = "AND" } /** @enumType */ type ModeWithLiterals = Mode | 'OR' | 'AND'; interface SearchParticipantsResponse { /** Participants matching the search criteria. */ participants?: Participant[]; /** Paging metadata. */ pagingMetadata?: CursorPagingMetadata; /** Aggregation data in case aggregations were requested. */ aggregationData?: AggregationData; } interface CursorPagingMetadata { /** Number of items returned in current page. */ count?: number | null; /** Cursor strings that point to the next page, previous page, or both. */ cursors?: Cursors; /** * Whether there are more pages to retrieve following the current page. * * + `true`: Another page of results can be retrieved. * + `false`: This is the last page. */ hasNext?: boolean | null; } interface AggregationData { /** * key = aggregation name (as derived from search request). * @maxSize 10000 */ results?: AggregationResults[]; } interface ValueAggregationResult { /** * Value of the field. * @maxLength 100 */ value?: string; /** Count of entities with this value. */ count?: number; } interface RangeAggregationResult { /** Inclusive lower bound of the range. */ from?: number | null; /** Exclusive upper bound of the range. */ to?: number | null; /** Count of entities in this range. */ count?: number; } interface NestedAggregationResults extends NestedAggregationResultsResultOneOf { /** Value aggregation results. */ values?: ValueResults; /** Range aggregation results. */ ranges?: RangeResults; /** Scalar aggregation results. */ scalar?: AggregationResultsScalarResult; /** * User-defined name of aggregation, matches the one provided in request. * @maxLength 100 */ name?: string; /** Type of aggregation that matches result. */ type?: AggregationTypeWithLiterals; /** * Field to aggregate by, matches the one provided in request. * @maxLength 200 */ fieldPath?: string; } /** @oneof */ interface NestedAggregationResultsResultOneOf { /** Value aggregation results. */ values?: ValueResults; /** Range aggregation results. */ ranges?: RangeResults; /** Scalar aggregation results. */ scalar?: AggregationResultsScalarResult; } interface ValueResults { /** * List of value aggregations. * @maxSize 250 */ results?: ValueAggregationResult[]; } interface RangeResults { /** * List of ranges returned in same order as requested. * @maxSize 50 */ results?: RangeAggregationResult[]; } interface AggregationResultsScalarResult { /** Type of scalar aggregation. */ type?: ScalarTypeWithLiterals; /** Value of the scalar aggregation. */ value?: number; } interface NestedValueAggregationResult { /** * Value of the field. * @maxLength 1000 */ value?: string; /** Nested aggregations. */ nestedResults?: NestedAggregationResults; } interface ValueResult { /** * Value of the field. * @maxLength 1000 */ value?: string; /** Count of entities with this value. */ count?: number | null; } interface RangeResult { /** Inclusive lower bound of the range. */ from?: number | null; /** Exclusive upper bound of the range. */ to?: number | null; /** Count of entities in this range. */ count?: number | null; } interface ScalarResult { /** Value of the scalar aggregation. */ value?: number; } interface NestedResultValue extends NestedResultValueResultOneOf { /** Value aggregation result. */ value?: ValueResult; /** Range aggregation result. */ range?: RangeResult; /** Scalar aggregation result. */ scalar?: ScalarResult; /** Date histogram aggregation result. */ dateHistogram?: ValueResult; } /** @oneof */ interface NestedResultValueResultOneOf { /** Value aggregation result. */ value?: ValueResult; /** Range aggregation result. */ range?: RangeResult; /** Scalar aggregation result. */ scalar?: ScalarResult; /** Date histogram aggregation result. */ dateHistogram?: ValueResult; } interface Results { /** List of nested aggregations. */ results?: Record; } interface DateHistogramResult { /** * Date in ISO 8601 format. * @maxLength 100 */ value?: string; /** Count of documents in the bucket. */ count?: number; } interface GroupByValueResults { /** * List of value aggregations. * @maxSize 1000 */ results?: NestedValueAggregationResult[]; } interface DateHistogramResults { /** * List of date histogram aggregations. * @maxSize 200 */ results?: DateHistogramResult[]; } /** * Results of `NESTED` aggregation type in a flattened form. * Aggregations in resulting array are keyed by requested aggregation `name`. */ interface NestedResults { /** * List of nested aggregations. * @maxSize 1000 */ results?: Results[]; } interface AggregationResults extends AggregationResultsResultOneOf { /** Value aggregation results. */ values?: ValueResults; /** Range aggregation results. */ ranges?: RangeResults; /** Scalar aggregation results. */ scalar?: AggregationResultsScalarResult; /** Group by value aggregation results. */ groupedByValue?: GroupByValueResults; /** Date histogram aggregation results. */ dateHistogram?: DateHistogramResults; /** Nested aggregation results. */ nested?: NestedResults; /** * User-defined name of aggregation as derived from search request. * @maxLength 100 */ name?: string; /** Type of aggregation that must match provided kind as derived from search request. */ type?: AggregationTypeWithLiterals; /** * Field to aggregate by as derived from search request. * @maxLength 200 */ fieldPath?: string; } /** @oneof */ interface AggregationResultsResultOneOf { /** Value aggregation results. */ values?: ValueResults; /** Range aggregation results. */ ranges?: RangeResults; /** Scalar aggregation results. */ scalar?: AggregationResultsScalarResult; /** Group by value aggregation results. */ groupedByValue?: GroupByValueResults; /** Date histogram aggregation results. */ dateHistogram?: DateHistogramResults; /** Nested aggregation results. */ nested?: NestedResults; } interface DomainEvent extends DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; /** Event ID. With this ID you can easily spot duplicated events and ignore them. */ id?: string; /** * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities. * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`. */ entityFqdn?: string; /** * Event action name, placed at the top level to make it easier for users to dispatch messages. * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`. */ slug?: string; /** ID of the entity associated with the event. */ entityId?: string; /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */ eventTime?: Date | null; /** * Whether the event was triggered as a result of a privacy regulation application * (for example, GDPR). */ triggeredByAnonymizeRequest?: boolean | null; /** If present, indicates the action that triggered the event. */ originatedFrom?: string | null; /** * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number. * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it. */ entityEventSequence?: string | null; } /** @oneof */ interface DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; } interface EntityCreatedEvent { entityAsJson?: string; /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */ restoreInfo?: RestoreInfo; } interface RestoreInfo { deletedDate?: Date | null; } interface EntityUpdatedEvent { /** * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff. * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects. * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it. */ currentEntityAsJson?: string; } interface EntityDeletedEvent { /** Entity that was deleted. */ deletedEntityAsJson?: string | null; } interface ActionEvent { bodyAsJson?: string; } interface Empty { } interface MessageEnvelope { /** * App instance ID. * @format GUID */ instanceId?: string | null; /** * Event type. * @maxLength 150 */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; /** Stringify payload. */ data?: string; /** Details related to the account */ accountInfo?: AccountInfo; } interface IdentificationData extends IdentificationDataIdOneOf { /** * ID of a site visitor that has not logged in to the site. * @format GUID */ anonymousVisitorId?: string; /** * ID of a site visitor that has logged in to the site. * @format GUID */ memberId?: string; /** * ID of a Wix user (site owner, contributor, etc.). * @format GUID */ wixUserId?: string; /** * ID of an app. * @format GUID */ appId?: string; /** @readonly */ identityType?: WebhookIdentityTypeWithLiterals; } /** @oneof */ interface IdentificationDataIdOneOf { /** * ID of a site visitor that has not logged in to the site. * @format GUID */ anonymousVisitorId?: string; /** * ID of a site visitor that has logged in to the site. * @format GUID */ memberId?: string; /** * ID of a Wix user (site owner, contributor, etc.). * @format GUID */ wixUserId?: string; /** * ID of an app. * @format GUID */ appId?: string; } declare enum WebhookIdentityType { UNKNOWN = "UNKNOWN", ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR", MEMBER = "MEMBER", WIX_USER = "WIX_USER", APP = "APP" } /** @enumType */ type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP'; interface AccountInfo { /** * ID of the Wix account associated with the event. * @format GUID */ accountId?: string | null; /** * ID of the parent Wix account. Only included when accountId belongs to a child account. * @format GUID */ parentAccountId?: string | null; /** * ID of the Wix site associated with the event. Only included when the event is tied to a specific site. * @format GUID */ siteId?: string | null; } interface ExportParticipantsStatsRequest { /** * program id to export data from * @format GUID */ programId: string; } interface ExportParticipantsStatsResponse { } /** @docsIgnore */ type CreateParticipantApplicationErrors = { code?: 'PREMIUM_PLAN_REQUIRED'; description?: string; data?: Record; } | { code?: 'PARTICIPANTS_LIMIT_EXCEEDED'; description?: string; data?: Record; } | { code?: 'ALREADY_EXISTS'; description?: string; data?: Record; }; /** @docsIgnore */ type BulkCreateParticipantsApplicationErrors = { code?: 'MULTIPLE_PROGRAM_IDS_IN_BULK_CREATE'; description?: string; data?: Record; } | { code?: 'ALREADY_EXISTS'; description?: string; data?: Record; } | { code?: 'PREMIUM_PLAN_REQUIRED'; description?: string; data?: Record; } | { code?: 'PARTICIPANTS_LIMIT_EXCEEDED'; description?: string; data?: Record; }; /** @docsIgnore */ type IssueCertificateApplicationErrors = { code?: 'PARTICIPANT_NOT_ACTIVE'; description?: string; data?: Record; } | { code?: 'NO_CERTIFICATE_REWARD'; description?: string; data?: Record; } | { code?: 'PARTICIPANT_NOT_COMPLETED_PROGRAM'; description?: string; data?: Record; }; /** @docsIgnore */ type GetCertificateDownloadUrlApplicationErrors = { code?: 'CERTIFICATE_NOT_ISSUED'; description?: string; data?: Record; } | { code?: 'CERTIFICATE_DOCUMENT_NOT_FOUND'; description?: string; data?: Record; } | { code?: 'CERTIFICATE_NOT_READY'; description?: string; data?: Record; } | { code?: 'CERTIFICATE_RENDER_FAILED'; description?: string; data?: Record; } | { code?: 'CERTIFICATE_EXPIRED'; description?: string; data?: Record; }; /** @docsIgnore */ type BulkUpdateParticipantTagsApplicationErrors = { code?: 'EMPTY_ASSIGN_AND_UNASSIGN_LISTS'; description?: string; data?: Record; }; /** @docsIgnore */ type BulkUpdateParticipantTagsByFilterApplicationErrors = { code?: 'EMPTY_ASSIGN_AND_UNASSIGN_LISTS'; description?: string; data?: Record; }; type __PublicMethodMetaInfo = { getUrl: (context: any) => string; httpMethod: K; path: string; pathParams: M; __requestType: T; __originalRequestType: S; __responseType: Q; __originalResponseType: R; }; declare function createParticipant(): __PublicMethodMetaInfo<'POST', {}, CreateParticipantRequest$1, CreateParticipantRequest, CreateParticipantResponse$1, CreateParticipantResponse>; declare function updateParticipant(): __PublicMethodMetaInfo<'PATCH', { participantId: string; }, UpdateParticipantRequest$1, UpdateParticipantRequest, UpdateParticipantResponse$1, UpdateParticipantResponse>; declare function bulkCreateParticipants(): __PublicMethodMetaInfo<'POST', {}, BulkCreateParticipantsRequest$1, BulkCreateParticipantsRequest, BulkCreateParticipantsResponse$1, BulkCreateParticipantsResponse>; declare function bulkCreateParticipantsForAllMembers(): __PublicMethodMetaInfo<'POST', {}, BulkCreateParticipantsForAllMembersRequest$1, BulkCreateParticipantsForAllMembersRequest, BulkCreateParticipantsForAllMembersResponse$1, BulkCreateParticipantsForAllMembersResponse>; declare function deleteParticipant(): __PublicMethodMetaInfo<'DELETE', { participantId: string; }, DeleteParticipantRequest$1, DeleteParticipantRequest, DeleteParticipantResponse$1, DeleteParticipantResponse>; declare function issueCertificate(): __PublicMethodMetaInfo<'POST', { participantId: string; }, IssueCertificateRequest$1, IssueCertificateRequest, IssueCertificateResponse$1, IssueCertificateResponse>; declare function getCertificateDownloadUrl(): __PublicMethodMetaInfo<'GET', { participantId: string; }, GetCertificateDownloadUrlRequest$1, GetCertificateDownloadUrlRequest, GetCertificateDownloadUrlResponse$1, GetCertificateDownloadUrlResponse>; declare function getPremiumStats(): __PublicMethodMetaInfo<'GET', {}, GetPremiumStatsRequest$1, GetPremiumStatsRequest, GetPremiumStatsResponse$1, GetPremiumStatsResponse>; declare function getParticipationStats(): __PublicMethodMetaInfo<'POST', {}, GetParticipationStatsRequest$1, GetParticipationStatsRequest, GetParticipationStatsResponse$1, GetParticipationStatsResponse>; declare function getParticipant(): __PublicMethodMetaInfo<'GET', { participantId: string; }, GetParticipantRequest$1, GetParticipantRequest, GetParticipantResponse$1, GetParticipantResponse>; declare function queryParticipants(): __PublicMethodMetaInfo<'POST', {}, QueryParticipantsRequest$1, QueryParticipantsRequest, QueryParticipantsResponse$1, QueryParticipantsResponse>; declare function getAccessStatus(): __PublicMethodMetaInfo<'GET', {}, GetAccessStatusRequest$1, GetAccessStatusRequest, GetAccessStatusResponse$1, GetAccessStatusResponse>; declare function bulkUpdateParticipantTags(): __PublicMethodMetaInfo<'POST', {}, BulkUpdateParticipantTagsRequest$1, BulkUpdateParticipantTagsRequest, BulkUpdateParticipantTagsResponse$1, BulkUpdateParticipantTagsResponse>; declare function bulkUpdateParticipantTagsByFilter(): __PublicMethodMetaInfo<'POST', {}, BulkUpdateParticipantTagsByFilterRequest$1, BulkUpdateParticipantTagsByFilterRequest, BulkUpdateParticipantTagsByFilterResponse$1, BulkUpdateParticipantTagsByFilterResponse>; declare function searchParticipants(): __PublicMethodMetaInfo<'POST', {}, SearchParticipantsRequest$1, SearchParticipantsRequest, SearchParticipantsResponse$1, SearchParticipantsResponse>; declare function exportParticipantsStats(): __PublicMethodMetaInfo<'GET', { programId: string; }, ExportParticipantsStatsRequest$1, ExportParticipantsStatsRequest, ExportParticipantsStatsResponse$1, ExportParticipantsStatsResponse>; export { type AccountInfo as AccountInfoOriginal, type ActionEvent as ActionEventOriginal, type AggregationData as AggregationDataOriginal, type AggregationKindOneOf as AggregationKindOneOfOriginal, type Aggregation as AggregationOriginal, type AggregationResults as AggregationResultsOriginal, type AggregationResultsResultOneOf as AggregationResultsResultOneOfOriginal, type AggregationResultsScalarResult as AggregationResultsScalarResultOriginal, AggregationType as AggregationTypeOriginal, type AggregationTypeWithLiterals as AggregationTypeWithLiteralsOriginal, type ApplicationError as ApplicationErrorOriginal, type BulkActionMetadata as BulkActionMetadataOriginal, BulkActionType as BulkActionTypeOriginal, type BulkActionTypeWithLiterals as BulkActionTypeWithLiteralsOriginal, type BulkCreateParticipantsApplicationErrors as BulkCreateParticipantsApplicationErrorsOriginal, type BulkCreateParticipantsForAllMembersRequest as BulkCreateParticipantsForAllMembersRequestOriginal, type BulkCreateParticipantsForAllMembersResponse as BulkCreateParticipantsForAllMembersResponseOriginal, type BulkCreateParticipantsRequest as BulkCreateParticipantsRequestOriginal, type BulkCreateParticipantsResponse as BulkCreateParticipantsResponseOriginal, type BulkParticipantMigrationResult as BulkParticipantMigrationResultOriginal, type BulkParticipantResult as BulkParticipantResultOriginal, type BulkUpdateParticipantTagsApplicationErrors as BulkUpdateParticipantTagsApplicationErrorsOriginal, type BulkUpdateParticipantTagsByFilterApplicationErrors as BulkUpdateParticipantTagsByFilterApplicationErrorsOriginal, type BulkUpdateParticipantTagsByFilterRequest as BulkUpdateParticipantTagsByFilterRequestOriginal, type BulkUpdateParticipantTagsByFilterResponse as BulkUpdateParticipantTagsByFilterResponseOriginal, type BulkUpdateParticipantTagsRequest as BulkUpdateParticipantTagsRequestOriginal, type BulkUpdateParticipantTagsResponse as BulkUpdateParticipantTagsResponseOriginal, type BulkUpdateParticipantTagsResult as BulkUpdateParticipantTagsResultOriginal, type BulkUpsertParticipantsMigrationRequest as BulkUpsertParticipantsMigrationRequestOriginal, type BulkUpsertParticipantsMigrationResponse as BulkUpsertParticipantsMigrationResponseOriginal, type CertificateInfo as CertificateInfoOriginal, type CreateParticipantApplicationErrors as CreateParticipantApplicationErrorsOriginal, type CreateParticipantRequest as CreateParticipantRequestOriginal, type CreateParticipantResponse as CreateParticipantResponseOriginal, type CursorPagingMetadata as CursorPagingMetadataOriginal, type CursorPaging as CursorPagingOriginal, type CursorSearch as CursorSearchOriginal, type CursorSearchPagingMethodOneOf as CursorSearchPagingMethodOneOfOriginal, type Cursors as CursorsOriginal, type DateHistogramAggregation as DateHistogramAggregationOriginal, type DateHistogramResult as DateHistogramResultOriginal, type DateHistogramResults as DateHistogramResultsOriginal, type DeleteAllParticipantsMigrationRequest as DeleteAllParticipantsMigrationRequestOriginal, type DeleteAllParticipantsMigrationResponse as DeleteAllParticipantsMigrationResponseOriginal, type Delete as DeleteOriginal, type DeleteParticipantRequest as DeleteParticipantRequestOriginal, type DeleteParticipantResponse as DeleteParticipantResponseOriginal, type DomainEventBodyOneOf as DomainEventBodyOneOfOriginal, type DomainEvent as DomainEventOriginal, type Empty as EmptyOriginal, type EnrollmentInfo as EnrollmentInfoOriginal, type EnrollmentInfoPricingTypeDetailsOneOf as EnrollmentInfoPricingTypeDetailsOneOfOriginal, EnrollmentStatus as EnrollmentStatusOriginal, type EnrollmentStatusWithLiterals as EnrollmentStatusWithLiteralsOriginal, type EntityCreatedEvent as EntityCreatedEventOriginal, type EntityDeletedEvent as EntityDeletedEventOriginal, type EntityUpdatedEvent as EntityUpdatedEventOriginal, type ExportParticipantsStatsRequest as ExportParticipantsStatsRequestOriginal, type ExportParticipantsStatsResponse as ExportParticipantsStatsResponseOriginal, type ExtendedFields as ExtendedFieldsOriginal, type FreeCouponDetails as FreeCouponDetailsOriginal, type GetAccessStatusRequest as GetAccessStatusRequestOriginal, type GetAccessStatusResponse as GetAccessStatusResponseOriginal, type GetCertificateDownloadUrlApplicationErrors as GetCertificateDownloadUrlApplicationErrorsOriginal, type GetCertificateDownloadUrlRequest as GetCertificateDownloadUrlRequestOriginal, type GetCertificateDownloadUrlResponse as GetCertificateDownloadUrlResponseOriginal, type GetCompletionStatsRequest as GetCompletionStatsRequestOriginal, type GetCompletionStatsResponse as GetCompletionStatsResponseOriginal, type GetParticipantRequest as GetParticipantRequestOriginal, type GetParticipantResponse as GetParticipantResponseOriginal, type GetParticipationStatsRequest as GetParticipationStatsRequestOriginal, type GetParticipationStatsResponse as GetParticipationStatsResponseOriginal, type GetPremiumStatsRequest as GetPremiumStatsRequestOriginal, type GetPremiumStatsResponse as GetPremiumStatsResponseOriginal, type GroupByAggregationKindOneOf as GroupByAggregationKindOneOfOriginal, type GroupByAggregation as GroupByAggregationOriginal, type GroupByValueResults as GroupByValueResultsOriginal, type IdentificationDataIdOneOf as IdentificationDataIdOneOfOriginal, type IdentificationData as IdentificationDataOriginal, type IncludeMissingValuesOptions as IncludeMissingValuesOptionsOriginal, Interval as IntervalOriginal, type IntervalWithLiterals as IntervalWithLiteralsOriginal, type IssueCertificateApplicationErrors as IssueCertificateApplicationErrorsOriginal, type IssueCertificateRequest as IssueCertificateRequestOriginal, type IssueCertificateResponse as IssueCertificateResponseOriginal, type ItemMetadata as ItemMetadataOriginal, type Member as MemberOriginal, type MessageEnvelope as MessageEnvelopeOriginal, MissingValues as MissingValuesOriginal, type MissingValuesWithLiterals as MissingValuesWithLiteralsOriginal, Mode as ModeOriginal, type ModeWithLiterals as ModeWithLiteralsOriginal, type NestedAggregationItemKindOneOf as NestedAggregationItemKindOneOfOriginal, type NestedAggregationItem as NestedAggregationItemOriginal, type NestedAggregation as NestedAggregationOriginal, type NestedAggregationResults as NestedAggregationResultsOriginal, type NestedAggregationResultsResultOneOf as NestedAggregationResultsResultOneOfOriginal, NestedAggregationType as NestedAggregationTypeOriginal, type NestedAggregationTypeWithLiterals as NestedAggregationTypeWithLiteralsOriginal, type NestedResultValue as NestedResultValueOriginal, type NestedResultValueResultOneOf as NestedResultValueResultOneOfOriginal, type NestedResults as NestedResultsOriginal, type NestedValueAggregationResult as NestedValueAggregationResultOriginal, type PagingMetadataV2 as PagingMetadataV2Original, type Paging as PagingOriginal, type PaidPlanDetails as PaidPlanDetailsOriginal, type ParticipantCompletedProgram as ParticipantCompletedProgramOriginal, type ParticipantLeft as ParticipantLeftOriginal, type ParticipantMigration as ParticipantMigrationOriginal, type ParticipantMissedProgramDeadline as ParticipantMissedProgramDeadlineOriginal, type Participant as ParticipantOriginal, type ParticipantProgramDurationEnded as ParticipantProgramDurationEndedOriginal, type ParticipantRemoved as ParticipantRemovedOriginal, type ParticipantTagsModified as ParticipantTagsModifiedOriginal, PricingType as PricingTypeOriginal, type PricingTypeWithLiterals as PricingTypeWithLiteralsOriginal, type ProgramParticipationStats as ProgramParticipationStatsOriginal, type Progress as ProgressOriginal, ProgressStatus as ProgressStatusOriginal, type ProgressStatusWithLiterals as ProgressStatusWithLiteralsOriginal, type QueryParticipantsRequest as QueryParticipantsRequestOriginal, type QueryParticipantsResponse as QueryParticipantsResponseOriginal, type QueryV2 as QueryV2Original, type QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOfOriginal, type RangeAggregation as RangeAggregationOriginal, type RangeAggregationResult as RangeAggregationResultOriginal, type RangeBucket as RangeBucketOriginal, type RangeResult as RangeResultOriginal, type RangeResults as RangeResultsOriginal, type ReindexMessageActionOneOf as ReindexMessageActionOneOfOriginal, type ReindexMessage as ReindexMessageOriginal, type ReindexParticipantsSearchRequest as ReindexParticipantsSearchRequestOriginal, type ReindexParticipantsSearchResponse as ReindexParticipantsSearchResponseOriginal, RemovalReason as RemovalReasonOriginal, type RemovalReasonWithLiterals as RemovalReasonWithLiteralsOriginal, RequestedFields as RequestedFieldsOriginal, type RequestedFieldsWithLiterals as RequestedFieldsWithLiteralsOriginal, type RestoreInfo as RestoreInfoOriginal, type Results as ResultsOriginal, type ScalarAggregation as ScalarAggregationOriginal, type ScalarResult as ScalarResultOriginal, ScalarType as ScalarTypeOriginal, type ScalarTypeWithLiterals as ScalarTypeWithLiteralsOriginal, type Schema as SchemaOriginal, type SearchDetails as SearchDetailsOriginal, type SearchParticipantsRequest as SearchParticipantsRequestOriginal, type SearchParticipantsResponse as SearchParticipantsResponseOriginal, type SinglePaymentDetails as SinglePaymentDetailsOriginal, SortDirection as SortDirectionOriginal, type SortDirectionWithLiterals as SortDirectionWithLiteralsOriginal, SortOrder as SortOrderOriginal, type SortOrderWithLiterals as SortOrderWithLiteralsOriginal, SortType as SortTypeOriginal, type SortTypeWithLiterals as SortTypeWithLiteralsOriginal, type Sorting as SortingOriginal, type SynchronizeTimeCapsuleTasksRequest as SynchronizeTimeCapsuleTasksRequestOriginal, type SynchronizeTimeCapsuleTasksResponse as SynchronizeTimeCapsuleTasksResponseOriginal, type TagList as TagListOriginal, type Tags as TagsOriginal, type UpdateParticipantRequest as UpdateParticipantRequestOriginal, type UpdateParticipantResponse as UpdateParticipantResponseOriginal, type Upsert as UpsertOriginal, type ValueAggregationOptionsOneOf as ValueAggregationOptionsOneOfOriginal, type ValueAggregation as ValueAggregationOriginal, type ValueAggregationResult as ValueAggregationResultOriginal, type ValueResult as ValueResultOriginal, type ValueResults as ValueResultsOriginal, WebhookIdentityType as WebhookIdentityTypeOriginal, type WebhookIdentityTypeWithLiterals as WebhookIdentityTypeWithLiteralsOriginal, type __PublicMethodMetaInfo, bulkCreateParticipants, bulkCreateParticipantsForAllMembers, bulkUpdateParticipantTags, bulkUpdateParticipantTagsByFilter, createParticipant, deleteParticipant, exportParticipantsStats, getAccessStatus, getCertificateDownloadUrl, getParticipant, getParticipationStats, getPremiumStats, issueCertificate, queryParticipants, searchParticipants, updateParticipant };