Summary

REST API for Google Calendar management. HTTP transport, OAuth 2.0 Bearer authentication. Covers calendar CRUD, event management, ACL, free/busy queries, and push notifications via Channels.

Transport

protocols:
  - http
addressing:
  base_url: https://www.googleapis.com/calendar/v3
auth:
  type: oauth2  # stated: OAuth 2.0, Bearer token in Authorization header
  token_url: https://oauth2.googleapis.com/token  # stated in source

Traits

# API supports all core operations — infer from resource types present
traits:
  - queryable  # list, get, freebusy query endpoints present
  - routable   # events.move changes event calendar ownership

Actions

actions:
  - id: acl_delete
    label: Delete ACL Rule
    kind: action
    params:
      - name: calendarId
        type: string
      - name: ruleId
        type: string

  - id: acl_get
    label: Get ACL Rule
    kind: action
    params:
      - name: calendarId
        type: string
      - name: ruleId
        type: string

  - id: acl_insert
    label: Create ACL Rule
    kind: action
    params:
      - name: calendarId
        type: string

  - id: acl_list
    label: List ACL Rules
    kind: action
    params:
      - name: calendarId
        type: string

  - id: acl_patch
    label: Patch ACL Rule
    kind: action
    params:
      - name: calendarId
        type: string
      - name: ruleId
        type: string

  - id: acl_update
    label: Update ACL Rule
    kind: action
    params:
      - name: calendarId
        type: string
      - name: ruleId
        type: string

  - id: acl_watch
    label: Watch ACL Changes
    kind: action
    params:
      - name: calendarId
        type: string

  - id: calendarlist_delete
    label: Remove Calendar from Calendar List
    kind: action
    params:
      - name: calendarId
        type: string

  - id: calendarlist_get
    label: Get Calendar from Calendar List
    kind: action
    params:
      - name: calendarId
        type: string

  - id: calendarlist_insert
    label: Insert Calendar into Calendar List
    kind: action

  - id: calendarlist_list
    label: List Calendar List
    kind: action

  - id: calendarlist_patch
    label: Patch Calendar in Calendar List
    kind: action
    params:
      - name: calendarId
        type: string

  - id: calendarlist_update
    label: Update Calendar in Calendar List
    kind: action
    params:
      - name: calendarId
        type: string

  - id: calendarlist_watch
    label: Watch Calendar List Changes
    kind: action

  - id: calendars_clear
    label: Clear Primary Calendar
    kind: action
    params:
      - name: calendarId
        type: string

  - id: calendars_delete
    label: Delete Calendar
    kind: action
    params:
      - name: calendarId
        type: string

  - id: calendars_get
    label: Get Calendar Metadata
    kind: action
    params:
      - name: calendarId
        type: string

  - id: calendars_insert
    label: Create Secondary Calendar
    kind: action

  - id: calendars_patch
    label: Patch Calendar Metadata
    kind: action
    params:
      - name: calendarId
        type: string

  - id: calendars_update
    label: Update Calendar Metadata
    kind: action
    params:
      - name: calendarId
        type: string

  - id: channels_stop
    label: Stop Watch Channel
    kind: action

  - id: colors_get
    label: Get Color Definitions
    kind: action

  - id: events_delete
    label: Delete Event
    kind: action
    params:
      - name: calendarId
        type: string
      - name: eventId
        type: string

  - id: events_get
    label: Get Event
    kind: action
    params:
      - name: calendarId
        type: string
      - name: eventId
        type: string

  - id: events_import
    label: Import Event
    kind: action
    params:
      - name: calendarId
        type: string

  - id: events_insert
    label: Create Event
    kind: action
    params:
      - name: calendarId
        type: string

  - id: events_instances
    label: Get Recurring Event Instances
    kind: action
    params:
      - name: calendarId
        type: string
      - name: eventId
        type: string

  - id: events_list
    label: List Events
    kind: action
    params:
      - name: calendarId
        type: string

  - id: events_move
    label: Move Event to Another Calendar
    kind: action
    params:
      - name: calendarId
        type: string
      - name: eventId
        type: string
      - name: destination
        type: string
        description: Destination calendar ID (required query param)

  - id: events_patch
    label: Patch Event
    kind: action
    params:
      - name: calendarId
        type: string
      - name: eventId
        type: string

  - id: events_quickAdd
    label: Quick Add Event
    kind: action
    params:
      - name: calendarId
        type: string
      - name: text
        type: string
        description: Event text (required query param)

  - id: events_update
    label: Update Event
    kind: action
    params:
      - name: calendarId
        type: string
      - name: eventId
        type: string

  - id: events_watch
    label: Watch Events Changes
    kind: action
    params:
      - name: calendarId
        type: string

  - id: freebusy_query
    label: Query Free/Busy
    kind: action

  - id: settings_get
    label: Get User Setting
    kind: action
    params:
      - name: setting
        type: string

  - id: settings_list
    label: List All User Settings
    kind: action

  - id: settings_watch
    label: Watch Settings Changes
    kind: action

Feedbacks

# All GET/list/Query endpoints return structured JSON responses.
# Each resource type (Calendar, Event, AclRule, etc.) is a feedback type.
feedbacks:
  - id: acl_rule
    type: object
    description: Access control rule resource

  - id: calendar
    type: object
    description: Calendar metadata resource

  - id: calendar_list_entry
    type: object
    description: Calendar list entry resource

  - id: channel
    type: object
    description: Watch channel resource for push notifications

  - id: color_definitions
    type: object
    description: Color definitions for calendars and events

  - id: event
    type: object
    description: Event resource

  - id: freebusy_response
    type: object
    description: Free/busy information response

  - id: user_setting
    type: object
    description: Single user setting resource

  - id: user_settings_list
    type: object
    description: All user settings for authenticated user

Variables

# No settable parameters that are not discrete actions in this API.
# All state changes are action-based.

Events

# Push notifications via Google Cloud Pub/Sub through Channels.
# UNRESOLVED: Channel resource schema, notification format, expiry behavior
# not detailed in this reference document.

Macros

# No explicit multi-step sequences documented.

Safety

confirmation_required_for: []
interlocks: []
# UNRESOLVED: no safety warnings in source

Notes

OAuth 2.0 Bearer token passed in Authorization header. Service accounts supported for domain-wide delegation. PATCH semantics: unspecified fields unchanged, array fields overwrite entire array. PUT (update) replaces entire resource — use get + update for partial atomic updates. calendars.clear deletes all events from primary calendar — irreversible. events.move changes organizer; birthday/focusTime/fromGmail/outOfOffice/workingLocation event types cannot be moved.

Provenance

source_domains:
  - developers.google.com
source_urls:
  - https://developers.google.com/workspace/calendar/api/v3/reference
retrieved_at: 2026-05-13T16:00:00.000Z
last_checked_at: 2026-06-02T22:07:23.925Z

Verification Summary

verdict: verified
checked_at: 2026-06-02T22:07:23.925Z
matched_actions: 37
action_count: 37
confidence: medium
summary: "All 37 spec actions traced to source (dip-safe re-verify). (4 unresolved item(s) noted in Known Gaps.)"

Known Gaps

- "webhook/Channel push notification callback endpoint details not documented here"
- "Channel resource schema, notification format, expiry behavior"
- "no safety warnings in source"
- "Channel push notification callback URL format, Pub/Sub topic setup, notification payload schema"

From the AI4AV catalog (https://ai4av.net) · ODbL-1.0