About the Participations API

The Participations API lets you manage participation details for events and schedules.

With the Participations API, you can:

  • Create and update participation objects.
  • Retrieve participation objects.
  • Delete participation objects.

For more in-depth event management, see:

Before you begin

It’s important to note the following points before starting to code:

  • Whenever you create, update, or delete a participation object, the corresponding events' participants and remainingCapacity fields are automatically updated.
  • Depending on your implementation, either the business owner or the participant may have to confirm participation. For example, in Wix Bookings the business owner needs to confirm bookings.
  • Wix Bookings automatically manages participation details. Therefore, you shouldn't create, update, or delete participations when extending Wix Bookings. Doing so may lead to data inconsistencies and unexpected behavior in your implementation.

Use cases

Terminology

  • Participation: Representation of the relationship between a participant and an event or schedule. It includes details about the participant, whether the participation status is confirmed or pending, which app owns the relevant event or schedule, and allows for custom data extensions.
  • Status: Status of the party's participation in the event. Depending on your implementation, either the business owner or the participant may have to confirm participation. For example, in Wix Bookings the business owner must confirm bookings.
Did this help?

Supported Filters

Filtering

The following table shows field support for filters for the participation object in Query Participations.

FieldSupported Filters
idin
eventIdeq, in
scheduleIdeq, in
externalIdeq, in

To learn about working with Query endpoints in general, see API Query Language.

Sorting

The response in Query Participations is always sorted by createdDate. The default sort order is descending.

FieldOrder
createdDateASC, DESC
Did this help?

Participation Object


The participation object represents the relationship between a participant and an event or schedule. It includes details about the participant, whether the participation status is confirmed or pending, which app owns the relevant event or schedule, and allows for custom data extensions.

Properties
idstringRead-onlyformat GUID

Participation ID.


externalIdstringformat GUID

External ID.


participantParticipant

Information about the participant.


partySizeintegerminimum 1maximum 1000format int32

Party size of the group or 1 for individuals.

Min: 1 Max: 1000


statusstring

Status of the party's participation in the event. Depending on your implementation, confirmation may be handled by the business owner or the customer.

Supported values:

  • CONFIRMED: The party's participation is confirmed. For example, the business owner has confirmed a booking.
  • PENDING_CONFIRMATION: The party's participation is awaiting confirmation. For example, the business owner still needs to approve the booking.

Default: CONFIRMED


appIdstringRead-onlyformat GUID

ID of the app that owns the participation object. Identical to appId of the schedule that the related event belongs to.


revisionintegerRead-onlyformat int64

Revision number, which increments by 1 each time the participation is updated. To prevent conflicting changes, the current revision must be passed when updating the participation. Ignored when creating a participation.


createdDatestringRead-onlyformat date-time

Date the participation was created in YYYY-MM-DDThh:mm:ss.sssZ format.


updatedDatestringRead-onlyformat date-time

Date the participation was updated in YYYY-MM-DDThh:mm:ss.sssZ format.


extendedFieldsExtendedFields

Extensions enabling applications or users to save custom data related to the participation.


ONE OF:

scheduleIdstringformat GUID

ID of the schedule associated with the participation.


eventIdstringminLength 36maxLength 250

ID of the event associated with the participation.

Did this help?

GET

Get Participation


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Retrieves a participation object.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Bookings - all permissions
Manage Bookings
Manage Calendars
Learn more about app permissions.
Endpoint
GET
https://www.wixapis.com/calendar/v3/participations/{participationId}

Path Params
participationIdstringRequired

ID of the participation object to retrieve.

Response Object
participationParticipation

Retrieved participation object.

Get Participation
Request
cURL
curl -X GET \ 'https://www.wixapis.com/calendar/v3/participations/b123e549-eb05-4c6e-8dab-0409c7ebc006' \ -H 'Content-Type: application/json' \ -H 'Authorization: <AUTH>'
Response
JSON
{ "participation": { "id": "b123e549-eb05-4c6e-8dab-0409c7ebc006", "externalId": "c7e4cd82-1d17-49b0-b1df-6e1eaed60a20", "participant": { "name": "Jane Doe", "phone": "55-555-5555", "email": "jane.doe@example.com", "contactId": "5f4a86c5-fadf-427e-96e7-d57c14a4f49d" }, "eventId": "130o4ncdcmm8csGKUihodsF8Lnx5vQuUmP9uqeurIYireDpysq5nOxSIMvXKf80QrOXzc09i1GXRepTUj2L01bzmifAqWHwp2pTmmtR3TmHJx7Tv6ODrmgS", "partySize": 1, "status": "CONFIRMED", "appId": "13d21c63-b5ec-5912-8397-c3a5ddb27a97", "revision": "1", "createdDate": "2024-10-07T09:14:54.796Z", "updatedDate": "2024-10-07T09:14:54.796Z" } }
Did this help?

