Google · Capability
Google Calendar API — Calendar ACL Rules
Google Calendar API — Calendar ACL Rules. 4 operations. Lead operation: Google Get Access Control Rule. Self-contained Naftiko capability covering one Google business surface.
What You Can Do
GET
Googlegetaccesscontrolrule
— Google Get Access Control Rule
/v1/calendars/{calendarid}/acl/{ruleid}
PUT
Googleupdateaccesscontrolrule
— Google Update Access Control Rule
/v1/calendars/{calendarid}/acl/{ruleid}
PATCH
Googlepatchaccesscontrolrule
— Google Patch Access Control Rule
/v1/calendars/{calendarid}/acl/{ruleid}
DELETE
Googledeleteaccesscontrolrule
— Google Delete Access Control Rule
/v1/calendars/{calendarid}/acl/{ruleid}
MCP Tools
google-get-access-control-rule
Google Get Access Control Rule
read-only
idempotent
google-update-access-control-rule
Google Update Access Control Rule
idempotent
google-patch-access-control-rule
Google Patch Access Control Rule
idempotent
google-delete-access-control-rule
Google Delete Access Control Rule
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Google Calendar API — Calendar ACL Rules
description: 'Google Calendar API — Calendar ACL Rules. 4 operations. Lead operation: Google Get Access Control Rule. Self-contained
Naftiko capability covering one Google business surface.'
tags:
- Google
- Calendar ACL Rules
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-acl-rules
baseUri: https://www.googleapis.com/calendar/v3
description: Google Calendar API — Calendar ACL Rules business capability. Self-contained, no shared references.
resources:
- name: calendars-calendarId-acl-ruleId
path: /calendars/{calendarId}/acl/{ruleId}
operations:
- name: googlegetaccesscontrolrule
method: GET
description: Google Get Access Control Rule
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Accept
in: header
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: ruleId
in: path
type: string
required: true
- name: Authorization
in: header
type: string
- name: googleupdateaccesscontrolrule
method: PUT
description: Google Update 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: ruleId
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: googlepatchaccesscontrolrule
method: PATCH
description: Google Patch 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: ruleId
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: googledeleteaccesscontrolrule
method: DELETE
description: Google Delete Access Control Rule
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- 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: ruleId
in: path
type: string
required: true
- name: Authorization
in: header
type: string
exposes:
- type: rest
namespace: calendar-calendar-acl-rules-rest
port: 8080
description: REST adapter for Google Calendar API — Calendar ACL Rules. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/calendars/{calendarid}/acl/{ruleid}
name: calendars-calendarid-acl-ruleid
description: REST surface for calendars-calendarId-acl-ruleId.
operations:
- method: GET
name: googlegetaccesscontrolrule
description: Google Get Access Control Rule
call: calendar-calendar-acl-rules.googlegetaccesscontrolrule
with:
Accept: rest.Accept
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
ruleId: rest.ruleId
Authorization: rest.Authorization
outputParameters:
- type: object
mapping: $.
- method: PUT
name: googleupdateaccesscontrolrule
description: Google Update Access Control Rule
call: calendar-calendar-acl-rules.googleupdateaccesscontrolrule
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
ruleId: rest.ruleId
Authorization: rest.Authorization
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: googlepatchaccesscontrolrule
description: Google Patch Access Control Rule
call: calendar-calendar-acl-rules.googlepatchaccesscontrolrule
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
ruleId: rest.ruleId
Authorization: rest.Authorization
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: googledeleteaccesscontrolrule
description: Google Delete Access Control Rule
call: calendar-calendar-acl-rules.googledeleteaccesscontrolrule
with:
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
ruleId: rest.ruleId
Authorization: rest.Authorization
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: calendar-calendar-acl-rules-mcp
port: 9090
transport: http
description: MCP adapter for Google Calendar API — Calendar ACL Rules. One tool per consumed operation, routed inline
through this capability's consumes block.
tools:
- name: google-get-access-control-rule
description: Google Get Access Control Rule
hints:
readOnly: true
destructive: false
idempotent: true
call: calendar-calendar-acl-rules.googlegetaccesscontrolrule
with:
Accept: tools.Accept
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
ruleId: tools.ruleId
Authorization: tools.Authorization
outputParameters:
- type: object
mapping: $.
- name: google-update-access-control-rule
description: Google Update Access Control Rule
hints:
readOnly: false
destructive: false
idempotent: true
call: calendar-calendar-acl-rules.googleupdateaccesscontrolrule
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
ruleId: tools.ruleId
Authorization: tools.Authorization
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: google-patch-access-control-rule
description: Google Patch Access Control Rule
hints:
readOnly: false
destructive: false
idempotent: true
call: calendar-calendar-acl-rules.googlepatchaccesscontrolrule
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
ruleId: tools.ruleId
Authorization: tools.Authorization
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: google-delete-access-control-rule
description: Google Delete Access Control Rule
hints:
readOnly: false
destructive: true
idempotent: true
call: calendar-calendar-acl-rules.googledeleteaccesscontrolrule
with:
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
ruleId: tools.ruleId
Authorization: tools.Authorization
outputParameters:
- type: object
mapping: $.