About the Events API

The Events API lets you manage calendar entries for a schedule. Events inherit default values from their schedule, ensuring consistency across related events. However, you can override each event's default values as needed.

To set up recurring events, define an event with recurrencePattern - known as the MASTER event. Then, INSTANCE events that hold details for each occurrence are automatically created based on this pattern.

With the Events API, you can:

  • Create and update single-occurrence and MASTER events.
  • Create EXCEPTION events by updating an INSTANCE event.
  • Retrieve events.
  • Cancel events.
  • Track in real-time when an event is created or modified.

For more in-depth event management, see:

Before you begin

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

  • An event must belong to exactly one schedule.
  • You can't create instances of recurring events. Instead, Wix Calendars automatically creates INSTANCE events when you set a recurrenceRule in the MASTER event.
  • Currently, you can define recurrence patterns based only on weeks. For example, every week or every 3 weeks. You can't define recurrence rules based on days, months, or years yet.
  • To schedule a recurring event on multiple days of the week, you must currently define separate MASTER events. For example, if an event recurs on Mondays, Wednesdays, and Fridays, you need to set up 3 distinct MASTER events.
  • You can't directly create exceptions for recurring events. When you update an INSTANCE event, Wix Calendars automatically changes its recurrenceType to EXCEPTION.
  • By default, WORKING_HOURS events aren't returned in Query Events.
  • You can't directly manage participants on an event. Use the Participations API to do so.

Use cases

Terminology

  • Event: A calendar entry that includes details such as timing, location, and participants. Each event is associated with a schedule and can inherit default values. Events can be standalone or part of a recurring series. They can block time or allow concurrent scheduling on the calendar.
  • Recurrence type: Information about whether the event is a single occurrence, defines a recurring series, or is part of a recurring series.
    • NONE: An event that takes place only once. Single-occurrence events don't include a recurrenceRule.
    • MASTER event: Defines the recurrence pattern for a series of recurring events.
    • INSTANCE event: A specific occurrence within a recurring series. You can't directly create an event with {"recurrenceType": "INSTANCE"}, instead it's automatically generated based on the recurrence rule. When you update an INSTANCE, it automatically changes to an EXCEPTION.
    • EXCEPTION event: A modified instance within a recurring series. For example, an event with a different time or location. Exceptions are created automatically when you modify an INSTANCE event.
  • Role: You can assign permissions to Wix users to control their access to an event. For more details, see the permissions article.
    • Writer: Can read and modify the event.
    • Commenter: Can read the event and modify the event notes.
  • Status: Indicates whether an event can be updated or if it’s permanently CANCELLED.
  • Type: Specifies whether the event adds WORKING_HOURS to a schedule. Bookings APIs also use this field to indicate if the event is an APPOINTMENT, CLASS, or COURSE.
Did this help?

Recurring Events

Recurring events repeat based on a pattern defined by a recurrenceRule. For example, weekly yoga classes or regular staff working hours. To create a recurring event, specify a recurrenceRule when creating an event. This event, known as a MASTER event, defines the recurrence for the series. Wix Calendars then automatically generates INSTANCE events in the series.

Recurrence Rule

The recurrenceRule sets the repeat pattern for recurring events, with the following properties:

  • frequency: The interval unit for recurrence. Currently, only WEEKLY frequency is supported.
  • interval: Determines how often the event recurs. For example, every week or every 2 weeks.
  • days: Specifies the days of the week the event occurs. For example, MONDAY.
  • until (optional): Sets an end date to stop repeating.

Instances and Exceptions

Individual occurrences in a recurring series are automatically generated and have a recurrenceType of INSTANCE.

If an instance is modified (for example, to adjust the time or location), it becomes an EXCEPTION. Even if the EXCEPTION is later updated to revert the modifications, its recurrenceType remains EXCEPTION. The event's id remains constant throughout its lifecycle.

However, the ID of an INSTANCE event may change. This can happen, for example, when the relevant MASTER event's recurrenceRule is modified.

Update MASTER events

Changes made to a MASTER event only affect future INSTANCE events, while past instances remain unchanged to preserve historical accuracy. Use Update Event to modify the MASTER event.

Split recurring event

If you want to apply modifications starting from a specific future date that's after the very next INSTANCE event, use Split Recurring Event first. This splits the original MASTER event into 2, shortening the original and creating a second MASTER event. Then, use Update Event on the new MASTER event to apply your adjustments.

Did this help?

Supported Filters and Sorting

Filtering

The following table shows field support for filters for the event object in Query Events.

FieldSupported Filters
appIdeq, in
scheduleIdeq, in
externalScheduleIdeq, in
typeeq, in
recurringEventIdeq, in
transparencyeq
locationexists
location.typeeq, in
location.ideq, in
resources.idhasSome, hasAll
resources.typehasSome, hasAll
resources.scheduleIdhasSome, hasAll
resources.transparencyhasSome, hasAll
totalCapacityeq, ne, gt, lt, gte, lte, exists
remainingCapacityeq, ne, gt, lt, gte, lte
participants.totaleq, ne, gt, lt, gte, lte
conferencingDetailsexists

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

Sorting

By default, the response in Query Events is sorted by event.start object in ascending order. You can also sort by end date in descending order.

FieldOrder
startASC
endDESC
Did this help?

Event Object


An event is a scheduled entry on a calendar that includes details like timing, location, and participants. Each event is associated with a schedule, from which it may inherit default values. Events can either be standalone, part of a recurring series, or define a recurrence pattern. You can also specify whether events block time on the schedule or allow other events to be scheduled concurrently.

Properties
idstringRead-onlyminLength 36maxLength 250

Event ID.


scheduleIdstringformat GUID

ID of the schedule the event belongs to. After creating an event, you can't assign it to a different schedule.


externalScheduleIdstringRead-onlyformat GUID

ID of the external schedule the event belongs to.

For example, if the event belongs to a Bookings staff member, identical to the ID of the resource. If the schedule belongs to a Bookings service, identical to the ID of the service.


scheduleNamestringRead-only

Schedule name.


typestring

Event type. You can set the event type but you can't update it.

Supported values:

  • DEFAULT: A standard event that's not further specified.
  • WORKING_HOURS: The event adds working hours to a schedule. By default not returned in Query Events.

Additional supported values, if Wix Bookings is installed:

  • APPOINTMENT: Bookings appointment event.
  • CLASS: Bookings class event.
  • COURSE: Bookings course event.

statusstringRead-only

Event status.

Supported values:

  • CONFIRMED: Event is scheduled to happen or has happened.
  • CANCELLED: Event has been canceled.

Default: CONFIRMED


titlestringminLength 1maxLength 200

Event title.

Min: 1 character Max: 200 characters


startStart

Information about when the event starts.


endEnd

Information about when the event ends.

Maximum allowed date: Year 2100, or up to 100 years from the event's start date (whichever comes first).


adjustedStartAdjustedStartRead-only

Information about when the event starts adjusted to the timeZone of the business site properties or a different timeZone you provide in the call's request.


adjustedEndAdjustedEndRead-only

Information about when the event ends adjusted to the timeZone of the business site properties or a different timeZone you provide in the call's request.


timeZonestring

Time zone the event is associated with in IANA tz database format. Only regional time zones and UTC are supported. For example, America/New_York or UTC.

Default: timeZone of the schedule.


recurrenceTypestringRead-only

Information about whether the event is a single occurrence or part of a recurring series.

Supported values:

  • NONE: The event occurs only once and doesn't repeat.
  • MASTER: Defines the recurrence pattern for a series of recurring events.
  • INSTANCE: A specific occurrence of a recurring event. You can't create an event with {"recurrenceType": "INSTANCE"}, instead it's automatically generated based on the recurrence rule. If you update an INSTANCE event, recurrenceType automatically changes to EXCEPTION.
  • EXCEPTION: A modified instance of a recurring event that differs from the recurrence pattern. For example, an event with a different time or location. You can't create an EXCEPTION event directly, instead it's set automatically when you update an INSTANCE event.

Default: NONE


recurrenceRuleRecurrenceRule

Recurrence pattern for a series of events. This field is required when creating a MASTER event and isn't available for non-recurring events. You can't update the recurrence rule for INSTANCE or EXCEPTION events.

For example, an event that repeats every second Monday until January 7, 2026, at 8:00 AM has the following recurrenceRule:

  • frequency = WEEKLY
  • interval = 2
  • days = [MONDAY]
  • until = 20260107T08:00:00Z

recurringEventIdstringRead-onlyminLength 64maxLength 64

ID of the MASTER event the event belongs to. Available only for INSTANCE and EXCEPTION events.


transparencystring

Specifies whether the event blocks time in the schedule it belongs to.

Supported values:

  • OPAQUE: The schedule is blocked during the event, preventing other events that involve the same entities (for example, Booking staff members) from being scheduled at the same time.
  • TRANSPARENT: The schedule remains open during the event, allowing other events to be scheduled concurrently.

Default: OPAQUE


locationLocation

Event location.

Default: defaultLocation of the schedule the event belongs to


resourcesArray <Resource>maxItems 100

List of Wix Bookings resources affected by the event. This could include, for example, the Wix Bookings staff member providing the service or the room where the appointment takes place.

Max: 100 resources


totalCapacityintegerminimum 0format int32

Maximum number of participants who can participate in the event.

Default: defaultCapacity of the schedule the event belongs to


remainingCapacityintegerRead-onlyformat int32

Number of participants who can still be added to the event.


participantsParticipantsRead-only

Information about the event's participants. Returned only if explicitly requested. For more details, see the permissions article.


conferencingDetailsConferencingDetails

Information about the event's online conferencing. Returned only if explicitly requested. For more details, see the permissions article.

Default: defaultConferencingDetails of the schedule the event belongs to


notesstringminLength 1maxLength 5000

Additional notes about the event. Returned only if explicitly requested. For more details, see the permissions article.

Min: 1 character Max: 5000 characters


inheritedFieldsArray <string>Read-only

List of fields whose values are inherited.

  • For single-occurrence events, values are inherited from the schedule.
  • For INSTANCE and EXCEPTION events, values are inherited from the related MASTER event.

appIdstringRead-onlyformat GUID

ID of the app that owns the event. Identical to appId of the schedule to which the event belongs.


permissionsArray <Permission>Read-only

List of permissions associated with the event. Refer to the permissions article for more information.


extendedFieldsExtendedFields

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


revisionintegerRead-onlyformat int64

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