DELETE

Delete Participation


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Deletes a participation object.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Bookings - all permissions
Manage Bookings
Manage Calendars
Learn more about app permissions.
Endpoint
DELETE
https://www.wixapis.com/calendar/v3/participations/{participationId}

Path Params
participationIdstringRequired

ID of participation object to delete.

Response Object
Returns an empty object.
Delete Participation
Request
cURL
curl -X DELETE \ 'https://www.wixapis.com/calendar/v3/participations/b123e549-eb05-4c6e-8dab-0409c7ebc006' \ -H 'Content-Type: application/json' \ -H 'Authorization: <AUTH>'
Response
JSON
{}
Event TriggersThis method triggers the following events:
Did this help?

POST

Query Participations


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Retrieves a list of participations, given the provided paging, filtering, and sorting.

Query Participations runs with these defaults, which you can override:

  • createdDate is sorted in DESC order
  • cursorPaging.limit is 50

For field support for filters and sorting, see Calendar Participations V3: Supported Filters and Sorting.

To learn about working with Query endpoints, see API Query Language, Sorting and Paging, and Field Projection.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Bookings - all permissions
Manage Bookings
Manage Calendars
Learn more about app permissions.
Endpoint
POST
https://www.wixapis.com/calendar/v3/participations/query

Body Params
queryQuery

Query containing filters and paging.

Response Object
participationsArray <Participation>

Retrieved participation objects matching the provided query.


pagingMetadataPagingMetadata

Paging metadata.

Did this help?

POST

Create Participation


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Creates a participation object for a schedule or event.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Bookings - all permissions
Manage Bookings
Manage Calendars
Learn more about app permissions.
Endpoint
POST
https://www.wixapis.com/calendar/v3/participations

Body Params
participationParticipationRequired

participation object to create.


idempotencyKeystringformat GUID

Idempotency key guaranteeing that you don't create the same participation object more than once.

Response Object
participationParticipation

Created participation object.

Create Participation

Creates an event participation.

Request
cURL
curl -X POST \ 'https://www.wixapis.com/calendar/v3/participations' \ -H 'Content-Type: application/json' \ -H 'Authorization: <AUTH>' \ -d '{ "participation": { "eventId": "130o4ncdcmm8csGKUihodsF8Lnx5vQuUmP9uqeurIYireDpysq5nOxSIMvXKf80QrOXzc09i1GXRepTUj2L01bzmifAqWHwp2pTmmtR3TmHJx7Tv6ODrmgS", "externalId": "c7e4cd82-1d17-49b0-b1df-6e1eaed60a20", "participant": { "contactId": "5f4a86c5-fadf-427e-96e7-d57c14a4f49d", "email": "jane.doe@example.com", "name": "Jane Doe", "phone": "55-555-5555" }, "partySize": 1, "status": "CONFIRMED" } }'
Response
JSON
{ "participation": { "id": "b123e549-eb05-4c6e-8dab-0409c7ebc006", "externalId": "c7e4cd82-1d17-49b0-b1df-6e1eaed60a20", "participant": { "name": "Jane Doe", "phone": "55-555-5555", "email": "jane.doe@example.com", "contactId": "5f4a86c5-fadf-427e-96e7-d57c14a4f49d" }, "eventId": "130o4ncdcmm8csGKUihodsF8Lnx5vQuUmP9uqeurIYireDpysq5nOxSIMvXKf80QrOXzc09i1GXRepTUj2L01bzmifAqWHwp2pTmmtR3TmHJx7Tv6ODrmgS", "partySize": 1, "status": "CONFIRMED", "appId": "13d21c63-b5ec-5912-8397-c3a5ddb27a97", "revision": "1", "createdDate": "2024-10-07T09:14:54.796Z", "updatedDate": "2024-10-07T09:14:54.796Z" } }
Event TriggersThis method triggers the following events:
Did this help?

PATCH

Update Participation


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Updates a participation object.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Bookings - all permissions
Manage Bookings
Manage Calendars
Learn more about app permissions.
Endpoint
PATCH
https://www.wixapis.com/calendar/v3/participations/{participation.id}

