Google · Capability
Google Calendar API — Calendar ACLs
Google Calendar API — Calendar ACLs. 3 operations. Lead operation: Google Return Access Control Rules. Self-contained Naftiko capability covering one Google business surface.
What You Can Do
GET
Googlereturnaccesscontrolrules
— Google Return Access Control Rules
/v1/calendars/{calendarid}/acl
POST
Googleinsertaccesscontrolrule
— Google Insert Access Control Rule
/v1/calendars/{calendarid}/acl
POST
Googlewatchaccesscontrolrules
— Google Watch Access Control Rules
/v1/calendars/{calendarid}/acl/watch
MCP Tools
google-return-access-control-rules
Google Return Access Control Rules
read-only
idempotent
google-insert-access-control-rule
Google Insert Access Control Rule
google-watch-access-control-rules
Google Watch Access Control Rules
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Google Calendar API — Calendar ACLs
description: 'Google Calendar API — Calendar ACLs. 3 operations. Lead operation: Google Return Access Control Rules. Self-contained
Naftiko capability covering one Google business surface.'
tags:
- Google
- Calendar ACLs
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-acls
baseUri: https://www.googleapis.com/calendar/v3
description: Google Calendar API — Calendar ACLs business capability. Self-contained, no shared references.
resources:
- name: calendars-calendarId-acl
path: /calendars/{calendarId}/acl
operations:
- name: googlereturnaccesscontrolrules
method: GET
description: Google Return Access Control Rules
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Accept
in: header
type: string
- name: maxResults
in: query
type: integer
- name: pageToken
in: query
type: string
- name: showDeleted
in: query
type: boolean
- name: syncToken
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: googleinsertaccesscontrolrule
method: POST
description: Google Insert Access Control Rule
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Content-Type
in: header
type: string
- name: Accept
in: header
type: string
- name: sendNotifications
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-acl-watch
path: /calendars/{calendarId}/acl/watch
operations:
- name: googlewatchaccesscontrolrules
method: POST
description: Google Watch Access Control Rules
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Content-Type
in: header
type: string
- name: Accept
in: header
type: string
- name: maxResults
in: query
type: integer
- name: pageToken
in: query
type: string
- name: showDeleted
in: query
type: boolean
- name: syncToken
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
exposes:
- type: rest
namespace: calendar-calendar-acls-rest
port: 8080
description: REST adapter for Google Calendar API — Calendar ACLs. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/calendars/{calendarid}/acl
name: calendars-calendarid-acl
description: REST surface for calendars-calendarId-acl.
operations:
- method: GET
name: googlereturnaccesscontrolrules
description: Google Return Access Control Rules
call: calendar-calendar-acls.googlereturnaccesscontrolrules
with:
Accept: rest.Accept
maxResults: rest.maxResults
pageToken: rest.pageToken
showDeleted: rest.showDeleted
syncToken: rest.syncToken
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: googleinsertaccesscontrolrule
description: Google Insert Access Control Rule
call: calendar-calendar-acls.googleinsertaccesscontrolrule
with:
Content-Type: rest.Content-Type
Accept: rest.Accept
sendNotifications: rest.sendNotifications
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}/acl/watch
name: calendars-calendarid-acl-watch
description: REST surface for calendars-calendarId-acl-watch.
operations:
- method: POST
name: googlewatchaccesscontrolrules
description: Google Watch Access Control Rules
call: calendar-calendar-acls.googlewatchaccesscontrolrules
with:
Content-Type: rest.Content-Type
Accept: rest.Accept
maxResults: rest.maxResults
pageToken: rest.pageToken
showDeleted: rest.showDeleted
syncToken: rest.syncToken
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: $.
- type: mcp
namespace: calendar-calendar-acls-mcp
port: 9090
transport: http
description: MCP adapter for Google Calendar API — Calendar ACLs. One tool per consumed operation, routed inline through
this capability's consumes block.
tools:
- name: google-return-access-control-rules
description: Google Return Access Control Rules
hints:
readOnly: true
destructive: false
idempotent: true
call: calendar-calendar-acls.googlereturnaccesscontrolrules
with:
Accept: tools.Accept
maxResults: tools.maxResults
pageToken: tools.pageToken
showDeleted: tools.showDeleted
syncToken: tools.syncToken
alt: tools.alt
fields: tools.fields
key: tools.key
oauth_token: tools.oauth_token
prettyPrint: tools.prettyPrint
quotaUser: tools.quotaUser
userIp: tools.userIp
calendarId: tools.calendarId
Authorization: tools.Authorization
outputParameters:
- type: object
mapping: $.
- name: google-insert-access-control-rule
description: Google Insert Access Control Rule
hints:
readOnly: false
destructive: false
idempotent: false
call: calendar-calendar-acls.googleinsertaccesscontrolrule
with:
Content-Type: tools.Content-Type
Accept: tools.Accept
sendNotifications: tools.sendNotifications
alt: tools.alt
fields: tools.fields
key: tools.key
oauth_token: tools.oauth_token
prettyPrint: tools.prettyPrint
quotaUser: tools.quotaUser
userIp: tools.userIp
calendarId: tools.calendarId
Authorization: tools.Authorization
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: google-watch-access-control-rules
description: Google Watch Access Control Rules
hints:
readOnly: false
destructive: false
idempotent: false
call: calendar-calendar-acls.googlewatchaccesscontrolrules
with:
Content-Type: tools.Content-Type
Accept: tools.Accept
maxResults: tools.maxResults
pageToken: tools.pageToken
showDeleted: tools.showDeleted
syncToken: tools.syncToken
alt: tools.alt
fields: tools.fields
key: tools.key
oauth_token: tools.oauth_token
prettyPrint: tools.prettyPrint
quotaUser: tools.quotaUser
userIp: tools.userIp
calendarId: tools.calendarId
Authorization: tools.Authorization
body: tools.body
outputParameters:
- type: object
mapping: $.