createdDatestringRead-onlyformat date-time

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


updatedDatestringRead-onlyformat date-time

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

Event
JSON
{ "id": "VYAN5iNZkOn1SQ5LLJVWXxdGqRfcnyxpZ2STCAr7l6RswqhNAvAXfO7o59cEoDfhwVTtXUIhN6JM5bb7MDprhwwf3DPqQ6CBgry0qfF6OfXn1tEEqMcwPA", "scheduleId": "132db383-1378-4903-820b-4eebf4242de2", "externalScheduleId": "4187d1f3-38a2-4cfd-b8f1-6333cd012e33", "scheduleName": "Hip Hop Groove", "type": "CLASS", "status": "CONFIRMED", "title": "Hip Hop Groove", "start": { "localDate": "2024-10-07T11:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-07T10:00:00Z" }, "end": { "localDate": "2024-10-07T12:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-07T11:00:00Z" }, "adjustedStart": { "localDate": "2024-10-07T11:00:00", "timeZone": "Europe/Dublin" }, "adjustedEnd": { "localDate": "2024-10-07T12:00:00", "timeZone": "Europe/Dublin" }, "timeZone": "Europe/Dublin", "recurrenceType": "INSTANCE", "recurrenceRule": { "frequency": "WEEKLY", "interval": 1, "days": ["MONDAY"] }, "recurringEventId": "132db38313784903820b4eebf4242de24cb655131b0f4f359b7345e7daabb34d", "transparency": "OPAQUE", "location": { "type": "BUSINESS" }, "resources": [ { "id": "76570209-101f-409b-af97-b445bdb63125", "name": "Staff Member #1", "type": "1cd44cf8-756f-41c3-bd90-3e2ffcaf1155", "scheduleId": "e73bf671-bb59-4488-8d1f-afcf0ebe8d27", "transparency": "OPAQUE", "permissionRole": "WRITER" } ], "totalCapacity": 50, "remainingCapacity": 50, "inheritedFields": [ "TITLE", "CAPACITY", "LOCATION", "TIME_ZONE", "CONFERENCING_DETAILS", "RESOURCES", "PARTICIPANTS", "TIME" ], "appId": "13d21c63-b5ec-5912-8397-c3a5ddb27a97", "permissions": [], "revision": "1", "createdDate": "2024-10-06T17:16:36.117Z", "updatedDate": "2024-10-06T17:16:36.117Z" }
Did this help?

GET

Get Event


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 an event.

Permissions
Manage Bookings - all permissions
Read Bookings - all read permissions
Manage Bookings
Read Bookings - Public Data
Read Bookings - Including Participants
Read Bookings Calendar Availability
Read bookings calendar - including participants
Read Bookings Calendar
Manage Calendars
Read Calendar - Including PI
Read Calendar
Learn more about app permissions.
Endpoint
GET
https://www.wixapis.com/calendar/v3/events/{eventId}

Path Params
eventIdstringRequired

ID of the event to retrieve.

Min: 36 characters Max: 250 characters

Query Params
timeZonestring

Time zone in IANA tz database format for calculating adjustedStart and adjustedEnd. For example, America/New_York or UTC.

Default: timeZone specified in the business site properties.


fieldsArray <string>

Information about which fields containing personal data to return. Refer to the permissions article for more information.

Supported values:

  • PI_FIELDS: Returns all fields with personal data. Your app must have Read Calendars - Including PI or Manage Calendars permission scope.
  • OWN_PI_FIELDS: Returns only fields containing your own personal data.

Max: 1 field Default: No personal data is returned.

Response Object
eventEvent

Retrieved event.

Get Event
Request
cURL
curl -X GET \ 'https://www.wixapis.com/calendar/v3/events/VYAN5iNZkOn1SQ5LLJVWXxdGqRfcnyxpZ2STCAr7l6RswqhNAvAXfO7o59cEoDfhwVTtXUIhN6JM5bb7MDprhwwf3DPqQ6CBgry0qfF6OfXn1tEEqMcwPA' \ -H 'Content-Type: application/json' \ -H 'Authorization: <AUTH>'
Response
JSON
{ "event": { "id": "VYAN5iNZkOn1SQ5LLJVWXxdGqRfcnyxpZ2STCAr7l6RswqhNAvAXfO7o59cEoDfhwVTtXUIhN6JM5bb7MDprhwwf3DPqQ6CBgry0qfF6OfXn1tEEqMcwPA", "scheduleId": "132db383-1378-4903-820b-4eebf4242de2", "externalScheduleId": "4187d1f3-38a2-4cfd-b8f1-6333cd012e33", "scheduleName": "Hip Hop Groove", "type": "CLASS", "status": "CONFIRMED", "title": "Hip Hop Groove", "start": { "localDate": "2024-10-07T11:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-07T10:00:00Z" }, "end": { "localDate": "2024-10-07T12:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-07T11:00:00Z" }, "adjustedStart": { "localDate": "2024-10-07T11:00:00", "timeZone": "Europe/Dublin" }, "adjustedEnd": { "localDate": "2024-10-07T12:00:00", "timeZone": "Europe/Dublin" }, "timeZone": "Europe/Dublin", "recurrenceType": "INSTANCE", "recurrenceRule": { "frequency": "WEEKLY", "interval": 1, "days": ["MONDAY"] }, "recurringEventId": "132db38313784903820b4eebf4242de24cb655131b0f4f359b7345e7daabb34d", "transparency": "OPAQUE", "location": { "type": "BUSINESS" }, "resources": [ { "id": "76570209-101f-409b-af97-b445bdb63125", "name": "Staff Member #1", "type": "1cd44cf8-756f-41c3-bd90-3e2ffcaf1155", "scheduleId": "e73bf671-bb59-4488-8d1f-afcf0ebe8d27", "transparency": "OPAQUE", "permissionRole": "WRITER" } ], "totalCapacity": 50, "remainingCapacity": 50, "inheritedFields": [ "TITLE", "CAPACITY", "LOCATION", "TIME_ZONE", "CONFERENCING_DETAILS", "RESOURCES", "PARTICIPANTS", "TIME" ], "appId": "13d21c63-b5ec-5912-8397-c3a5ddb27a97", "permissions": [], "revision": "1", "createdDate": "2024-10-06T17:16:36.117Z", "updatedDate": "2024-10-06T17:16:36.117Z" } }
Did this help?

GET

List Events


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 events by their IDs.

Permissions
Manage Bookings - all permissions
Read Bookings - all read permissions
Manage Bookings
Read Bookings - Public Data
Read Bookings - Including Participants
Read Bookings Calendar Availability
Read bookings calendar - including participants
Read Bookings Calendar
Manage Calendars
Read Calendar - Including PI
Read Calendar
Learn more about app permissions.
Endpoint
GET
https://www.wixapis.com/calendar/v3/events

Query Params
eventIdsArray <string>Required

IDs of the events to retrieve.

Min: 1 event ID Min: 100 event IDs


timeZonestring

Time zone in IANA tz database format for calculating adjustedStart and adjustedEnd. For example, America/New_York or UTC.

Default: timeZone specified in the business site properties.


fieldsArray <string>

Information about which fields containing personal data to return. Refer to the permissions article for more information.

Supported values:

  • PI_FIELDS: Returns all fields with personal data. Your app must have Read Calendars - Including PI or Manage Calendars permission scope.
  • OWN_PI_FIELDS: Returns only fields containing your own personal data.

Max: 1 field Default: No personal data is returned.

Response Object
eventsArray <Event>

Retrieved events matching the provided IDs.

List Events
Request
cURL
curl -X GET \ 'https://www.wixapis.com/calendar/v3/events?eventIds=WqKyhiYgLmblyVmHFnjazbmCJKK01ACZM79rgdVqUHjcIrX84YfDON2IdaFegGtRpk1wger3lHBXTvzXqrCCoZSzauJtGzjfam5hcT4q4qCTx3CctxC6D2&eventIds=VYAN5iNZkOn1SQ5LLJVWXxdGqRfcnyxpZ2STCAr7l6RswqhNAvAXfO7o59cEoDfhwVTtXUIhN6JM5bb7MDprhwwf3DPqQ6CBgry0qfF6OfXn1tEEqMcwPA' \ -H 'Content-Type: application/json' \ -H 'Authorization: <AUTH>'
Response
JSON
{ "events": [ { "id": "WqKyhiYgLmblyVmHFnjazbmCJKK01ACZM79rgdVqUHjcIrX84YfDON2IdaFegGtRpk1wger3lHBXTvzXqrCCoZSzauJtGzjfam5hcT4q4qCTx3CctxC6D2", "scheduleId": "37e01b7f-7137-4c06-bca5-02eb435c1503", "externalScheduleId": "38e25e56-d50f-42b4-a3b6-aa04c61dded1", "scheduleName": "Full Body Strength", "type": "CLASS", "status": "CONFIRMED", "title": "Full Body Strength", "start": { "localDate": "2024-10-07T09:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-07T08:00:00Z" }, "end": { "localDate": "2024-10-07T10:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-07T09:00:00Z" }, "adjustedStart": { "localDate": "2024-10-07T09:00:00", "timeZone": "Europe/Dublin" }, "adjustedEnd": { "localDate": "2024-10-07T10:00:00", "timeZone": "Europe/Dublin" }, "timeZone": "Europe/Dublin", "recurrenceType": "INSTANCE", "recurrenceRule": { "frequency": "WEEKLY", "interval": 1, "days": ["MONDAY"] }, "recurringEventId": "37e01b7f71374c06bca502eb435c150373f9e893914546b795978fe3de3e49f7", "transparency": "OPAQUE", "location": { "type": "BUSINESS" }, "resources": [ { "id": "76570209-101f-409b-af97-b445bdb63125", "name": "Staff Member #1", "type": "1cd44cf8-756f-41c3-bd90-3e2ffcaf1155", "scheduleId": "e73bf671-bb59-4488-8d1f-afcf0ebe8d27", "transparency": "OPAQUE", "permissionRole": "WRITER" } ], "totalCapacity": 50, "remainingCapacity": 50, "inheritedFields": [ "TITLE", "CAPACITY", "LOCATION", "TIME_ZONE", "CONFERENCING_DETAILS", "RESOURCES", "PARTICIPANTS", "TIME" ], "appId": "13d21c63-b5ec-5912-8397-c3a5ddb27a97", "permissions": [], "revision": "1", "createdDate": "2024-10-06T17:16:36.345Z", "updatedDate": "2024-10-06T17:16:36.345Z" }, { "id": "VYAN5iNZkOn1SQ5LLJVWXxdGqRfcnyxpZ2STCAr7l6RswqhNAvAXfO7o59cEoDfhwVTtXUIhN6JM5bb7MDprhwwf3DPqQ6CBgry0qfF6OfXn1tEEqMcwPA", "scheduleId": "132db383-1378-4903-820b-4eebf4242de2", "externalScheduleId": "4187d1f3-38a2-4cfd-b8f1-6333cd012e33", "scheduleName": "Hip Hop Groove", "type": "CLASS", "status": "CONFIRMED", "title": "Hip Hop Groove", "start": { "localDate": "2024-10-07T11:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-07T10:00:00Z" }, "end": { "localDate": "2024-10-07T12:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-07T11:00:00Z" }, "adjustedStart": { "localDate": "2024-10-07T11:00:00", "timeZone": "Europe/Dublin" }, "adjustedEnd": { "localDate": "2024-10-07T12:00:00", "timeZone": "Europe/Dublin" }, "timeZone": "Europe/Dublin", "recurrenceType": "INSTANCE", "recurrenceRule": { "frequency": "WEEKLY", "interval": 1, "days": ["MONDAY"] }, "recurringEventId": "132db38313784903820b4eebf4242de24cb655131b0f4f359b7345e7daabb34d", "transparency": "OPAQUE", "location": { "type": "BUSINESS" }, "resources": [ { "id": "76570209-101f-409b-af97-b445bdb63125", "name": "Staff Member #1", "type": "1cd44cf8-756f-41c3-bd90-3e2ffcaf1155", "scheduleId": "e73bf671-bb59-4488-8d1f-afcf0ebe8d27", "transparency": "OPAQUE", "permissionRole": "WRITER" } ], "totalCapacity": 50, "remainingCapacity": 50, "inheritedFields": [ "TITLE", "CAPACITY", "LOCATION", "TIME_ZONE", "CONFERENCING_DETAILS", "RESOURCES", "PARTICIPANTS", "TIME" ], "appId": "13d21c63-b5ec-5912-8397-c3a5ddb27a97", "permissions": [], "revision": "1", "createdDate": "2024-10-06T17:16:36.117Z", "updatedDate": "2024-10-06T17:16:36.117Z" } ] }
Did this help?

