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