---
updatedAt: 2026-09-30T16:45:51.000Z
agentTools:
  projectIndex: https://open-api-docs.guesty.com/llms.txt
---

# Optimized Calendar Webhook and Endpoint

Introducing a new lightweight calendar webhook.

## Why the change?

Guesty’s calendar functionality has grown considerably in both scope and complexity since its introduction. From reporting on basic pricing and functionality, it now provides a whole range of data, including block types and their details, pricing, and availability rules. Given the daily frequency of calendar updates, it is necessary to revise how Guesty communicates these changes.

## What is changing?

Starting from **1 September 2025**, Guesty will begin deprecating the existing `listing.calendar.updated` webhook event in favor of a new lightweight one, `calendar.updated.v2`. It will notify you of changes by sending object IDs (listing and account IDs), the currency, and the date range. You will need to <Anchor target="_blank" href="https://open-api-docs.guesty.com/reference/accountswebhooklist">retrieve</Anchor> the full data from our Open API and compare it with your cached version to identify changes. Here is an example of the new webhook payload:

<br />

```json New webhook payload
{
  "listingId": "string",
  "accountId": "string",
  "currency": "string",
  "dateRange": {
    "start": "YYYY-MM-DD",
    "end": "YYYY-MM-DD"
  }
}
```

<br />

We have also released a new <Anchor target="_blank" href="ref:get_availability-pricing-api-calendar-listings-minified-listingid">optimized GET calendar endpoint</Anchor> that accepts the same parameters as the legacy endpoint, with an additional `view` parameter that can be set to either `compact` or `full`. **All default values remain unchanged**. The only difference is in the response structure:

* The *compact* view provides minimal data, excluding the `blockIds ` array and detailed ` blocks` objects for improved performance.
* The *full* view offers complete data, including the `blockIds ` array for each calendar day and the detailed 'blocks' objects.

<br />

## How to migrate

Follow the steps below to migrate your existing subscriptions.

1. Retrieve a list of <Anchor target="_blank" href="https://open-api-docs.guesty.com/reference/accountswebhooklist">all your webhooks</Anchor>.
2. Identify the ones containing the event `listing.calendar.updated`
3. <Anchor target="_blank" href="https://open-api-docs.guesty.com/reference/accountswebhookupdate">Update</Anchor> each relevant Webhook’s events array by:
   1. Removing `listing.calendar.updated`
   2. Adding `calendar.updated.v2`
4. Ensure that you introduce the logic you require on your end to [retrieve](https://open-api-docs.guesty.com/reference/get_availability-pricing-api-calendar-listings-minified-listingid) the updated calendar data as needed.
   1. Decide whether you want to adopt the new optimized endpoint or stay with the original.

<br />

### Example

#### Subscription before the migration

```curl
curl --location 'https://open-api.guesty.com/v1/webhooks' \
--header 'accept: application/json' \
--header 'authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
  "url": "https://12345.m.pipedream.net",
  "events": [    
    "listing.calendar.updated"
  ]
  }'

```

<br />

#### Subscription after the migration

```curl
curl --location 'https://open-api.guesty.com/v1/webhooks' \
--header 'accept: application/json' \
--header 'authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
  "url": "https://12345.m.pipedream.net",
  "events": [    
    "calendar.updated.v2"
  ]
  }'

```

<br />

## Where to get help?

We consider updating Webhook subscriptions to be a relatively straightforward task. You will need a Web developer or someone familiar with RESTful APIs to make this change. If you don’t have such expertise on hand, Guesty can [assist you](https://help.guesty.com/hc/en-gb/articles/9370047984413-Contacting-Customer-Experience).