POST

Create Event


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 an event.

If you provide recurrenceRule, an event with {"recurrenceType": "MASTER"} is created. Then, you can't set start.localDate to a past date, though the time can be earlier on the same day. You can, however, create single-occurrence events for past dates.

You can't create an event with recurrenceType set to INSTANCE or EXCEPTION. INSTANCE events are generated automatically based on the recurrence rule in the relevant MASTER event. EXCEPTION events are automatically created when you update an INSTANCE event, which changes its recurrenceType to EXCEPTION.

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/events

Body Params
eventEventRequired

Event to create.


timeZonestring

Time zone in IANA tz database format for calculating adjustedStart and adjustedEnd. For example, America/New_York or UTC.

Default: timeZone specified in the business site properties.


idempotencyKeystringformat GUID

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

Response Object
eventEvent

Created event.

Creates an event with basic title and time.

Request
cURL
curl -X POST \ 'https://www.wixapis.com/calendar/v3/events' \ -H 'Content-Type: application/json' \ -H 'Authorization: <AUTH>' \ -d '{ "event": { "scheduleId": "10d021eb-f94c-4a12-97b4-26701423a828", "title": "Consulting Appointment", "start": { "localDate": "2024-10-10T12:00:00" }, "end": { "localDate": "2024-10-10T13:00:00" } } }'
Response
JSON
{ "event": { "id": "9f78be4d-7b29-4201-89ef-cea0b4c79e6d", "scheduleId": "10d021eb-f94c-4a12-97b4-26701423a828", "externalScheduleId": "2019cd8c-9687-4bd3-95ba-e274579c0441", "scheduleName": "Consulting Schedule", "type": "DEFAULT", "status": "CONFIRMED", "start": { "localDate": "2024-10-10T12:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-10T11:00:00Z" }, "end": { "localDate": "2024-10-10T13:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-10T12:00:00Z" }, "adjustedStart": { "localDate": "2024-10-10T12:00:00", "timeZone": "Europe/Dublin" }, "adjustedEnd": { "localDate": "2024-10-10T13:00:00", "timeZone": "Europe/Dublin" }, "timeZone": "Europe/Dublin", "recurrenceType": "NONE", "transparency": "OPAQUE", "resources": [], "inheritedFields": ["CAPACITY", "LOCATION", "CONFERENCING_DETAILS"], "permissions": [], "revision": "1", "createdDate": "2024-10-07T07:29:32.993Z", "updatedDate": "2024-10-07T07:29:32.993Z" } }
Event TriggersThis method triggers the following events:
Did this help?

POST

Query Events


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 events, given the provided paging, filtering, and sorting.

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

  • sorted by start in ASC order
  • cursorPaging.limit is 50

You can't filter by event ID. To query by event ID, use Get Event or List Events.

You can't filter by contact or member ID. To query by a participant's contact or member ID, use List Events by Contact ID or List Events by Member ID.

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

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

Permissions
Manage Bookings - all permissions
Read Bookings - all read permissions
Manage Bookings
Read Bookings - Public Data
Read Bookings - Including Participants
Read Bookings Calendar Availability
Read bookings calendar - including participants
Read Bookings Calendar
Manage Calendars
Read Calendar - Including PI
Read Calendar
Learn more about app permissions.
Endpoint
POST
https://www.wixapis.com/calendar/v3/events/query

Body Params
fromLocalDatestringformat LOCAL_DATE_TIME

Local start date and time from which events are returned in ISO-8601 format. For example, 2024-01-30T13:30:00.

Events that start before the fromLocalDate but end after it are included in the results. Must be earlier than toLocalDate unless the sort order is descending.


toLocalDatestringformat LOCAL_DATE_TIME

Local end date and time up to which events are returned in ISO-8601 format. For example, 2024-01-30T13:30:00.

Events that start before toLocalDate but end after it are included in the results. Must be later than fromLocalDate unless the sort order is descending.


timeZonestring

Time zone in IANA tz database format for fromLocalDate, toLocalDate, and for calculating adjustedStart and adjustedEnd. For example, America/New_York or UTC.

Default: timeZone specified in the business site properties.


queryQuery

Query containing filters and paging.


recurrenceTypeArray <string>maxItems 5

Filters events based on their recurrenceType.

Max: 5 recurrence types can be specified. Default: Events with recurrenceType of NONE, INSTANCE, and EXCEPTION are returned.


fieldsArray <string>maxItems 1

Information about which fields containing personal data to return. Refer to the permissions article for more information.

Supported values:

  • PI_FIELDS: Returns all fields with personal data. Your app must have Read Calendars - Including PI or Manage Calendars permission scope.
  • OWN_PI_FIELDS: Returns only fields containing your own personal data.

Max: 1 field Default: No personal data is returned.

Response Object
eventsArray <Event>

Retrieved events matching the provided query.


pagingMetadataPagingMetadata

Paging metadata.

Request
cURL
curl -X POST \ 'https://www.wixapis.com/calendar/v3/events/query' \ -H 'Content-Type: application/json' \ -H 'Authorization: <AUTH>' \ -d '{ "fromLocalDate": "2024-10-01T00:00:00", "toLocalDate": "2024-10-28T23:59:59", }'
Response
JSON
{ "events": [ { "id": "WqKyhiYgLmblyVmHFnjazbmCJKK01ACZM79rgdVqUHjcIrX84YfDON2IdaFegGtRpk1wger3lHBXTvzXqrCCoZSzauJtGzjfam5hcT4q4qCTx3CctxC6D2", "scheduleId": "37e01b7f-7137-4c06-bca5-02eb435c1503", "externalScheduleId": "38e25e56-d50f-42b4-a3b6-aa04c61dded1", "scheduleName": "Full Body Strength", "type": "CLASS", "status": "CONFIRMED", "title": "Full Body Strength", "start": { "localDate": "2024-10-07T09:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-07T08:00:00Z" }, "end": { "localDate": "2024-10-07T10:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-07T09:00:00Z" }, "adjustedStart": { "localDate": "2024-10-07T09:00:00", "timeZone": "Europe/Dublin" }, "adjustedEnd": { "localDate": "2024-10-07T10:00:00", "timeZone": "Europe/Dublin" }, "timeZone": "Europe/Dublin", "recurrenceType": "INSTANCE", "recurrenceRule": { "frequency": "WEEKLY", "interval": 1, "days": ["MONDAY"] }, "recurringEventId": "37e01b7f71374c06bca502eb435c150373f9e893914546b795978fe3de3e49f7", "transparency": "OPAQUE", "location": { "type": "BUSINESS" }, "resources": [ { "id": "76570209-101f-409b-af97-b445bdb63125", "name": "Staff Member #1", "type": "1cd44cf8-756f-41c3-bd90-3e2ffcaf1155", "scheduleId": "e73bf671-bb59-4488-8d1f-afcf0ebe8d27", "transparency": "OPAQUE", "permissionRole": "WRITER" } ], "totalCapacity": 50, "remainingCapacity": 50, "inheritedFields": [ "TITLE", "CAPACITY", "LOCATION", "TIME_ZONE", "CONFERENCING_DETAILS", "RESOURCES", "PARTICIPANTS", "TIME" ], "appId": "13d21c63-b5ec-5912-8397-c3a5ddb27a97", "permissions": [], "revision": "1", "createdDate": "2024-10-06T17:16:36.345Z", "updatedDate": "2024-10-06T17:16:36.345Z" }, { "id": "VYAN5iNZkOn1SQ5LLJVWXxdGqRfcnyxpZ2STCAr7l6RswqhNAvAXfO7o59cEoDfhwVTtXUIhN6JM5bb7MDprhwwf3DPqQ6CBgry0qfF6OfXn1tEEqMcwPA", "scheduleId": "132db383-1378-4903-820b-4eebf4242de2", "externalScheduleId": "4187d1f3-38a2-4cfd-b8f1-6333cd012e33", "scheduleName": "Hip Hop Groove", "type": "CLASS", "status": "CONFIRMED", "title": "Hip Hop Groove", "start": { "localDate": "2024-10-07T11:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-07T10:00:00Z" }, "end": { "localDate": "2024-10-07T12:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-07T11:00:00Z" }, "adjustedStart": { "localDate": "2024-10-07T11:00:00", "timeZone": "Europe/Dublin" }, "adjustedEnd": { "localDate": "2024-10-07T12:00:00", "timeZone": "Europe/Dublin" }, "timeZone": "Europe/Dublin", "recurrenceType": "INSTANCE", "recurrenceRule": { "frequency": "WEEKLY", "interval": 1, "days": ["MONDAY"] }, "recurringEventId": "132db38313784903820b4eebf4242de24cb655131b0f4f359b7345e7daabb34d", "transparency": "OPAQUE", "location": { "type": "BUSINESS" }, "resources": [ { "id": "76570209-101f-409b-af97-b445bdb63125", "name": "Staff Member #1", "type": "1cd44cf8-756f-41c3-bd90-3e2ffcaf1155", "scheduleId": "e73bf671-bb59-4488-8d1f-afcf0ebe8d27", "transparency": "OPAQUE", "permissionRole": "WRITER" } ], "totalCapacity": 50, "remainingCapacity": 50, "inheritedFields": [ "TITLE", "CAPACITY", "LOCATION", "TIME_ZONE", "CONFERENCING_DETAILS", "RESOURCES", "PARTICIPANTS", "TIME" ], "appId": "13d21c63-b5ec-5912-8397-c3a5ddb27a97", "permissions": [], "revision": "1", "createdDate": "2024-10-06T17:16:36.117Z", "updatedDate": "2024-10-06T17:16:36.117Z" } ], "pagingMetadata": { "count": 2, "hasNext": false } }
Did this help?