Path Params
participation.idstringRequired

Participation ID.

Body Params
participationParticipationRequired

participation object to update.

Response Object
participationParticipation

Updated participation object.

Update Participation

Updates a participation's party size.

Request
cURL
curl -X PATCH \ 'https://www.wixapis.com/calendar/v3/participations/b123e549-eb05-4c6e-8dab-0409c7ebc006' \ -H 'Content-Type: application/json' \ -H 'Authorization: <AUTH>' \ -d '{ "participation": { "partySize": 5, "revision": "1" } }'
Response
JSON
{ "participation": { "id": "b123e549-eb05-4c6e-8dab-0409c7ebc006", "externalId": "c7e4cd82-1d17-49b0-b1df-6e1eaed60a20", "participant": { "name": "Jane Doe", "phone": "55-555-5555", "email": "jane.doe@example.com", "contactId": "5f4a86c5-fadf-427e-96e7-d57c14a4f49d" }, "eventId": "130o4ncdcmm8csGKUihodsF8Lnx5vQuUmP9uqeurIYireDpysq5nOxSIMvXKf80QrOXzc09i1GXRepTUj2L01bzmifAqWHwp2pTmmtR3TmHJx7Tv6ODrmgS", "partySize": 5, "status": "CONFIRMED", "appId": "13d21c63-b5ec-5912-8397-c3a5ddb27a97", "revision": "2", "createdDate": "2024-10-07T09:14:54.796Z", "updatedDate": "2024-10-07T09:17:24.935Z" } }
Event TriggersThis method triggers the following events:
Did this help?

Participation Created


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Triggered when a participation object is created.

Permissions
Manage Bookings - all permissions
Manage Bookings
Manage Calendars
Learn more about app permissions.
Event BodyEvent Body Event data is received as a JSON Web Token (JWT). It may be delayed. Be sure to verify the data was sent by Wix.
Event Data
idstring

Unique event ID. Allows clients to ignore duplicate webhooks.


entityFqdnstring

Fully qualified domain name of the entity associated with the event. Expected wix.calendar.v3.participation.


slugstring

Event name. Expected created.


entityIdstring

ID of the entity associated with the event.


eventTimestringformat date-time

Event timestamp.


triggeredByAnonymizeRequestboolean

Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).


originatedFromstring

If present, indicates the action that triggered the event.


createdEventCreatedEvent

Event information.

Event Body

The data payload will include the following as an encoded JWT:

JSON
{ "data": { "eventType": "wix.calendar.v3.participation_created", "instanceId": "<app-instance-id>", "data": "<stringified-JSON>", // The identity field is sent as a stringified JSON "identity": { "identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP "anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR "memberId": "<memberId>", // in case of MEMBER "wixUserId": "<wixUserId>", // in case of WIX_USER "appId": "<appId>" // in case of APP } } }

ParticipationCreated
JSON
{ "id": "9c8e5653-6d37-4bc2-9b28-2ad8ee5efa82", "entityFqdn": "wix.calendar.v3.participation", "slug": "created", "entityId": "b9d81e37-3883-4318-b746-dcf2e6c0fc01", "createdEvent": { "entity": { "id": "b9d81e37-3883-4318-b746-dcf2e6c0fc01", "externalId": "c7e4cd82-1d17-49b0-b1df-6e1eaed60a20", "participant": { "name": "Jane Doe", "phone": "55-555-5555", "email": "jane.doe@example.com", "contactId": "5f4a86c5-fadf-427e-96e7-d57c14a4f49d" }, "eventId": "130o4ncdcmm8csGKUihodsF8Lnx5vQuUmP9uqeurIYireDpysq5nOxSIMvXKf80QrOXzc09i1GXRepTUj2L01bzmifAqWHwp2pTmmtR3TmHJx7Tv6ODrmgS", "partySize": 1, "status": "CONFIRMED", "appId": "13d21c63-b5ec-5912-8397-c3a5ddb27a97", "revision": "1", "createdDate": "2024-10-15T11:29:39.013Z", "updatedDate": "2024-10-15T11:29:39.013Z" } }, "eventTime": "2024-10-15T11:29:39.041491431Z", "triggeredByAnonymizeRequest": false, "entityEventSequence": "1" }
Did this help?

Participation Updated


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Triggered when a participation object is updated.

Permissions
Manage Bookings - all permissions
Manage Bookings
Manage Calendars
Learn more about app permissions.
Event BodyEvent Body Event data is received as a JSON Web Token (JWT). It may be delayed. Be sure to verify the data was sent by Wix.
Event Data
idstring

Unique event ID. Allows clients to ignore duplicate webhooks.


entityFqdnstring

Fully qualified domain name of the entity associated with the event. Expected wix.calendar.v3.participation.


slugstring

Event name. Expected updated.


entityIdstring

ID of the entity associated with the event.


eventTimestringformat date-time

Event timestamp.


triggeredByAnonymizeRequestboolean

Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).


originatedFromstring

If present, indicates the action that triggered the event.


updatedEventUpdatedEvent

Event information.

Event Body

The data payload will include the following as an encoded JWT:

JSON
{ "data": { "eventType": "wix.calendar.v3.participation_updated", "instanceId": "<app-instance-id>", "data": "<stringified-JSON>", // The identity field is sent as a stringified JSON "identity": { "identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP "anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR "memberId": "<memberId>", // in case of MEMBER "wixUserId": "<wixUserId>", // in case of WIX_USER "appId": "<appId>" // in case of APP } } }

ParticipationUpdated
JSON
{ "id": "8264f9ad-fc9f-4694-b4ad-48dd35b44abc", "entityFqdn": "wix.calendar.v3.participation", "slug": "updated", "entityId": "b9d81e37-3883-4318-b746-dcf2e6c0fc01", "updatedEvent": { "currentEntity": { "id": "b9d81e37-3883-4318-b746-dcf2e6c0fc01", "externalId": "c7e4cd82-1d17-49b0-b1df-6e1eaed60a20", "participant": { "name": "Jane Doe", "phone": "55-555-5555", "email": "jane.doe@example.com", "contactId": "5f4a86c5-fadf-427e-96e7-d57c14a4f49d" }, "eventId": "130o4ncdcmm8csGKUihodsF8Lnx5vQuUmP9uqeurIYireDpysq5nOxSIMvXKf80QrOXzc09i1GXRepTUj2L01bzmifAqWHwp2pTmmtR3TmHJx7Tv6ODrmgS", "partySize": 2, "status": "CONFIRMED", "appId": "13d21c63-b5ec-5912-8397-c3a5ddb27a97", "revision": "2", "createdDate": "2024-10-15T11:29:39.013Z", "updatedDate": "2024-10-15T11:31:57.401Z" } }, "eventTime": "2024-10-15T11:31:57.476860938Z", "triggeredByAnonymizeRequest": false, "entityEventSequence": "2" }
Did this help?

Participation Deleted


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Triggered when a participation object is deleted.

Permissions
Manage Bookings - all permissions
Manage Bookings
Manage Calendars
Learn more about app permissions.
Event BodyEvent Body Event data is received as a JSON Web Token (JWT). It may be delayed. Be sure to verify the data was sent by Wix.
Event Data
idstring

Unique event ID. Allows clients to ignore duplicate webhooks.


entityFqdnstring

Fully qualified domain name of the entity associated with the event. Expected wix.calendar.v3.participation.


slugstring

Event name. Expected deleted.


entityIdstring

ID of the entity associated with the event.


eventTimestringformat date-time

Event timestamp.


triggeredByAnonymizeRequestboolean

Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).


originatedFromstring

If present, indicates the action that triggered the event.


deletedEventstruct

Event information.

Event Body

The data payload will include the following as an encoded JWT:

JSON
{ "data": { "eventType": "wix.calendar.v3.participation_deleted", "instanceId": "<app-instance-id>", "data": "<stringified-JSON>", // The identity field is sent as a stringified JSON "identity": { "identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP "anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR "memberId": "<memberId>", // in case of MEMBER "wixUserId": "<wixUserId>", // in case of WIX_USER "appId": "<appId>" // in case of APP } } }

ParticipationDeleted
JSON
{ "id": "1f56a92a-b5ae-4aa1-88dd-4b01353a1679", "entityFqdn": "wix.calendar.v3.participation", "slug": "deleted", "entityId": "b9d81e37-3883-4318-b746-dcf2e6c0fc01", "deletedEvent": { "movedToTrash": null, "deletedEntity": null }, "eventTime": "2024-10-15T11:33:34.916846821Z", "triggeredByAnonymizeRequest": false, "entityEventSequence": "9223372036854775807" }
Did this help?