About the Events Views API

The Events Views API offers you webhooks that let you easily keep track of the next year in a schedule. Subscribing to the view gives you details about changes to all single-occurrence, EXCEPTION, and INSTANCE events at least one year into the future. Periodically, the view is extended.

With the Events Views API, you can:

  • Track in real-time when a single-occurrence, EXCEPTION, or INSTANCE event is created or updated.
  • Retrieve the view's current end date and get notified when it's extended.

For more in-depth scheduling management, see:

Before you begin

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

  • An event view is complete for at least a full year into the future at all times. Don't rely on completeness further than 1 year into the future.
  • You can't update the end date of the view.
  • MASTER events aren't included in the webhooks of the Events View API.

Use cases

Terminology

  • Event view: Subscribing to the event view lets you keep track of changes to a calendar's single-occurrence, EXCEPTION, and INSTANCE events at least one year into the future.
Did this help?

Events View Object


The eventsView object gives you details about how far into the future you can easily get a complete picture of a calendar. Subscribing to the event view webhooks lets you keep track of a calendar's single-occurrence, EXCEPTION, and INSTANCE events at least one year into the future.

Properties
endDatestringRead-onlyformat date-time

End date of the event view in YYYY-MM-DDThh:mm:ss.sssZ format.


futureDurationInDaysintegerRead-onlyformat int32

Number of days from now until the event view ends.

EventsView
JSON
{ "endDate": "2025-10-04T00:00:00Z", "futureDurationInDays": 380 }
Did this help?

GET

Get Events View


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 the current event view.

Doesn’t return details about events within the view. You can use Query Events, providing eventsView.endDate as toLocalDate to retrieve the events.

Endpoint
GET
https://www.wixapis.com/calendar/v3/events/view

Request
This endpoint does not take any parameters.
Response Object
eventsViewEventsView

Retrieved event view.

Get Events View

Retrieves the view’s end date for the calendar view.

Request
cURL
curl -X GET \ 'https://www.wixapis.com/calendar/v3/events/view' \ -H 'Content-Type: application/json' \ -H 'Authorization: <AUTH>'
Response
JSON
{ "eventsView": { "endDate": "2025-10-04T00:00:00Z", "futureDurationInDays": 380 } }
Did this help?

Events View Extended


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 the current event view is extended.

Doesn’t include details about existing events added to the view due to the extension. To receive updates about those events, subscribe to Events View Projection Updated.

The event view is periodically extended by Wix Calendars, you can't manually extend it.

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.events_view.


slugstring

Event name. Expected extended.


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.events_view_extended", "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 } } }

EventsViewExtended
JSON
{ "id": "44ebc978-5acd-4cb1-9e35-1f86c28a522a", "entityFqdn": "wix.calendar.v3.events_view", "slug": "extended", "entityId": "5976b723-b9b0-4355-bbae-6ff0eda34460", "actionEvent": { "extendedEndDate": "2025-10-09T00:00:00Z" }, "eventTime": "2024-09-24T10:44:18.185272128Z", "triggeredByAnonymizeRequest": false }
Did this help?

Events View Projection 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 added to, removed from, or updated within the current event view. This includes cases when:

  • A new event is created within the view.
  • An existing event within the view is updated, including when it's rescheduled to start outside the view.
  • An event within the view is deleted.
  • An event previously outside the view is rescheduled to fall within it.
  • The view is extended, bringing an existing event into scope.
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.events_view.


slugstring

Event name. Expected projection_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.


actionEventActionEvent

Event information.

Event Body

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

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

EventsViewProjectionUpdated
JSON
{ "id": "79cef953-0a0f-4ac9-89ea-22067c0f2e09", "entityFqdn": "wix.calendar.v3.events_view", "slug": "projection_updated", "entityId": "63dd0f90-21ac-44ad-baa8-bfac964bee0f", "actionEvent": { "body": { "eventAddedOrUpdated": { "event": { "id": "10LYaoIDRso8lqq8LOipCexT6zGC75sye8coEGvmZm4pJw3YyZJTWYfK0uvlC1fpTlDtRIsmhSmo1Y9eKla5VRhwx60ClPGXOl7keejlEvWxlX40v3qEyIq", "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-16T13:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-16T12:00:00Z" }, "end": { "localDate": "2024-10-16T14:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-16T13:00:00Z" }, "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": 40, "inheritedFields": [ "TITLE", "CAPACITY", "LOCATION", "TIME_ZONE", "CONFERENCING_DETAILS", "RESOURCES", "PARTICIPANTS" ], "appId": "13d21c63-b5ec-5912-8397-c3a5ddb27a97", "permissions": [], "revision": "5", "createdDate": "2024-10-14T09:51:36.176Z", "updatedDate": "2024-10-14T09:51:36.191Z" }, "previousEvent": { "id": "10LYaoIDRso8lqq8LOipCexT6zGC75sye8coEGvmZm4pJw3YyZJTWYfK0uvlC1fpTlDtRIsmhSmo1Y9eKla5VRhwx60ClPGXOl7keejlEvWxlX40v3qEyIq", "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-16T12:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-16T11:00:00Z" }, "end": { "localDate": "2024-10-16T13:00:00", "timeZone": "Europe/Dublin", "utcDate": "2024-10-16T12:00:00Z" }, "timeZone": "Europe/Dublin", "recurrenceType": "INSTANCE", "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": 40, "inheritedFields": [ "TITLE", "CAPACITY", "LOCATION", "TIME_ZONE", "CONFERENCING_DETAILS", "RESOURCES", "PARTICIPANTS", "TIME" ], "appId": "13d21c63-b5ec-5912-8397-c3a5ddb27a97", "permissions": [], "revision": "3", "createdDate": "2024-10-06T17:16:36.482Z", "updatedDate": "2024-10-07T09:29:06.681Z" } }, "appId": "13d21c63-b5ec-5912-8397-c3a5ddb27a97" } }, "eventTime": "2024-10-14T09:51:36.596163807Z", "triggeredByAnonymizeRequest": false }
Did this help?