POST

Bulk Create Event


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 multiple events in bulk.

If you provide recurrenceRule, an event with {"recurrenceType": "MASTER"} is created. Then, you can't set start.localDate to a past date, though the time can be earlier on the same day. You can, however, create single-occurrence events for past dates.

You can't create an event with recurrenceType set to INSTANCE or EXCEPTION. INSTANCE events are generated automatically based on the recurrence rule in the relevant MASTER event. EXCEPTION events are automatically created when you update an INSTANCE event, which changes its recurrenceType to EXCEPTION.

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/bulk/events/create

Body Params
eventsArray <MaskedEvent>RequiredminItems 1maxItems 50

Events to create.


returnEntityboolean

Whether to return created events.

Default: false.


timeZonestring

Time zone in IANA tz database format for calculating adjustedStart and adjustedEnd. For example, America/New_York or UTC.

Default: timeZone specified in the business site properties.

Response Object
resultsArray <BulkEventResult>

The result for each event, containing the event and whether the action was successful.


bulkActionMetadataBulkActionMetadata

Total successes and failures.

Bulk Create Event

Creates multiple events.

Request
cURL
curl -X POST \ 'https://www.wixapis.com/calendar/v3/bulk/events/create' \ -H 'Content-Type: application/json' \ -H 'Authorization: <AUTH>' \ -d '{ "events": [ { "event": { "scheduleId": "eed85dfb-52af-42c1-9ca9-0b4ea84c5614", "title": "First Event", "start": { "localDate": "2025-01-01T10:00:00" }, "end": { "localDate": "2025-01-01T12:00:00" } } }, { "event": { "scheduleId": "aa4b4693-1fc3-424f-82f4-5b693b67506e", "title": "Second Event", "start": { "localDate": "2025-01-01T14:00:00" }, "end": { "localDate": "2025-01-01T16:00:00" } } } ] }'
Response
JSON
{ "results": [ { "itemMetadata": { "id": "37e01b7f71374c06bca502eb435c1503b26e5434815a4e7ca6ac9be4783c5482", "originalIndex": 0, "success": true } }, { "itemMetadata": { "id": "37e01b7f71374c06bca502eb435c1503c0d77e8daef74681952c80b1bfd42d3d", "originalIndex": 1, "success": true } } ], "bulkActionMetadata": { "totalSuccesses": 2, "totalFailures": 0 } }
Event TriggersThis method triggers the following events:
Did this help?

PATCH

Update Event


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 an event.

When updating an event with {"recurrenceType": "INSTANCE"}, the recurrenceType automatically changes to EXCEPTION.

When updating an event with {"recurrenceType": "MASTER"}:

  • Past INSTANCE and EXCEPTION events remain unchanged.
  • For future INSTANCE events, all relevant fields are updated.
  • For future EXCEPTION events, only changes to the inheritedFields are applied, while other fields remain unchanged.
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/events/{event.id}

Path Params
event.idstringRequired

Event ID.

Body Params
eventEventRequired

Event to update.


participantNotificationParticipantNotification

Information about whether participants of the updated event are notified and the message they receive.


timeZonestring

Time zone in IANA tz database format for calculating adjustedStart and adjustedEnd. For example, America/New_York or UTC.

Default: timeZone specified in the business site properties.

Response Object
eventEvent

Updated event.

Update Event

Updates an event's title.

Request
cURL
curl -X PATCH \ 'https://www.wixapis.com/calendar/v3/events/913c4d89-f9bf-4b21-8572-d2c79ece382e' \ -H 'Content-Type: application/json' \ -H 'Authorization: <AUTH>' \ -d '{ "event": { "title": "Hip Hop Groove (+ Special Guests)", "revision": "2" } }'
Response
JSON
{ "event": { "id": "913c4d89-f9bf-4b21-8572-d2c79ece382e", "scheduleId": "132db383-1378-4903-820b-4eebf4242de2", "externalScheduleId": "4187d1f3-38a2-4cfd-b8f1-6333cd012e33", "scheduleName": "Hip Hop Groove", "type": "CLASS", "status": "CONFIRMED", "title": "Hip Hop Groove (+ Special Guests)", "start": { "localDate": "2024-10-31T13:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-31T13:00:00Z" }, "end": { "localDate": "2024-10-31T14:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-31T14:00:00Z" }, "adjustedStart": { "localDate": "2024-10-31T13:00:00", "timeZone": "Europe/Dublin" }, "adjustedEnd": { "localDate": "2024-10-31T14:00:00", "timeZone": "Europe/Dublin" }, "timeZone": "Europe/Dublin", "recurrenceType": "NONE", "transparency": "OPAQUE", "location": { "type": "BUSINESS" }, "resources": [ { "id": "c27dfdce-666a-4e56-8933-be249f2011b7", "name": "Emily", "type": "1cd44cf8-756f-41c3-bd90-3e2ffcaf1155", "scheduleId": "99fb6b69-8c8f-4578-bd7f-f11a87a88aad", "transparency": "OPAQUE", "permissionRole": "WRITER" } ], "totalCapacity": 50, "remainingCapacity": 50, "inheritedFields": ["CAPACITY", "TIME_ZONE", "CONFERENCING_DETAILS"], "appId": "13d21c63-b5ec-5912-8397-c3a5ddb27a97", "permissions": [], "revision": "3", "createdDate": "2024-10-13T19:01:16.619Z", "updatedDate": "2024-10-13T19:02:25.364Z" } }
Event TriggersThis method triggers the following events:
Did this help?

POST

Bulk Update Event


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 multiple events in bulk.

When updating an event with {"recurrenceType": "INSTANCE"}, the recurrenceType automatically changes to EXCEPTION.

When updating an event with {"recurrenceType": "MASTER"}:

  • Past INSTANCE and EXCEPTION events remain unchanged.
  • For future INSTANCE events, all relevant fields are updated.
  • For future EXCEPTION events, only changes to the inheritedFields are applied, while other fields remain unchanged.
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/bulk/events/update

Body Params
eventsArray <MaskedEvent>RequiredminItems 1maxItems 50

Events to update.

Min: 1 event Max: 50 events


returnEntityboolean

Whether to return the updated events.

Default: false


participantNotificationParticipantNotification

Information about whether participants of the updated event are notified and the message they receive.


timeZonestring

Time zone in IANA tz database format for calculating adjustedStart and adjustedEnd. For example, America/New_York or UTC.

Default: timeZone specified in the business site properties.

Response Object
resultsArray <BulkEventResult>

The result for each event, containing the event and whether the action was successful.


bulkActionMetadataBulkActionMetadata

Total successes and failures.

Bulk Update Event

Updates multiple events.

Request
cURL
curl -X POST \ 'https://www.wixapis.com/calendar/v3/bulk/events/update' \ -H 'Content-Type: application/json' \ -H 'Authorization: <AUTH>' \ -d '{ "events": [ { "event": { "id": "130o4ncdcmm8csGKUihodsF8Lnx5vQuUmP9uqeurIYireDpysq5nOxSIMvXKf80QrOXzc09i1GXRepTUj2L01bzmifAqWHwp2pTmmtR3TmHJx7Tv6ODrmgS", "totalCapacity": 11, "revision": "4" } }, { "event": { "id": "130o4ncdcmm8csGKUihodsF8Lnx5vQuUmP9uqeurIYireDpysq5nOxSIMvXKf80QrOXzc09i1GXRepTUj2L01bzmifAqWHwp2pTmnfTErblp9jEabOCXmxk", "resources": [ { "id": "91ce3170-9109-4d9e-bdb6-d2613691b4a2" } ], "revision": "2" } } ] }'
Response
JSON
{ "results": [ { "itemMetadata": { "id": "130o4ncdcmm8csGKUihodsF8Lnx5vQuUmP9uqeurIYireDpysq5nOxSIMvXKf80QrOXzc09i1GXRepTUj2L01bzmifAqWHwp2pTmmtR3TmHJx7Tv6ODrmgS", "originalIndex": 0, "success": true } }, { "itemMetadata": { "id": "130o4ncdcmm8csGKUihodsF8Lnx5vQuUmP9uqeurIYireDpysq5nOxSIMvXKf80QrOXzc09i1GXRepTUj2L01bzmifAqWHwp2pTmnfTErblp9jEabOCXmxk", "originalIndex": 1, "success": true } } ], "bulkActionMetadata": { "totalSuccesses": 2, "totalFailures": 0 } }
Event TriggersThis method triggers the following events:
Did this help?

POST

Restore Event Defaults


Developer Preview

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

Restores the event's default values from the relevant schedule or MASTER event.

You must provide fields to specify which inheritedFields are restored.

For example, if you've created an event that takes place in a non-default location with a custom title and capacity, but you want to reset only title and capacity to default values without affecting the location, provide the event ID and set fields to ["TITLE", "CAPACITY"].

