Google · Capability
Google Calendar API — Calendar Events
Google Calendar API — Calendar Events. 11 operations. Lead operation: Google Return Events From Calendar. Self-contained Naftiko capability covering one Google business surface.
What You Can Do
GET
Googlereturneventsfromcalendar
— Google Return Events From Calendar
/v1/calendars/{calendarid}/events
POST
Googlecreateanevent
— Google Create An Event
/v1/calendars/{calendarid}/events
POST
Googleimportevent
— Google Import Event
/v1/calendars/{calendarid}/events/import
POST
Googlequickaddevent
— Google Quick Add Event
/v1/calendars/{calendarid}/events/quickadd
POST
Googlewatchevents
— Google Watch Events
/v1/calendars/{calendarid}/events/watch
GET
Googlegetevent
— Google Get Event
/v1/calendars/{calendarid}/events/{eventid}
PUT
Googleupdateevent
— Google Update Event
/v1/calendars/{calendarid}/events/{eventid}
PATCH
Googlepatchevent
— Google Patch Event
/v1/calendars/{calendarid}/events/{eventid}
DELETE
Googledeleteevent
— Google Delete Event
/v1/calendars/{calendarid}/events/{eventid}
GET
Googleinsertevent
— Google Insert Event
/v1/calendars/{calendarid}/events/{eventid}/instances
POST
Googlemoveevent
— Google Move Event
/v1/calendars/{calendarid}/events/{eventid}/move
MCP Tools
google-return-events-calendar
Google Return Events From Calendar
read-only
idempotent
google-create-event
Google Create An Event
google-import-event
Google Import Event
google-quick-add-event
Google Quick Add Event
google-watch-events
Google Watch Events
google-get-event
Google Get Event
read-only
idempotent
google-update-event
Google Update Event
idempotent
google-patch-event
Google Patch Event
idempotent
google-delete-event
Google Delete Event
idempotent
google-insert-event
Google Insert Event
read-only
idempotent
google-move-event
Google Move Event
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Google Calendar API — Calendar Events
description: 'Google Calendar API — Calendar Events. 11 operations. Lead operation: Google Return Events From Calendar.
Self-contained Naftiko capability covering one Google business surface.'
tags:
- Google
- Calendar Events
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
GOOGLE_API_KEY: GOOGLE_API_KEY
capability:
consumes:
- type: http
namespace: calendar-calendar-events
baseUri: https://www.googleapis.com/calendar/v3
description: Google Calendar API — Calendar Events business capability. Self-contained, no shared references.
resources:
- name: calendars-calendarId-events
path: /calendars/{calendarId}/events
operations:
- name: googlereturneventsfromcalendar
method: GET
description: Google Return Events From Calendar
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Accept
in: header
type: string
- name: alwaysIncludeEmail
in: query
type: boolean
- name: eventTypes
in: query
type: string
- name: iCalUID
in: query
type: string
- name: maxAttendees
in: query
type: integer
- name: maxResults
in: query
type: integer
- name: orderBy
in: query
type: string
- name: pageToken
in: query
type: string
- name: privateExtendedProperty
in: query
type: string
- name: q
in: query
type: string
- name: sharedExtendedProperty
in: query
type: string
- name: showDeleted
in: query
type: boolean
- name: showHiddenInvitations
in: query
type: boolean
- name: singleEvents
in: query
type: boolean
- name: syncToken
in: query
type: string
- name: timeMax
in: query
type: string
- name: timeMin
in: query
type: string
- name: timeZone
in: query
type: string
- name: updatedMin
in: query
type: string
- name: alt
in: query
type: string
description: Data format for the response.
- name: fields
in: query
type: string
description: Selector specifying which fields to include in a partial response.
- name: key
in: query
type: string
description: API key. Your API key identifies your project and provides you with API access, quota, and reports.
Required unless you provide an OAuth 2.0 token.
- name: oauth_token
in: query
type: string
description: OAuth 2.0 token for the current user.
- name: prettyPrint
in: query
type: boolean
description: Returns response with indentations and line breaks.
- name: quotaUser
in: query
type: string
description: An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
- name: userIp
in: query
type: string
description: Deprecated. Please use quotaUser instead.
- name: calendarId
in: path
type: string
required: true
- name: Authorization
in: header
type: string
- name: googlecreateanevent
method: POST
description: Google Create An Event
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Content-Type
in: header
type: string
- name: Accept
in: header
type: string
- name: conferenceDataVersion
in: query
type: integer
- name: maxAttendees
in: query
type: integer
- name: sendNotifications
in: query
type: boolean
- name: sendUpdates
in: query
type: string
- name: supportsAttachments
in: query
type: boolean
- name: alt
in: query
type: string
description: Data format for the response.
- name: fields
in: query
type: string
description: Selector specifying which fields to include in a partial response.
- name: key
in: query
type: string
description: API key. Your API key identifies your project and provides you with API access, quota, and reports.
Required unless you provide an OAuth 2.0 token.
- name: oauth_token
in: query
type: string
description: OAuth 2.0 token for the current user.
- name: prettyPrint
in: query
type: boolean
description: Returns response with indentations and line breaks.
- name: quotaUser
in: query
type: string
description: An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
- name: userIp
in: query
type: string
description: Deprecated. Please use quotaUser instead.
- name: calendarId
in: path
type: string
required: true
- name: Authorization
in: header
type: string
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: calendars-calendarId-events-import
path: /calendars/{calendarId}/events/import
operations:
- name: googleimportevent
method: POST
description: Google Import Event
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Content-Type
in: header
type: string
- name: Accept
in: header
type: string
- name: conferenceDataVersion
in: query
type: integer
- name: supportsAttachments
in: query
type: boolean
- name: alt
in: query
type: string
description: Data format for the response.
- name: fields
in: query
type: string
description: Selector specifying which fields to include in a partial response.
- name: key
in: query
type: string
description: API key. Your API key identifies your project and provides you with API access, quota, and reports.
Required unless you provide an OAuth 2.0 token.
- name: oauth_token
in: query
type: string
description: OAuth 2.0 token for the current user.
- name: prettyPrint
in: query
type: boolean
description: Returns response with indentations and line breaks.
- name: quotaUser
in: query
type: string
description: An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
- name: userIp
in: query
type: string
description: Deprecated. Please use quotaUser instead.
- name: calendarId
in: path
type: string
required: true
- name: Authorization
in: header
type: string
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: calendars-calendarId-events-quickAdd
path: /calendars/{calendarId}/events/quickAdd
operations:
- name: googlequickaddevent
method: POST
description: Google Quick Add Event
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Accept
in: header
type: string
- name: text
in: query
type: string
description: (Required)
- name: sendNotifications
in: query
type: boolean
- name: sendUpdates
in: query
type: string
- name: alt
in: query
type: string
description: Data format for the response.
- name: fields
in: query
type: string
description: Selector specifying which fields to include in a partial response.
- name: key
in: query
type: string
description: API key. Your API key identifies your project and provides you with API access, quota, and reports.
Required unless you provide an OAuth 2.0 token.
- name: oauth_token
in: query
type: string
description: OAuth 2.0 token for the current user.
- name: prettyPrint
in: query
type: boolean
description: Returns response with indentations and line breaks.
- name: quotaUser
in: query
type: string
description: An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
- name: userIp
in: query
type: string
description: Deprecated. Please use quotaUser instead.
- name: calendarId
in: path
type: string
required: true
- name: Authorization
in: header
type: string
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: calendars-calendarId-events-watch
path: /calendars/{calendarId}/events/watch
operations:
- name: googlewatchevents
method: POST
description: Google Watch Events
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Content-Type
in: header
type: string
- name: Accept
in: header
type: string
- name: alwaysIncludeEmail
in: query
type: boolean
- name: eventTypes
in: query
type: string
- name: iCalUID
in: query
type: string
- name: maxAttendees
in: query
type: integer
- name: maxResults
in: query
type: integer
- name: orderBy
in: query
type: string
- name: pageToken
in: query
type: string
- name: privateExtendedProperty
in: query
type: string
- name: q
in: query
type: string
- name: sharedExtendedProperty
in: query
type: string
- name: showDeleted
in: query
type: boolean
- name: showHiddenInvitations
in: query
type: boolean
- name: singleEvents
in: query
type: boolean
- name: syncToken
in: query
type: string
- name: timeMax
in: query
type: string
- name: timeMin
in: query
type: string
- name: timeZone
in: query
type: string
- name: updatedMin
in: query
type: string
- name: alt
in: query
type: string
description: Data format for the response.
- name: fields
in: query
type: string
description: Selector specifying which fields to include in a partial response.
- name: key
in: query
type: string
description: API key. Your API key identifies your project and provides you with API access, quota, and reports.
Required unless you provide an OAuth 2.0 token.
- name: oauth_token
in: query
type: string
description: OAuth 2.0 token for the current user.
- name: prettyPrint
in: query
type: boolean
description: Returns response with indentations and line breaks.
- name: quotaUser
in: query
type: string
description: An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
- name: userIp
in: query
type: string
description: Deprecated. Please use quotaUser instead.
- name: calendarId
in: path
type: string
required: true
- name: Authorization
in: header
type: string
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: calendars-calendarId-events-eventId
path: /calendars/{calendarId}/events/{eventId}
operations:
- name: googlegetevent
method: GET
description: Google Get Event
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Accept
in: header
type: string
- name: alwaysIncludeEmail
in: query
type: boolean
- name: maxAttendees
in: query
type: integer
- name: timeZone
in: query
type: string
- name: alt
in: query
type: string
description: Data format for the response.
- name: fields
in: query
type: string
description: Selector specifying which fields to include in a partial response.
- name: key
in: query
type: string
description: API key. Your API key identifies your project and provides you with API access, quota, and reports.
Required unless you provide an OAuth 2.0 token.
- name: oauth_token
in: query
type: string
description: OAuth 2.0 token for the current user.
- name: prettyPrint
in: query
type: boolean
description: Returns response with indentations and line breaks.
- name: quotaUser
in: query
type: string
description: An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
- name: userIp
in: query
type: string
description: Deprecated. Please use quotaUser instead.
- name: calendarId
in: path
type: string
required: true
- name: eventId
in: path
type: string
required: true
- name: Authorization
in: header
type: string
- name: googleupdateevent
method: PUT
description: Google Update Event
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Content-Type
in: header
type: string
- name: Accept
in: header
type: string
- name: alwaysIncludeEmail
in: query
type: boolean
- name: conferenceDataVersion
in: query
type: integer
- name: maxAttendees
in: query
type: integer
- name: sendNotifications
in: query
type: boolean
- name: sendUpdates
in: query
type: string
- name: supportsAttachments
in: query
type: boolean
- name: alt
in: query
type: string
description: Data format for the response.
- name: fields
in: query
type: string
description: Selector specifying which fields to include in a partial response.
- name: key
in: query
type: string
description: API key. Your API key identifies your project and provides you with API access, quota, and reports.
Required unless you provide an OAuth 2.0 token.
- name: oauth_token
in: query
type: string
description: OAuth 2.0 token for the current user.
- name: prettyPrint
in: query
type: boolean
description: Returns response with indentations and line breaks.
- name: quotaUser
in: query
type: string
description: An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
- name: userIp
in: query
type: string
description: Deprecated. Please use quotaUser instead.
- name: calendarId
in: path
type: string
required: true
- name: eventId
in: path
type: string
required: true
- name: Authorization
in: header
type: string
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: googlepatchevent
method: PATCH
description: Google Patch Event
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Content-Type
in: header
type: string
- name: Accept
in: header
type: string
- name: alwaysIncludeEmail
in: query
type: boolean
- name: conferenceDataVersion
in: query
type: integer
- name: maxAttendees
in: query
type: integer
- name: sendNotifications
in: query
type: boolean
- name: sendUpdates
in: query
type: string
- name: supportsAttachments
in: query
type: boolean
- name: alt
in: query
type: string
description: Data format for the response.
- name: fields
in: query
type: string
description: Selector specifying which fields to include in a partial response.
- name: key
in: query
type: string
description: API key. Your API key identifies your project and provides you with API access, quota, and reports.
Required unless you provide an OAuth 2.0 token.
- name: oauth_token
in: query
type: string
description: OAuth 2.0 token for the current user.
- name: prettyPrint
in: query
type: boolean
description: Returns response with indentations and line breaks.
- name: quotaUser
in: query
type: string
description: An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
- name: userIp
in: query
type: string
description: Deprecated. Please use quotaUser instead.
- name: calendarId
in: path
type: string
required: true
- name: eventId
in: path
type: string
required: true
- name: Authorization
in: header
type: string
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: googledeleteevent
method: DELETE
description: Google Delete Event
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: sendNotifications
in: query
type: boolean
- name: sendUpdates
in: query
type: string
- name: alt
in: query
type: string
description: Data format for the response.
- name: fields
in: query
type: string
description: Selector specifying which fields to include in a partial response.
- name: key
in: query
type: string
description: API key. Your API key identifies your project and provides you with API access, quota, and reports.
Required unless you provide an OAuth 2.0 token.
- name: oauth_token
in: query
type: string
description: OAuth 2.0 token for the current user.
- name: prettyPrint
in: query
type: boolean
description: Returns response with indentations and line breaks.
- name: quotaUser
in: query
type: string
description: An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
- name: userIp
in: query
type: string
description: Deprecated. Please use quotaUser instead.
- name: calendarId
in: path
type: string
required: true
- name: eventId
in: path
type: string
required: true
- name: Authorization
in: header
type: string
- name: calendars-calendarId-events-eventId-instances
path: /calendars/{calendarId}/events/{eventId}/instances
operations:
- name: googleinsertevent
method: GET
description: Google Insert Event
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Accept
in: header
type: string
- name: alwaysIncludeEmail
in: query
type: boolean
- name: maxAttendees
in: query
type: integer
- name: maxResults
in: query
type: integer
- name: originalStart
in: query
type: string
- name: pageToken
in: query
type: string
- name: showDeleted
in: query
type: boolean
- name: timeMax
in: query
type: string
- name: timeMin
in: query
type: string
- name: timeZone
in: query
type: string
- name: alt
in: query
type: string
description: Data format for the response.
- name: fields
in: query
type: string
description: Selector specifying which fields to include in a partial response.
- name: key
in: query
type: string
description: API key. Your API key identifies your project and provides you with API access, quota, and reports.
Required unless you provide an OAuth 2.0 token.
- name: oauth_token
in: query
type: string
description: OAuth 2.0 token for the current user.
- name: prettyPrint
in: query
type: boolean
description: Returns response with indentations and line breaks.
- name: quotaUser
in: query
type: string
description: An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
- name: userIp
in: query
type: string
description: Deprecated. Please use quotaUser instead.
- name: calendarId
in: path
type: string
required: true
- name: eventId
in: path
type: string
required: true
- name: Authorization
in: header
type: string
- name: calendars-calendarId-events-eventId-move
path: /calendars/{calendarId}/events/{eventId}/move
operations:
- name: googlemoveevent
method: POST
description: Google Move Event
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Accept
in: header
type: string
- name: destination
in: query
type: string
description: (Required)
- name: sendNotifications
in: query
type: boolean
- name: sendUpdates
in: query
type: string
- name: alt
in: query
type: string
description: Data format for the response.
- name: fields
in: query
type: string
description: Selector specifying which fields to include in a partial response.
- name: key
in: query
type: string
description: API key. Your API key identifies your project and provides you with API access, quota, and reports.
Required unless you provide an OAuth 2.0 token.
- name: oauth_token
in: query
type: string
description: OAuth 2.0 token for the current user.
- name: prettyPrint
in: query
type: boolean
description: Returns response with indentations and line breaks.
- name: quotaUser
in: query
type: string
description: An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
- name: userIp
in: query
type: string
description: Deprecated. Please use quotaUser instead.
- name: calendarId
in: path
type: string
required: true
- name: eventId
in: path
type: string
required: true
- name: Authorization
in: header
type: string
- name: body
in: body
type: object
description: Request body (JSON).
required: false
exposes:
- type: rest
namespace: calendar-calendar-events-rest
port: 8080
description: REST adapter for Google Calendar API — Calendar Events. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/calendars/{calendarid}/events
name: calendars-calendarid-events
description: REST surface for calendars-calendarId-events.
operations:
- method: GET
name: googlereturneventsfromcalendar
description: Google Return Events From Calendar
call: calendar-calendar-events.googlereturneventsfromcalendar
with:
Accept: rest.Accept
alwaysIncludeEmail: rest.alwaysIncludeEmail
eventTypes: rest.eventTypes
iCalUID: rest.iCalUID
maxAttendees: rest.maxAttendees
maxResults: rest.maxResults
orderBy: rest.orderBy
pageToken: rest.pageToken
privateExtendedProperty: rest.privateExtendedProperty
q: rest.q
sharedExtendedProperty: rest.sharedExtendedProperty
showDeleted: rest.showDeleted
showHiddenInvitations: rest.showHiddenInvitations
singleEvents: rest.singleEvents
syncToken: rest.syncToken
timeMax: rest.timeMax
timeMin: rest.timeMin
timeZone: rest.timeZone
updatedMin: rest.updatedMin
alt: rest.alt
fields: rest.fields
key: rest.key
oauth_token: rest.oauth_token
prettyPrint: rest.prettyPrint
quotaUser: rest.quotaUser
userIp: rest.userIp
calendarId: rest.calendarId
Authorization: rest.Authorization
outputParameters:
- type: object
mapping: $.
- method: POST
name: googlecreateanevent
description: Google Create An Event
call: calendar-calendar-events.googlecreateanevent
with:
Content-Type: rest.Content-Type
Accept: rest.Accept
conferenceDataVersion: rest.conferenceDataVersion
maxAttendees: rest.maxAttendees
sendNotifications: rest.sendNotifications
sendUpdates: rest.sendUpdates
supportsAttachments: rest.supportsAttachments
alt: rest.alt
fields: rest.fields
key: rest.key
oauth_token: rest.oauth_token
prettyPrint: rest.prettyPrint
quotaUser: rest.quotaUser
userIp: rest.userIp
calendarId: rest.calendarId
Authorization: rest.Authorization
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/calendars/{calendarid}/events/import
name: calendars-calendarid-events-import
description: REST surface for calendars-calendarId-events-import.
operations:
- method: POST
name: googleimportevent
description: Google Import Event
call: calendar-calendar-events.googleimportevent
with:
Content-Type: rest.Content-Type
Accept: rest.Accept
conferenceDataVersion: rest.conferenceDataVersion
supportsAttachments: rest.supportsAttachments
alt: rest.alt
fields: rest.fields
key: rest.key
oauth_token: rest.oauth_token
prettyPrint: rest.prettyPrint
quotaUser: rest.quotaUser
userIp: rest.userIp
calendarId: rest.calendarId
Authorization: rest.Authorization
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/calendars/{calendarid}/events/quickadd
name: calendars-calendarid-events-quickadd
description: REST surface for calendars-calendarId-events-quickAdd.
operations:
- method: POST
name: googlequickaddevent
description: Google Quick Add Event
call: calendar-calendar-events.googlequickaddevent
with:
Accept: rest.Accept
text: rest.text
sendNotifications: rest.sendNotifications
sendUpdates: rest.sendUpdates
alt: rest.alt
fields: rest.fields
key: rest.key
oauth_token: rest.oauth_token
prettyPrint: rest.prettyPrint
quotaUser: rest.quotaUser
userIp: rest.userIp
calendarId: rest.calendarId
Authorization: rest.Authorization
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/calendars/{calendarid}/events/watch
name: calendars-calendarid-events-watch
description: REST surface for calendars-calendarId-events-watch.
operations:
- method: POST
name: googlewatchevents
description: Google Watch Events
call: calendar-calendar-events.googlewatchevents
with:
Content-Type: rest.Content-Type
Accept: rest.Accept
alwaysIncludeEmail: rest.alwaysIncludeEmail
eventTypes: rest.eventTypes
iCalUID: rest.iCalUID
maxAttendees: rest.maxAttendees
maxResults: rest.maxResults
orderBy: rest.orderBy
pageToken: rest.pageToken
privateExtendedProperty: rest.privateExtendedProperty
q: rest.q
sharedExtendedProperty: rest.sharedExtendedProperty
showDeleted: rest.showDeleted
showHiddenInvitations: rest.showHiddenInvitations
singleEvents: rest.singleEvents
syncToken: rest.syncToken
timeMax: rest.timeMax
timeMin: rest.timeMin
timeZone: rest.timeZone
updatedMin: rest.updatedMin
alt: rest.alt
fields: rest.fields
key: rest.key
oauth_token: rest.oauth_token
prettyPrint: rest.prettyPrint
quotaUser: rest.quotaUser
userIp: rest.userIp
calendarId: rest.calendarId
Authorization: rest.Authorization
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/calendars/{calendarid}/events/{eventid}
name: calendars-calendarid-events-eventid
description: REST surface for calendars-calendarId-events-eventId.
operations:
- method: GET
name: googlegetevent
description: Google Get Event
call: calendar-calendar-events.googlege
# --- truncated at 32 KB (47 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/google/refs/heads/main/capabilities/calendar-calendar-events.yaml