---
title: "POST /calendars/{calendarId}/events/watch"
method: POST
path: "/calendars/{calendarId}/events/watch"
tags: ["events"]
---

# POST /calendars/{calendarId}/events/watch

`POST /calendars/{calendarId}/events/watch`

## Request

- Base URL: `https://www.googleapis.com/calendar/v3`
- URL: `https://www.googleapis.com/calendar/v3/calendars/{calendarId}/events/watch`
- Auth: one of:
  - OAuth 2 and OAuth 2
    - Implicit: `https://accounts.google.com/o/oauth2/auth`
    - Scopes: `https://www.googleapis.com/auth/calendar`
    - Authorization code: `https://accounts.google.com/o/oauth2/auth`
    - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/calendar`
  - OAuth 2 and OAuth 2
    - Implicit: `https://accounts.google.com/o/oauth2/auth`
    - Scopes: `https://www.googleapis.com/auth/calendar.app.created`
    - Authorization code: `https://accounts.google.com/o/oauth2/auth`
    - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/calendar.app.created`
  - OAuth 2 and OAuth 2
    - Implicit: `https://accounts.google.com/o/oauth2/auth`
    - Scopes: `https://www.googleapis.com/auth/calendar.events`
    - Authorization code: `https://accounts.google.com/o/oauth2/auth`
    - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/calendar.events`
  - OAuth 2 and OAuth 2
    - Implicit: `https://accounts.google.com/o/oauth2/auth`
    - Scopes: `https://www.googleapis.com/auth/calendar.events.freebusy`
    - Authorization code: `https://accounts.google.com/o/oauth2/auth`
    - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/calendar.events.freebusy`
  - OAuth 2 and OAuth 2
    - Implicit: `https://accounts.google.com/o/oauth2/auth`
    - Scopes: `https://www.googleapis.com/auth/calendar.events.owned`
    - Authorization code: `https://accounts.google.com/o/oauth2/auth`
    - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/calendar.events.owned`
  - OAuth 2 and OAuth 2
    - Implicit: `https://accounts.google.com/o/oauth2/auth`
    - Scopes: `https://www.googleapis.com/auth/calendar.events.owned.readonly`
    - Authorization code: `https://accounts.google.com/o/oauth2/auth`
    - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/calendar.events.owned.readonly`
  - OAuth 2 and OAuth 2
    - Implicit: `https://accounts.google.com/o/oauth2/auth`
    - Scopes: `https://www.googleapis.com/auth/calendar.events.public.readonly`
    - Authorization code: `https://accounts.google.com/o/oauth2/auth`
    - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/calendar.events.public.readonly`
  - OAuth 2 and OAuth 2
    - Implicit: `https://accounts.google.com/o/oauth2/auth`
    - Scopes: `https://www.googleapis.com/auth/calendar.events.readonly`
    - Authorization code: `https://accounts.google.com/o/oauth2/auth`
    - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/calendar.events.readonly`
  - OAuth 2 and OAuth 2
    - Implicit: `https://accounts.google.com/o/oauth2/auth`
    - Scopes: `https://www.googleapis.com/auth/calendar.readonly`
    - Authorization code: `https://accounts.google.com/o/oauth2/auth`
    - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/calendar.readonly`

Watch for changes to Events resources.

## Path parameters

- `calendarId` string, required

## Query parameters

- `alwaysIncludeEmail` boolean
- `eventTypes` string[]
- `iCalUID` string
- `maxAttendees` integer
- `maxResults` integer
- `orderBy` 'startTime' | 'updated'
- `pageToken` string
- `privateExtendedProperty` string[]
- `q` string
- `sharedExtendedProperty` string[]
- `showDeleted` boolean
- `showHiddenInvitations` boolean
- `singleEvents` boolean
- `syncToken` string
- `timeMax` string, date-time
- `timeMin` string, date-time
- `timeZone` string
- `updatedMin` string, date-time

## Request body

- Channel
  - `address` string: The address where notifications are delivered for this channel.
  - `expiration` string, int64: Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
  - `id` string: A UUID or similar unique string that identifies this channel.
  - `kind` string: Identifies this as a notification channel used to watch for changes to a resource, which is "api#channel".
  - `params` object: Additional parameters controlling delivery channel behavior. Optional.
  - `payload` boolean: A Boolean value to indicate whether payload is wanted. Optional.
  - `resourceId` string: An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
  - `resourceUri` string: A version-specific identifier for the watched resource.
  - `token` string: An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
  - `type` string: The type of delivery mechanism used for this channel. Valid values are "web_hook" (or "webhook"). Both values refer to a channel where Http requests are used to deliver messages.

## Response `200`

Successful response

- Channel
  - `address` string: The address where notifications are delivered for this channel.
  - `expiration` string, int64: Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
  - `id` string: A UUID or similar unique string that identifies this channel.
  - `kind` string: Identifies this as a notification channel used to watch for changes to a resource, which is "api#channel".
  - `params` object: Additional parameters controlling delivery channel behavior. Optional.
  - `payload` boolean: A Boolean value to indicate whether payload is wanted. Optional.
  - `resourceId` string: An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
  - `resourceUri` string: A version-specific identifier for the watched resource.
  - `token` string: An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
  - `type` string: The type of delivery mechanism used for this channel. Valid values are "web_hook" (or "webhook"). Both values refer to a channel where Http requests are used to deliver messages.

## Changes

- **2026-11-03** `54e6985ee63d`: 4 info
  - the security scope `https://www.googleapis.com/auth/calendar` was added to the endpoint's security scheme `Oauth2`
  - the security scope `https://www.googleapis.com/auth/calendar` was added to the endpoint's security scheme `Oauth2c`
  - the security scope `https://www.googleapis.com/auth/calendar.readonly` was removed from the endpoint's security scheme `Oauth2`
  - the security scope `https://www.googleapis.com/auth/calendar.readonly` was removed from the endpoint's security scheme `Oauth2c`
- **2026-10-10** `66a1fabee696`: 2 breaking, 4 info
  - removed the request body
  - removed the media type `*/*` for the response with the status `200`
  - the security scope `https://www.googleapis.com/auth/calendar` was added to the endpoint's security scheme `Oauth2`
  - the security scope `https://www.googleapis.com/auth/calendar` was added to the endpoint's security scheme `Oauth2c`
  - …2 more
- **2026-10-10** `44a87467e526`: 4 info
  - the security scope `https://www.googleapis.com/auth/calendar` was added to the endpoint's security scheme `Oauth2`
  - the security scope `https://www.googleapis.com/auth/calendar` was added to the endpoint's security scheme `Oauth2c`
  - the security scope `https://www.googleapis.com/auth/calendar.readonly` was removed from the endpoint's security scheme `Oauth2`
  - the security scope `https://www.googleapis.com/auth/calendar.readonly` was removed from the endpoint's security scheme `Oauth2c`

[Operation history](https://skmtc.dev/google/apis/calendar/changes/calendars/:calendarId/events/watch/post.md)

---

[API](https://skmtc.dev/google/apis/calendar.md) - [All operations](https://skmtc.dev/google/apis/calendar/llms.txt) - [OpenAPI document](https://skmtc.dev/google/apis/calendar/revisions/54e6985ee63d?raw)