Refer to the default values article for more information.

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/events/{eventId}/restore-defaults

Path Params
eventIdstringRequired

ID of the event for which to restore default values.

Body Params
fieldsArray <string>RequiredminItems 1

Fields for which to restore default values.

TIME restores default values for start and end.

Min: 1 field


participantNotificationParticipantNotification

Information about whether participants of the updated event are notified and the message they receive.


timeZonestring

Time zone in IANA tz database format for calculating adjustedStart and adjustedEnd. For example, America/New_York or UTC.

Default: timeZone specified in the business site properties.

Response Object
eventEvent

Updated event.

Restore Event Defaults

Restores an event's capacity to its default value

Request
cURL
curl -X POST \ 'https://www.wixapis.com/calendar/v3/events/VYAN5iNZkOn1SQ5LLJVWXxdGqRfcnyxpZ2STCAr7l6SOGCQpMD5CUFjFhdm0f6qhxEBOZWEc3KmJRcx3YgBNyyrcncCZJZkHM9GRGmgUmMJl9lqarOixyy/restore-defaults' \ -H 'Content-Type: application/json' \ -H 'Authorization: <AUTH>' \ -d '{ "fields": [ "CAPACITY" ] }'
Response
JSON
{ "event": { "id": "VYAN5iNZkOn1SQ5LLJVWXxdGqRfcnyxpZ2STCAr7l6SOGCQpMD5CUFjFhdm0f6qhxEBOZWEc3KmJRcx3YgBNyyrcncCZJZkHM9GRGmgUmMJl9lqarOixyy", "scheduleId": "132db383-1378-4903-820b-4eebf4242de2", "externalScheduleId": "4187d1f3-38a2-4cfd-b8f1-6333cd012e33", "scheduleName": "Hip Hop Groove", "type": "CLASS", "status": "CONFIRMED", "title": "Hip Hop Groove", "start": { "localDate": "2024-10-08T11:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-08T10:00:00Z" }, "end": { "localDate": "2024-10-08T12:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-08T11:00:00Z" }, "adjustedStart": { "localDate": "2024-10-08T11:00:00", "timeZone": "Europe/Dublin" }, "adjustedEnd": { "localDate": "2024-10-08T12:00:00", "timeZone": "Europe/Dublin" }, "timeZone": "Europe/Dublin", "recurrenceType": "EXCEPTION", "recurrenceRule": { "frequency": "WEEKLY", "interval": 1, "days": ["TUESDAY"] }, "recurringEventId": "132db38313784903820b4eebf4242de2d21ab38e72d54c728074f106b33e6c25", "transparency": "OPAQUE", "location": { "type": "BUSINESS" }, "resources": [ { "id": "76570209-101f-409b-af97-b445bdb63125", "name": "Staff Member #1", "type": "1cd44cf8-756f-41c3-bd90-3e2ffcaf1155", "scheduleId": "e73bf671-bb59-4488-8d1f-afcf0ebe8d27", "transparency": "OPAQUE", "permissionRole": "WRITER" } ], "totalCapacity": 50, "remainingCapacity": 50, "inheritedFields": [ "TITLE", "CAPACITY", "LOCATION", "TIME_ZONE", "CONFERENCING_DETAILS", "RESOURCES", "PARTICIPANTS", "TIME" ], "appId": "13d21c63-b5ec-5912-8397-c3a5ddb27a97", "permissions": [], "revision": "4", "createdDate": "2024-10-07T08:15:05.502Z", "updatedDate": "2024-10-07T08:16:43.045Z" } }
Event TriggersThis method triggers the following events:
Did this help?

POST

Split Recurring Event


Developer Preview

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

Splits a recurring MASTER event into 2 separate MASTER events.

You must provide a splitLocalDate that's in the future and after the start date of the next INSTANCE or EXCEPTION event in the series. Additionally, there must be another INSTANCE or EXCEPTION event following this next event, as the changes wouldn't affect any event without a subsequent occurrence.

If you want to modify a MASTER event with the changes already applying to the very next event, use Update Event instead, as this preserves past events and only modifies future events.

The main consequences are:

  • The original MASTER event is shortened. Its recurrenceRule.until.localDate is updated to end.localDate of the latest INSTANCE or EXCEPTION event starting before splitLocalDate. If an INSTANCE or EXCEPTION event starts before but ends after splitLocalDate, until.localDate is set to value that's later than splitLocalDate.
  • A new MASTER event is created, starting from the first event that begins after splitLocalDate.
  • Existing INSTANCE and EXCEPTION events that occur after the split are updated. Their recurringEventId is set to the ID of the newly created MASTER 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/events/{recurringEventId}/split

Path Params
recurringEventIdstringRequired

ID of the MASTER event to split.

Body Params
splitLocalDatestringRequiredformat LOCAL_DATE_TIME

Local date and time at which the MASTER event is split in ISO-8601 format. For example, 2025-03-11T09:00:00. Must be a future date that's after the start date of the next INSTANCE or EXCEPTION event in the series. Additionally, there must be another INSTANCE or EXCEPTION event following this next event, as the changes wouldn't affect any event without a subsequent occurrence.


timeZonestring

Time zone in IANA tz database format for calculating adjustedStart and adjustedEnd. For example, America/New_York or UTC.

Default: timeZone specified in the business site properties.

Response Object
updatedRecurringEventEndingBeforeSplitUpdatedRecurringEventEndingBeforeSplit

Original MASTER event that was shortened.


newRecurringEventStartingFromSplitNewRecurringEventStartingFromSplit

New MASTER event starting with the first event after the split date.

Split Recurring Event

Split a recurring event into two events at a specified future date.

Request
cURL
curl -X POST \ 'https://www.wixapis.com/calendar/v3/events/37e01b7f71374c06bca502eb435c150373f9e893914546b795978fe3de3e49f7/split' \ -H 'Content-Type: application/json' \ -H 'Authorization: <AUTH>' \ -d '{ "splitLocalDate": "2024-10-11T09:00:00" }'
Response
JSON
{ "updatedRecurringEventEndingBeforeSplit": { "id": "37e01b7f71374c06bca502eb435c150373f9e893914546b795978fe3de3e49f7", "scheduleId": "37e01b7f-7137-4c06-bca5-02eb435c1503", "externalScheduleId": "38e25e56-d50f-42b4-a3b6-aa04c61dded1", "scheduleName": "Full Body Strength", "type": "CLASS", "status": "CONFIRMED", "title": "Full Body Strength", "start": { "localDate": "2024-10-07T09:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-07T08:00:00Z" }, "end": { "localDate": "2024-10-07T10:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-07T09:00:00Z" }, "adjustedStart": { "localDate": "2024-10-07T09:00:00", "timeZone": "Europe/Dublin" }, "adjustedEnd": { "localDate": "2024-10-07T10:00:00", "timeZone": "Europe/Dublin" }, "timeZone": "Europe/Dublin", "recurrenceType": "MASTER", "recurrenceRule": { "frequency": "WEEKLY", "interval": 1, "days": ["MONDAY"], "until": { "localDate": "2024-10-07T10:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-07T09:00:00Z" }, "adjustedUntil": { "localDate": "2024-10-07T10:00:00", "timeZone": "Europe/Dublin" } }, "transparency": "OPAQUE", "location": { "type": "BUSINESS" }, "resources": [ { "id": "76570209-101f-409b-af97-b445bdb63125", "name": "Staff Member #1", "type": "1cd44cf8-756f-41c3-bd90-3e2ffcaf1155", "scheduleId": "e73bf671-bb59-4488-8d1f-afcf0ebe8d27", "transparency": "OPAQUE", "permissionRole": "WRITER" } ], "totalCapacity": 50, "remainingCapacity": 50, "inheritedFields": [ "TITLE", "CAPACITY", "TIME_ZONE", "CONFERENCING_DETAILS" ], "appId": "13d21c63-b5ec-5912-8397-c3a5ddb27a97", "permissions": [], "revision": "2", "createdDate": "2024-10-06T17:16:36.345Z", "updatedDate": "2024-10-07T08:32:09.528Z" }, "newRecurringEventStartingFromSplit": { "id": "37e01b7f71374c06bca502eb435c15032269670344c547169026aaad81152f48", "scheduleId": "37e01b7f-7137-4c06-bca5-02eb435c1503", "externalScheduleId": "38e25e56-d50f-42b4-a3b6-aa04c61dded1", "scheduleName": "Full Body Strength", "type": "CLASS", "status": "CONFIRMED", "title": "Full Body Strength", "start": { "localDate": "2024-10-14T09:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-14T08:00:00Z" }, "end": { "localDate": "2024-10-14T10:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-14T09:00:00Z" }, "adjustedStart": { "localDate": "2024-10-14T09:00:00", "timeZone": "Europe/Dublin" }, "adjustedEnd": { "localDate": "2024-10-14T10:00:00", "timeZone": "Europe/Dublin" }, "timeZone": "Europe/Dublin", "recurrenceType": "MASTER", "recurrenceRule": { "frequency": "WEEKLY", "interval": 1, "days": ["MONDAY"] }, "transparency": "OPAQUE", "location": { "type": "BUSINESS" }, "resources": [ { "id": "76570209-101f-409b-af97-b445bdb63125", "name": "Staff Member #1", "type": "1cd44cf8-756f-41c3-bd90-3e2ffcaf1155", "scheduleId": "e73bf671-bb59-4488-8d1f-afcf0ebe8d27", "transparency": "OPAQUE", "permissionRole": "WRITER" } ], "totalCapacity": 50, "remainingCapacity": 50, "inheritedFields": [ "TITLE", "CAPACITY", "TIME_ZONE", "CONFERENCING_DETAILS" ], "appId": "13d21c63-b5ec-5912-8397-c3a5ddb27a97", "permissions": [], "revision": "1", "createdDate": "2024-10-07T08:32:09.521Z", "updatedDate": "2024-10-07T08:32:09.521Z" } }
Event TriggersThis method triggers the following events:
Did this help?

POST

Cancel Event


Developer Preview

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

Cancels an 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/events/{eventId}/cancel

Path Params
eventIdstringRequired

ID of the event to cancel.

Body Params
participantNotificationParticipantNotification

Information about whether participants of the canceled event are notified and the message they receive.


timeZonestring

Time zone in IANA tz database format for calculating adjustedStart and adjustedEnd. For example, America/New_York or UTC.

Default: timeZone specified in the business site properties.

Response Object
eventEvent

Canceled event.

Request
cURL
curl -X POST \ 'https://www.wixapis.com/calendar/v3/events/bb2ce57e-5e18-440c-ae91-8c47338915cf/cancel' \ -H 'Content-Type: application/json' \ -H 'Authorization: <AUTH>'
Response
JSON
{ "event": { "id": "bb2ce57e-5e18-440c-ae91-8c47338915cf", "scheduleId": "45b8287f-1549-42d0-bbf3-d6c959902bbf", "externalScheduleId": "d9f64edf-3056-476c-8209-b8fd0d702ce2", "scheduleName": "Aromatherapy", "type": "APPOINTMENT", "status": "CANCELLED", "title": "Aromatherapy", "start": { "localDate": "2024-10-10T10:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-10T09:00:00Z" }, "end": { "localDate": "2024-10-10T11:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-10T10:00:00Z" }, "adjustedStart": { "localDate": "2024-10-10T10:00:00", "timeZone": "Europe/Dublin" }, "adjustedEnd": { "localDate": "2024-10-10T11:00:00", "timeZone": "Europe/Dublin" }, "timeZone": "Europe/Dublin", "recurrenceType": "NONE", "transparency": "OPAQUE", "location": { "type": "BUSINESS" }, "resources": [ { "id": "76570209-101f-409b-af97-b445bdb63125", "name": "Staff Member #1", "type": "1cd44cf8-756f-41c3-bd90-3e2ffcaf1155", "scheduleId": "1010c0ae-bb34-40f7-bbba-c1dd6fc97943", "transparency": "OPAQUE" } ], "totalCapacity": 1, "remainingCapacity": 1, "inheritedFields": [ "TITLE", "CAPACITY", "TIME_ZONE", "CONFERENCING_DETAILS" ], "appId": "13d21c63-b5ec-5912-8397-c3a5ddb27a97", "permissions": [], "revision": "2", "createdDate": "2024-10-07T07:39:04.242Z", "updatedDate": "2024-10-07T07:45:37.258Z" } }
Errors
428Failed Precondition

There is 1 error with this status code:

See the entire list and learn more about Wix errors.

Event TriggersThis method triggers the following events:
Did this help?

POST

Bulk Cancel Event


Developer Preview

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

Cancels multiple events in bulk.

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/bulk/events/cancel

Body Params
eventIdsArray <string>RequiredminItems 1maxItems 50

IDs of the events to cancel.


returnEntityboolean

Whether to return the canceled events.

Default: false


participantNotificationParticipantNotification

Information about whether participants of the canceled events are notified and the message they receive.


timeZonestring

Time zone in IANA tz database format for calculating adjustedStart and adjustedEnd. For example, America/New_York or UTC.

Default: timeZone specified in the business site properties.

Response Object
resultsArray <BulkEventResult>

The result for each event, containing the event and whether the action was successful.


bulkActionMetadataBulkActionMetadata

Total successes and failures.

Bulk Cancel Event

Cancels multiple events.

Request
cURL
curl -X POST \ 'https://www.wixapis.com/calendar/v3/bulk/events/cancel' \ -H 'Content-Type: application/json' \ -H 'Authorization: <AUTH>' \ -d '{ "eventIds": [ "37e01b7f71374c06bca502eb435c1503b26e5434815a4e7ca6ac9be4783c5482", "37e01b7f71374c06bca502eb435c1503c0d77e8daef74681952c80b1bfd42d3d" ] }'
Response
JSON
{ "results": [ { "itemMetadata": { "id": "37e01b7f71374c06bca502eb435c1503b26e5434815a4e7ca6ac9be4783c5482", "originalIndex": 0, "success": true } }, { "itemMetadata": { "id": "37e01b7f71374c06bca502eb435c1503c0d77e8daef74681952c80b1bfd42d3d", "originalIndex": 1, "success": true } } ], "bulkActionMetadata": { "totalSuccesses": 2, "totalFailures": 0 } }
Errors
428Failed Precondition

There is 1 error with this status code:

See the entire list and learn more about Wix errors.

Event TriggersThis method triggers the following events:
Did this help?

GET

List Events By Contact Id


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 events filtered by the participant's contact ID.

You can't set toLocalDate to a value that's more than a full year after fromLocalDate.

Authentication

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

Permissions
Manage Bookings - all permissions
Read Bookings - all read permissions
Manage Bookings
Read Bookings - Including Participants
Read bookings calendar - including participants
Manage Calendars
Read Calendar - Including PI
Learn more about app permissions.
Endpoint
GET
https://www.wixapis.com/calendar/v3/events/contactId/{contactId}

Path Params
contactIdstringRequired

ID of the contact to retrieve events for. Required, unless you provide cursorPaging.

Query Params
fromLocalDatestring

Local start date and time from which events are returned in ISO-8601 format. For example, 2024-01-30T13:30:00. Required if cursorPaging isn't provided.

Events that start before the fromLocalDate but end after it are included in the results. Must be earlier than toLocalDate.


toLocalDatestring

Local end date and time up to which events are returned in ISO-8601 format. For example, 2024-01-30T13:30:00. Can't be more than a full year after 2024-01-30T13:30:00. Required if cursorPaging isn't provided.

Events that start before toLocalDate but end after it are included in the results. Must be later than fromLocalDate.


timeZonestring

Time zone in IANA tz database format for fromLocalDate, toLocalDate, and for calculating adjustedStart and adjustedEnd. For example, America/New_York or UTC.

Default: timeZone specified in the business site properties.


appIdstring

App ID to filter events by.


cursorPaging.limitintegerminimum 1maximum 100format int32

Number of events to return. Defaults to 50. Maximum 100.


cursorPaging.cursorstring

Pointer to the next or previous page in the list of results.

You can get the relevant cursor token from the pagingMetadata object in the previous call's response. Not relevant for the first request.

Response Object
eventsArray <Event>

Retrieved events.


pagingMetadataPagingMetadata

Paging metadata.

List Events By Contact Id
Request
cURL
curl -X GET \ 'https://www.wixapis.com/calendar/v3/events/contactId/5f4a86c5-fadf-427e-96e7-d57c14a4f49d?fromLocalDate=2024-09-27T12:00:00&toLocalDate=2024-10-28T23:59:59' \ -H 'Content-Type: application/json' \ -H 'Authorization: <AUTH>'
Response
JSON
{ "events": [ { "id": "10LYaoIDRso8lqq8LOipCexT6zGC75sye8coEGvmZm4pJw3YyZJTWYfK0uvlC1fpTlDtRIsmhSmo1Y9eKla5VRhwx60ClPGXOl7kCebvF02PKpGEZaFB8LY", "scheduleId": "a96c3c31-c9fc-495d-b55b-40c694fe196c", "externalScheduleId": "0cc230a0-9158-4c5e-a5da-9161bed0f6b1", "scheduleName": "Pump It Up", "type": "CLASS", "status": "CONFIRMED", "title": "Pump It Up", "start": { "localDate": "2024-10-09T12:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-09T11:00:00Z" }, "end": { "localDate": "2024-10-09T13:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-09T12:00:00Z" }, "adjustedStart": { "localDate": "2024-10-09T12:00:00", "timeZone": "Europe/Dublin" }, "adjustedEnd": { "localDate": "2024-10-09T13:00:00", "timeZone": "Europe/Dublin" }, "timeZone": "Europe/Dublin", "recurrenceType": "EXCEPTION", "recurrenceRule": { "frequency": "WEEKLY", "interval": 1, "days": ["WEDNESDAY"] }, "recurringEventId": "a96c3c31c9fc495db55b40c694fe196cb180373a5eb045a391e669fd19263666", "transparency": "OPAQUE", "location": { "type": "BUSINESS" }, "resources": [ { "id": "76570209-101f-409b-af97-b445bdb63125", "name": "Staff Member #1", "type": "1cd44cf8-756f-41c3-bd90-3e2ffcaf1155", "scheduleId": "e73bf671-bb59-4488-8d1f-afcf0ebe8d27", "transparency": "OPAQUE", "permissionRole": "WRITER" } ], "totalCapacity": 40, "remainingCapacity": 37, "participants": { "total": 3, "list": [ { "contactId": "5f4a86c5-fadf-427e-96e7-d57c14a4f49d" } ], "hasMore": false, "status": "UNKNOWN_STATUS" }, "inheritedFields": [ "TITLE", "CAPACITY", "LOCATION", "TIME_ZONE", "CONFERENCING_DETAILS", "RESOURCES", "TIME" ], "appId": "13d21c63-b5ec-5912-8397-c3a5ddb27a97", "permissions": [], "revision": "4", "createdDate": "2024-10-07T09:29:06.670Z", "updatedDate": "2024-10-07T09:29:06.688Z" }, { "id": "130o4ncdcmm8csGKUihodsF8Lnx5vQuUmP9uqeurIYireDpysq5nOxSIMvXKf80QrOXzc09i1GXRepTUj2L01bzmifAqWHwp2pTmmtR3TmHJx7Tv6ODrmgS", "scheduleId": "ea54fba1-8bad-4d1a-992a-a0fc772c6b46", "externalScheduleId": "c84d2eb2-925e-49d8-910a-280473629415", "scheduleName": "Zumba", "type": "CLASS", "status": "CONFIRMED", "title": "Zumba", "start": { "localDate": "2024-10-21T14:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-21T13:00:00Z" }, "end": { "localDate": "2024-10-21T15:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-21T14:00:00Z" }, "adjustedStart": { "localDate": "2024-10-21T14:00:00", "timeZone": "Europe/Dublin" }, "adjustedEnd": { "localDate": "2024-10-21T15:00:00", "timeZone": "Europe/Dublin" }, "timeZone": "Europe/Dublin", "recurrenceType": "EXCEPTION", "recurrenceRule": { "frequency": "WEEKLY", "interval": 1, "days": ["MONDAY"], "until": { "localDate": "2024-10-28T23:59:59", "timeZone": "Europe/Dublin", "utcDate": "2024-10-28T23:59:59Z" }, "adjustedUntil": { "localDate": "2024-10-28T23:59:59", "timeZone": "Europe/Dublin" } }, "recurringEventId": "ea54fba18bad4d1a992aa0fc772c6b464bed42954e3844f3b0d9e837d10b71b7", "transparency": "OPAQUE", "location": { "type": "BUSINESS" }, "resources": [ { "id": "91ce3170-9109-4d9e-bdb6-d2613691b4a2", "name": "Hanna", "type": "1cd44cf8-756f-41c3-bd90-3e2ffcaf1155", "scheduleId": "d04584d4-fe3a-4a3e-b71c-4640f604fb95", "transparency": "OPAQUE", "permissionRole": "WRITER" } ], "totalCapacity": 50, "remainingCapacity": 45, "participants": { "total": 5, "list": [ { "contactId": "5f4a86c5-fadf-427e-96e7-d57c14a4f49d" } ], "hasMore": false, "status": "UNKNOWN_STATUS" }, "inheritedFields": ["CONFERENCING_DETAILS"], "appId": "13d21c63-b5ec-5912-8397-c3a5ddb27a97", "permissions": [], "revision": "8", "createdDate": "2024-10-07T09:10:24.739Z", "updatedDate": "2024-10-07T09:17:26.066Z" } ], "pagingMetadata": { "count": 2, "cursors": {}, "hasNext": false } }
Did this help?

GET

List Events By Member Id


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 events filtered by the participant's member ID.

You can't set toLocalDate to a value that's more than a full year after fromLocalDate.

Permissions
Manage Bookings - all permissions
Read Bookings - all read permissions
Manage Bookings
Read Bookings - Public Data
Read Bookings - Including Participants
Read Bookings Calendar Availability
Read bookings calendar - including participants
Read Bookings Calendar
Manage Calendars
Read Calendar - Including PI
Read Calendar
Learn more about app permissions.
Endpoint
GET
https://www.wixapis.com/calendar/v3/events/memberId/{memberId}

Path Params
memberIdstringRequired

ID of the member to retrieve events for. Required, unless you provide cursorPaging. Provide me to retrieve events for the currently logged-in member. You must have the Read Calendars - Including PI permission scope to retrieve events for members who aren't the currently logged in member.

Query Params
fromLocalDatestring

Local start date and time from which events are returned in ISO-8601 format. For example, 2024-01-30T13:30:00. Required if neither cursorPaging is provided nor a non-empty eventIds array.

Events that start before the fromLocalDate but end after it are included in the results. Must be earlier than toLocalDate.


toLocalDatestring

Local end date and time up to which events are returned in ISO-8601 format. For example, 2024-01-30T13:30:00. Can't be more than a full year after fromLocalDate. Required if neither cursorPaging is provided nor a non-empty eventIds array.

Events that start before toLocalDate but end after it are included in the results. Must be later than fromLocalDate.


timeZonestring

Time zone in IANA tz database format for fromLocalDate, toLocalDate, and for calculating adjustedStart and adjustedEnd. For example, America/New_York or UTC.

Default: timeZone specified in the business site properties.


appIdstring

App ID to filter events by.


cursorPaging.limitintegerminimum 1maximum 100format int32

Number of events to return. Defaults to 50. Maximum 100.


cursorPaging.cursorstring

Pointer to the next or previous page in the list of results.

You can get the relevant cursor token from the pagingMetadata object in the previous call's response. Not relevant for the first request.


eventIdsArray <string>

IDs of the events to retrieve. If you provide a list of IDs, all other filters are ignored.

Max: 100 eventIds

Response Object
eventsArray <Event>

Retrieved events.


pagingMetadataPagingMetadata

Paging metadata.

List Events By Member Id
Request
cURL
curl -X GET \ 'https://www.wixapis.com/calendar/v3/events/memberId/5f4a86c5-fadf-427e-96e7-d57c14a4f49d?fromLocalDate=2024-09-27T12:00:00&toLocalDate=2024-10-28T23:59:59' \ -H 'Content-Type: application/json' \ -H 'Authorization: <AUTH>'
Response
JSON
{ "events": [ { "id": "10LYaoIDRso8lqq8LOipCexT6zGC75sye8coEGvmZm4pJw3YyZJTWYfK0uvlC1fpTlDtRIsmhSmo1Y9eKla5VRhwx60ClPGXOl7kCebvF02PKpGEZaFB8LY", "scheduleId": "a96c3c31-c9fc-495d-b55b-40c694fe196c", "externalScheduleId": "0cc230a0-9158-4c5e-a5da-9161bed0f6b1", "scheduleName": "Pump It Up", "type": "CLASS", "status": "CONFIRMED", "title": "Pump It Up", "start": { "localDate": "2024-10-09T12:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-09T11:00:00Z" }, "end": { "localDate": "2024-10-09T13:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-09T12:00:00Z" }, "adjustedStart": { "localDate": "2024-10-09T12:00:00", "timeZone": "Europe/Dublin" }, "adjustedEnd": { "localDate": "2024-10-09T13:00:00", "timeZone": "Europe/Dublin" }, "timeZone": "Europe/Dublin", "recurrenceType": "EXCEPTION", "recurrenceRule": { "frequency": "WEEKLY", "interval": 1, "days": ["WEDNESDAY"] }, "recurringEventId": "a96c3c31c9fc495db55b40c694fe196cb180373a5eb045a391e669fd19263666", "transparency": "OPAQUE", "location": { "type": "BUSINESS" }, "resources": [ { "id": "76570209-101f-409b-af97-b445bdb63125", "name": "Staff Member #1", "type": "1cd44cf8-756f-41c3-bd90-3e2ffcaf1155", "scheduleId": "e73bf671-bb59-4488-8d1f-afcf0ebe8d27", "transparency": "OPAQUE", "permissionRole": "WRITER" } ], "totalCapacity": 40, "remainingCapacity": 37, "participants": { "total": 3, "list": [ { "contactId": "5f4a86c5-fadf-427e-96e7-d57c14a4f49d" } ], "hasMore": false, "status": "UNKNOWN_STATUS" }, "inheritedFields": [ "TITLE", "CAPACITY", "LOCATION", "TIME_ZONE", "CONFERENCING_DETAILS", "RESOURCES", "TIME" ], "appId": "13d21c63-b5ec-5912-8397-c3a5ddb27a97", "permissions": [], "revision": "4", "createdDate": "2024-10-07T09:29:06.670Z", "updatedDate": "2024-10-07T09:29:06.688Z" }, { "id": "130o4ncdcmm8csGKUihodsF8Lnx5vQuUmP9uqeurIYireDpysq5nOxSIMvXKf80QrOXzc09i1GXRepTUj2L01bzmifAqWHwp2pTmmtR3TmHJx7Tv6ODrmgS", "scheduleId": "ea54fba1-8bad-4d1a-992a-a0fc772c6b46", "externalScheduleId": "c84d2eb2-925e-49d8-910a-280473629415", "scheduleName": "Zumba", "type": "CLASS", "status": "CONFIRMED", "title": "Zumba", "start": { "localDate": "2024-10-21T14:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-21T13:00:00Z" }, "end": { "localDate": "2024-10-21T15:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-21T14:00:00Z" }, "adjustedStart": { "localDate": "2024-10-21T14:00:00", "timeZone": "Europe/Dublin" }, "adjustedEnd": { "localDate": "2024-10-21T15:00:00", "timeZone": "Europe/Dublin" }, "timeZone": "Europe/Dublin", "recurrenceType": "EXCEPTION", "recurrenceRule": { "frequency": "WEEKLY", "interval": 1, "days": ["MONDAY"], "until": { "localDate": "2024-10-28T23:59:59", "timeZone": "Europe/Dublin", "utcDate": "2024-10-28T23:59:59Z" }, "adjustedUntil": { "localDate": "2024-10-28T23:59:59", "timeZone": "Europe/Dublin" } }, "recurringEventId": "ea54fba18bad4d1a992aa0fc772c6b464bed42954e3844f3b0d9e837d10b71b7", "transparency": "OPAQUE", "location": { "type": "BUSINESS" }, "resources": [ { "id": "91ce3170-9109-4d9e-bdb6-d2613691b4a2", "name": "Hanna", "type": "1cd44cf8-756f-41c3-bd90-3e2ffcaf1155", "scheduleId": "d04584d4-fe3a-4a3e-b71c-4640f604fb95", "transparency": "OPAQUE", "permissionRole": "WRITER" } ], "totalCapacity": 50, "remainingCapacity": 45, "participants": { "total": 5, "list": [ { "contactId": "5f4a86c5-fadf-427e-96e7-d57c14a4f49d" } ], "hasMore": false, "status": "UNKNOWN_STATUS" }, "inheritedFields": ["CONFERENCING_DETAILS"], "appId": "13d21c63-b5ec-5912-8397-c3a5ddb27a97", "permissions": [], "revision": "8", "createdDate": "2024-10-07T09:10:24.739Z", "updatedDate": "2024-10-07T09:17:26.066Z" } ], "pagingMetadata": { "count": 2, "cursors": {}, "hasNext": false } }
Did this help?

Event Cancelled


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 an event is canceled.

Not triggered when INSTANCE events are canceled. You can use the Events View API to get notified about INSTANCE events.

Permissions
Manage Bookings - all permissions
Read Bookings - all read permissions
Manage Bookings
Read Bookings - Including Participants
Read bookings calendar - including participants
Manage Calendars
Read Calendar - Including PI
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.event.


slugstring

Event name. Expected cancelled.


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.


actionEventActionEvent

Event information.

Event Body

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

JSON
{ "data": { "eventType": "wix.calendar.v3.event_cancelled", "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 } } }

EventCancelled
JSON
{ "id": "25e8d1cc-298d-481c-be33-35dd2653738a", "entityFqdn": "wix.calendar.v3.event", "slug": "cancelled", "entityId": "10LYaoIDRso8lqq8LOipCexT6zGC75sye8coEGvmZm4pLtsUkOaNdBkLGo5jr4OczLp05mwNKOkolcMEBZi7SvdBW7IStgjJlvANr0HJdr2clmbkbCp1y5Y", "actionEvent": { "body": { "event": { "id": "10LYaoIDRso8lqq8LOipCexT6zGC75sye8coEGvmZm4pLtsUkOaNdBkLGo5jr4OczLp05mwNKOkolcMEBZi7SvdBW7IStgjJlvANr0HJdr2clmbkbCp1y5Y", "scheduleId": "a96c3c31-c9fc-495d-b55b-40c694fe196c", "externalScheduleId": "0cc230a0-9158-4c5e-a5da-9161bed0f6b1", "scheduleName": "Pump It Up", "type": "CLASS", "status": "CANCELLED", "title": "Pump It Up", "start": { "localDate": "2024-10-14T12:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-14T11:00:00Z" }, "end": { "localDate": "2024-10-14T13:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-14T12:00:00Z" }, "timeZone": "Europe/Dublin", "recurrenceType": "EXCEPTION", "recurrenceRule": { "frequency": "WEEKLY", "interval": 1, "days": ["MONDAY"], "until": { "localDate": "2024-10-14T13:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-14T12:00:00Z" } }, "recurringEventId": "a96c3c31c9fc495db55b40c694fe196ce1781f3359f147f8a0827d1dd0385d9a", "transparency": "OPAQUE", "location": { "type": "BUSINESS" }, "resources": [ { "id": "76570209-101f-409b-af97-b445bdb63125", "name": "Staff Member #1", "type": "1cd44cf8-756f-41c3-bd90-3e2ffcaf1155", "scheduleId": "e73bf671-bb59-4488-8d1f-afcf0ebe8d27", "transparency": "OPAQUE", "permissionRole": "WRITER" } ], "totalCapacity": 40, "remainingCapacity": 40, "inheritedFields": [ "TITLE", "CAPACITY", "LOCATION", "TIME_ZONE", "CONFERENCING_DETAILS", "RESOURCES", "PARTICIPANTS", "TIME" ], "appId": "13d21c63-b5ec-5912-8397-c3a5ddb27a97", "permissions": [], "revision": "5", "createdDate": "2024-10-14T09:26:46.017Z", "updatedDate": "2024-10-14T09:26:46.034Z" } } }, "eventTime": "2024-10-14T09:26:46.332770321Z", "triggeredByAnonymizeRequest": false }
Did this help?

Event 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 an event is created, including when an existing MASTER event is split.

Not triggered when INSTANCE events are created. You can use the Events View API to get notified about INSTANCE events.

Permissions
Manage Bookings - all permissions
Read Bookings - all read permissions
Manage Bookings
Read Bookings - Including Participants
Read bookings calendar - including participants
Manage Calendars
Read Calendar - Including PI
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.event.


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.event_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 } } }

EventCreated
JSON
{ "id": "74e8d6c7-0cb3-412d-8be3-f34757951b3b", "entityFqdn": "wix.calendar.v3.event", "slug": "created", "entityId": "ec71d398-9ca9-41db-ad81-e79dba328d43", "createdEvent": { "entity": { "id": "ec71d398-9ca9-41db-ad81-e79dba328d43", "scheduleId": "bac52132-220a-4361-8bd4-2a884af45eb6", "externalScheduleId": "086ee18b-2295-485a-ad1f-82e2abb41df6", "scheduleName": "Fight Endurance", "type": "CLASS", "status": "CONFIRMED", "title": "Fight Endurance", "start": { "localDate": "2024-10-14T14:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-14T13:00:00Z" }, "end": { "localDate": "2024-10-14T14:30:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-14T13:30:00Z" }, "timeZone": "Europe/Dublin", "recurrenceType": "NONE", "transparency": "OPAQUE", "location": { "type": "BUSINESS" }, "resources": [ { "id": "c27dfdce-666a-4e56-8933-be249f2011b7", "name": "Emily", "type": "1cd44cf8-756f-41c3-bd90-3e2ffcaf1155", "scheduleId": "99fb6b69-8c8f-4578-bd7f-f11a87a88aad", "transparency": "OPAQUE", "permissionRole": "WRITER" } ], "totalCapacity": 50, "remainingCapacity": 50, "inheritedFields": [ "TITLE", "CAPACITY", "TIME_ZONE", "CONFERENCING_DETAILS" ], "appId": "13d21c63-b5ec-5912-8397-c3a5ddb27a97", "permissions": [], "revision": "1", "createdDate": "2024-10-14T09:20:48.561Z", "updatedDate": "2024-10-14T09:20:48.561Z" } }, "eventTime": "2024-10-14T09:20:48.566401133Z", "triggeredByAnonymizeRequest": false }
Did this help?

Event Recurring Split


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 MASTER event is split.

Permissions
Manage Bookings - all permissions
Read Bookings - all read permissions
Manage Bookings
Read Bookings - Including Participants
Read bookings calendar - including participants
Manage Calendars
Read Calendar - Including PI
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.event.


slugstring

Event name. Expected recurring_split.


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.


actionEventActionEvent

Event information.

Event Body

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

JSON
{ "data": { "eventType": "wix.calendar.v3.event_recurring_split", "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 } } }

EventRecurringSplit
JSON
{ "id": "febe8724-c65a-4e5f-b2e9-f011709de54c", "entityFqdn": "wix.calendar.v3.event", "slug": "recurring_split", "entityId": "a96c3c31c9fc495db55b40c694fe196c7ca6da6772184e2983571dcba732b296", "actionEvent": { "body": { "updatedRecurringEventEndingBeforeSplit": { "id": "a96c3c31c9fc495db55b40c694fe196c7ca6da6772184e2983571dcba732b296", "scheduleId": "a96c3c31-c9fc-495d-b55b-40c694fe196c", "externalScheduleId": "0cc230a0-9158-4c5e-a5da-9161bed0f6b1", "scheduleName": "Pump It Up", "type": "CLASS", "status": "CONFIRMED", "title": "Pump It Up", "start": { "localDate": "2024-10-11T12:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-11T11:00:00Z" }, "end": { "localDate": "2024-10-11T13:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-11T12:00:00Z" }, "timeZone": "Europe/Dublin", "recurrenceType": "MASTER", "recurrenceRule": { "frequency": "WEEKLY", "interval": 1, "days": ["FRIDAY"], "until": { "localDate": "2024-10-11T13:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-11T12:00:00Z" } }, "transparency": "OPAQUE", "location": { "type": "BUSINESS" }, "resources": [ { "id": "76570209-101f-409b-af97-b445bdb63125", "name": "Staff Member #1", "type": "1cd44cf8-756f-41c3-bd90-3e2ffcaf1155", "scheduleId": "e73bf671-bb59-4488-8d1f-afcf0ebe8d27", "transparency": "OPAQUE", "permissionRole": "WRITER" } ], "totalCapacity": 40, "remainingCapacity": 40, "inheritedFields": [ "TITLE", "CAPACITY", "TIME_ZONE", "CONFERENCING_DETAILS" ], "appId": "13d21c63-b5ec-5912-8397-c3a5ddb27a97", "permissions": [], "revision": "3", "createdDate": "2024-10-06T17:16:36.320Z", "updatedDate": "2024-10-14T09:28:48.093Z" }, "newRecurringEventStartingFromSplit": { "id": "a96c3c31c9fc495db55b40c694fe196c43a1dcda05d44a44b2cb5570a115eee3", "scheduleId": "a96c3c31-c9fc-495d-b55b-40c694fe196c", "externalScheduleId": "0cc230a0-9158-4c5e-a5da-9161bed0f6b1", "scheduleName": "Pump It Up", "type": "CLASS", "status": "CONFIRMED", "title": "Pump It Up", "start": { "localDate": "2024-10-18T12:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-18T11:00:00Z" }, "end": { "localDate": "2024-10-18T13:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-18T12:00:00Z" }, "timeZone": "Europe/Dublin", "recurrenceType": "MASTER", "recurrenceRule": { "frequency": "WEEKLY", "interval": 1, "days": ["FRIDAY"] }, "transparency": "OPAQUE", "location": { "type": "BUSINESS" }, "resources": [ { "id": "76570209-101f-409b-af97-b445bdb63125", "name": "Staff Member #1", "type": "1cd44cf8-756f-41c3-bd90-3e2ffcaf1155", "scheduleId": "e73bf671-bb59-4488-8d1f-afcf0ebe8d27", "transparency": "OPAQUE", "permissionRole": "WRITER" } ], "totalCapacity": 40, "remainingCapacity": 40, "inheritedFields": [ "TITLE", "CAPACITY", "TIME_ZONE", "CONFERENCING_DETAILS" ], "appId": "13d21c63-b5ec-5912-8397-c3a5ddb27a97", "permissions": [], "revision": "1", "createdDate": "2024-10-14T09:28:48.088Z", "updatedDate": "2024-10-14T09:28:48.088Z" } } }, "eventTime": "2024-10-14T09:28:48.693666801Z", "triggeredByAnonymizeRequest": false }
Did this help?

Event 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 an event is updated, including when it's canceled.

Not triggered when INSTANCE events are updated. You can use the Events View API to get notified about INSTANCE events.

Permissions
Manage Bookings - all permissions
Read Bookings - all read permissions
Manage Bookings
Read Bookings - Including Participants
Read bookings calendar - including participants
Manage Calendars
Read Calendar - Including PI
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.event.


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.event_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 } } }

EventUpdated
JSON
{ "id": "f155e2e5-08e8-44b1-8944-dcd1e4e08046", "entityFqdn": "wix.calendar.v3.event", "slug": "updated", "entityId": "ec71d398-9ca9-41db-ad81-e79dba328d43", "updatedEvent": { "currentEntity": { "id": "ec71d398-9ca9-41db-ad81-e79dba328d43", "scheduleId": "bac52132-220a-4361-8bd4-2a884af45eb6", "externalScheduleId": "086ee18b-2295-485a-ad1f-82e2abb41df6", "scheduleName": "Fight Endurance", "type": "CLASS", "status": "CONFIRMED", "title": "Fight Endurance", "start": { "localDate": "2024-10-14T14:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-14T13:00:00Z" }, "end": { "localDate": "2024-10-14T15:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-14T14:00:00Z" }, "timeZone": "Europe/Dublin", "recurrenceType": "NONE", "transparency": "OPAQUE", "location": { "type": "BUSINESS" }, "resources": [ { "id": "c27dfdce-666a-4e56-8933-be249f2011b7", "name": "Emily", "type": "1cd44cf8-756f-41c3-bd90-3e2ffcaf1155", "scheduleId": "99fb6b69-8c8f-4578-bd7f-f11a87a88aad", "transparency": "OPAQUE", "permissionRole": "WRITER" } ], "totalCapacity": 50, "remainingCapacity": 50, "inheritedFields": [ "TITLE", "CAPACITY", "TIME_ZONE", "CONFERENCING_DETAILS" ], "appId": "13d21c63-b5ec-5912-8397-c3a5ddb27a97", "permissions": [], "revision": "2", "createdDate": "2024-10-14T09:20:48.561Z", "updatedDate": "2024-10-14T09:22:48.853Z" } }, "eventTime": "2024-10-14T09:22:49.117282205Z", "triggeredByAnonymizeRequest": false }
Did this help?