Google · Capability
Google Drive API — Permissions
Google Drive API — Permissions. 5 operations. Lead operation: Google Get Files Fileid Permissions. Self-contained Naftiko capability covering one Google business surface.
What You Can Do
GET
Googledrivepermissionslist
— Google Get Files Fileid Permissions
/v1/files/{fileid}/permissions
POST
Googledrivepermissionscreate
— Google Post Files Fileid Permissions
/v1/files/{fileid}/permissions
GET
Googledrivepermissionsget
— Google Get Files Fileid Permissions Permissionid
/v1/files/{fileid}/permissions/{permissionid}
PATCH
Googledrivepermissionsupdate
— Google Patch Files Fileid Permissions Permissionid
/v1/files/{fileid}/permissions/{permissionid}
DELETE
Googledrivepermissionsdelete
— Google Delete Files Fileid Permissions Permissionid
/v1/files/{fileid}/permissions/{permissionid}
MCP Tools
google-get-files-fileid-permissions
Google Get Files Fileid Permissions
read-only
idempotent
google-post-files-fileid-permissions
Google Post Files Fileid Permissions
google-get-files-fileid-permissions-2
Google Get Files Fileid Permissions Permissionid
read-only
idempotent
google-patch-files-fileid-permissions
Google Patch Files Fileid Permissions Permissionid
idempotent
google-delete-files-fileid-permissions
Google Delete Files Fileid Permissions Permissionid
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Google Drive API — Permissions
description: 'Google Drive API — Permissions. 5 operations. Lead operation: Google Get Files Fileid Permissions. Self-contained
Naftiko capability covering one Google business surface.'
tags:
- Google
- Permissions
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
GOOGLE_API_KEY: GOOGLE_API_KEY
capability:
consumes:
- type: http
namespace: drive-permissions
baseUri: https://www.googleapis.com/drive/v3
description: Google Drive API — Permissions business capability. Self-contained, no shared references.
resources:
- name: files-fileId-permissions
path: /files/{fileId}/permissions
operations:
- name: googledrivepermissionslist
method: GET
description: Google Get Files Fileid Permissions
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: fileId
in: path
type: string
description: The ID of the file or shared drive.
required: true
- name: includePermissionsForView
in: query
type: string
description: Specifies which additional view's permissions to include in the response. Only 'published' is supported.
- name: pageSize
in: query
type: integer
description: The maximum number of permissions to return per page. When not set for files in a shared drive, at
most 100 results will be returned. When not set for files tha
- name: pageToken
in: query
type: string
description: The token for continuing a previous list request on the next page. This should be set to the value
of 'nextPageToken' from the previous response.
- name: supportsAllDrives
in: query
type: boolean
description: Whether the requesting application supports both My Drives and shared drives.
- name: supportsTeamDrives
in: query
type: boolean
description: 'Deprecated: Use `supportsAllDrives` instead.'
- name: useDomainAdminAccess
in: query
type: boolean
description: Issue the request as a domain administrator; if set to true, then the requester will be granted access
if the file ID parameter refers to a shared drive and the
- name: Authorization
in: header
type: string
- name: $.xgafv
in: query
type: string
description: V1 error format.
- name: access_token
in: query
type: string
description: OAuth access token.
- name: alt
in: query
type: string
description: Data format for response.
- name: callback
in: query
type: string
description: JSONP
- 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: Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned
to a user, but should not exceed 40 characters.
- name: upload_protocol
in: query
type: string
description: Upload protocol for media (e.g. "raw", "multipart").
- name: uploadType
in: query
type: string
description: Legacy upload protocol for media (e.g. "media", "multipart").
- name: googledrivepermissionscreate
method: POST
description: Google Post Files Fileid Permissions
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: fileId
in: path
type: string
description: The ID of the file or shared drive.
required: true
- name: emailMessage
in: query
type: string
description: A plain text custom message to include in the notification email.
- name: enforceSingleParent
in: query
type: boolean
description: 'Deprecated: See `moveToNewOwnersRoot` for details.'
- name: moveToNewOwnersRoot
in: query
type: boolean
description: This parameter will only take effect if the item is not in a shared drive and the request is attempting
to transfer the ownership of the item. If set to `true`,
- name: sendNotificationEmail
in: query
type: boolean
description: Whether to send a notification email when sharing to users or groups. This defaults to true for users
and groups, and is not allowed for other requests. It must
- name: supportsAllDrives
in: query
type: boolean
description: Whether the requesting application supports both My Drives and shared drives.
- name: supportsTeamDrives
in: query
type: boolean
description: 'Deprecated: Use `supportsAllDrives` instead.'
- name: transferOwnership
in: query
type: boolean
description: Whether to transfer ownership to the specified user and downgrade the current owner to a writer. This
parameter is required as an acknowledgement of the side ef
- name: useDomainAdminAccess
in: query
type: boolean
description: Issue the request as a domain administrator; if set to true, then the requester will be granted access
if the file ID parameter refers to a shared drive and the
- name: Authorization
in: header
type: string
- name: $.xgafv
in: query
type: string
description: V1 error format.
- name: access_token
in: query
type: string
description: OAuth access token.
- name: alt
in: query
type: string
description: Data format for response.
- name: callback
in: query
type: string
description: JSONP
- 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: Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned
to a user, but should not exceed 40 characters.
- name: upload_protocol
in: query
type: string
description: Upload protocol for media (e.g. "raw", "multipart").
- name: uploadType
in: query
type: string
description: Legacy upload protocol for media (e.g. "media", "multipart").
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: files-fileId-permissions-permissionId
path: /files/{fileId}/permissions/{permissionId}
operations:
- name: googledrivepermissionsget
method: GET
description: Google Get Files Fileid Permissions Permissionid
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: fileId
in: path
type: string
description: The ID of the file.
required: true
- name: permissionId
in: path
type: string
description: The ID of the permission.
required: true
- name: supportsAllDrives
in: query
type: boolean
description: Whether the requesting application supports both My Drives and shared drives.
- name: supportsTeamDrives
in: query
type: boolean
description: 'Deprecated: Use `supportsAllDrives` instead.'
- name: useDomainAdminAccess
in: query
type: boolean
description: Issue the request as a domain administrator; if set to true, then the requester will be granted access
if the file ID parameter refers to a shared drive and the
- name: Authorization
in: header
type: string
- name: $.xgafv
in: query
type: string
description: V1 error format.
- name: access_token
in: query
type: string
description: OAuth access token.
- name: alt
in: query
type: string
description: Data format for response.
- name: callback
in: query
type: string
description: JSONP
- 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: Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned
to a user, but should not exceed 40 characters.
- name: upload_protocol
in: query
type: string
description: Upload protocol for media (e.g. "raw", "multipart").
- name: uploadType
in: query
type: string
description: Legacy upload protocol for media (e.g. "media", "multipart").
- name: googledrivepermissionsupdate
method: PATCH
description: Google Patch Files Fileid Permissions Permissionid
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: fileId
in: path
type: string
description: The ID of the file or shared drive.
required: true
- name: permissionId
in: path
type: string
description: The ID of the permission.
required: true
- name: removeExpiration
in: query
type: boolean
description: Whether to remove the expiration date.
- name: supportsAllDrives
in: query
type: boolean
description: Whether the requesting application supports both My Drives and shared drives.
- name: supportsTeamDrives
in: query
type: boolean
description: 'Deprecated: Use `supportsAllDrives` instead.'
- name: transferOwnership
in: query
type: boolean
description: Whether to transfer ownership to the specified user and downgrade the current owner to a writer. This
parameter is required as an acknowledgement of the side ef
- name: useDomainAdminAccess
in: query
type: boolean
description: Issue the request as a domain administrator; if set to true, then the requester will be granted access
if the file ID parameter refers to a shared drive and the
- name: Authorization
in: header
type: string
- name: $.xgafv
in: query
type: string
description: V1 error format.
- name: access_token
in: query
type: string
description: OAuth access token.
- name: alt
in: query
type: string
description: Data format for response.
- name: callback
in: query
type: string
description: JSONP
- 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: Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned
to a user, but should not exceed 40 characters.
- name: upload_protocol
in: query
type: string
description: Upload protocol for media (e.g. "raw", "multipart").
- name: uploadType
in: query
type: string
description: Legacy upload protocol for media (e.g. "media", "multipart").
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: googledrivepermissionsdelete
method: DELETE
description: Google Delete Files Fileid Permissions Permissionid
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: fileId
in: path
type: string
description: The ID of the file or shared drive.
required: true
- name: permissionId
in: path
type: string
description: The ID of the permission.
required: true
- name: supportsAllDrives
in: query
type: boolean
description: Whether the requesting application supports both My Drives and shared drives.
- name: supportsTeamDrives
in: query
type: boolean
description: 'Deprecated: Use `supportsAllDrives` instead.'
- name: useDomainAdminAccess
in: query
type: boolean
description: Issue the request as a domain administrator; if set to true, then the requester will be granted access
if the file ID parameter refers to a shared drive and the
- name: Authorization
in: header
type: string
- name: $.xgafv
in: query
type: string
description: V1 error format.
- name: access_token
in: query
type: string
description: OAuth access token.
- name: alt
in: query
type: string
description: Data format for response.
- name: callback
in: query
type: string
description: JSONP
- 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: Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned
to a user, but should not exceed 40 characters.
- name: upload_protocol
in: query
type: string
description: Upload protocol for media (e.g. "raw", "multipart").
- name: uploadType
in: query
type: string
description: Legacy upload protocol for media (e.g. "media", "multipart").
authentication:
type: bearer
token: '{{env.GOOGLE_API_KEY}}'
exposes:
- type: rest
namespace: drive-permissions-rest
port: 8080
description: REST adapter for Google Drive API — Permissions. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/files/{fileid}/permissions
name: files-fileid-permissions
description: REST surface for files-fileId-permissions.
operations:
- method: GET
name: googledrivepermissionslist
description: Google Get Files Fileid Permissions
call: drive-permissions.googledrivepermissionslist
with:
fileId: rest.fileId
includePermissionsForView: rest.includePermissionsForView
pageSize: rest.pageSize
pageToken: rest.pageToken
supportsAllDrives: rest.supportsAllDrives
supportsTeamDrives: rest.supportsTeamDrives
useDomainAdminAccess: rest.useDomainAdminAccess
Authorization: rest.Authorization
$.xgafv: rest.$.xgafv
access_token: rest.access_token
alt: rest.alt
callback: rest.callback
fields: rest.fields
key: rest.key
oauth_token: rest.oauth_token
prettyPrint: rest.prettyPrint
quotaUser: rest.quotaUser
upload_protocol: rest.upload_protocol
uploadType: rest.uploadType
outputParameters:
- type: object
mapping: $.
- method: POST
name: googledrivepermissionscreate
description: Google Post Files Fileid Permissions
call: drive-permissions.googledrivepermissionscreate
with:
fileId: rest.fileId
emailMessage: rest.emailMessage
enforceSingleParent: rest.enforceSingleParent
moveToNewOwnersRoot: rest.moveToNewOwnersRoot
sendNotificationEmail: rest.sendNotificationEmail
supportsAllDrives: rest.supportsAllDrives
supportsTeamDrives: rest.supportsTeamDrives
transferOwnership: rest.transferOwnership
useDomainAdminAccess: rest.useDomainAdminAccess
Authorization: rest.Authorization
$.xgafv: rest.$.xgafv
access_token: rest.access_token
alt: rest.alt
callback: rest.callback
fields: rest.fields
key: rest.key
oauth_token: rest.oauth_token
prettyPrint: rest.prettyPrint
quotaUser: rest.quotaUser
upload_protocol: rest.upload_protocol
uploadType: rest.uploadType
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/files/{fileid}/permissions/{permissionid}
name: files-fileid-permissions-permissionid
description: REST surface for files-fileId-permissions-permissionId.
operations:
- method: GET
name: googledrivepermissionsget
description: Google Get Files Fileid Permissions Permissionid
call: drive-permissions.googledrivepermissionsget
with:
fileId: rest.fileId
permissionId: rest.permissionId
supportsAllDrives: rest.supportsAllDrives
supportsTeamDrives: rest.supportsTeamDrives
useDomainAdminAccess: rest.useDomainAdminAccess
Authorization: rest.Authorization
$.xgafv: rest.$.xgafv
access_token: rest.access_token
alt: rest.alt
callback: rest.callback
fields: rest.fields
key: rest.key
oauth_token: rest.oauth_token
prettyPrint: rest.prettyPrint
quotaUser: rest.quotaUser
upload_protocol: rest.upload_protocol
uploadType: rest.uploadType
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: googledrivepermissionsupdate
description: Google Patch Files Fileid Permissions Permissionid
call: drive-permissions.googledrivepermissionsupdate
with:
fileId: rest.fileId
permissionId: rest.permissionId
removeExpiration: rest.removeExpiration
supportsAllDrives: rest.supportsAllDrives
supportsTeamDrives: rest.supportsTeamDrives
transferOwnership: rest.transferOwnership
useDomainAdminAccess: rest.useDomainAdminAccess
Authorization: rest.Authorization
$.xgafv: rest.$.xgafv
access_token: rest.access_token
alt: rest.alt
callback: rest.callback
fields: rest.fields
key: rest.key
oauth_token: rest.oauth_token
prettyPrint: rest.prettyPrint
quotaUser: rest.quotaUser
upload_protocol: rest.upload_protocol
uploadType: rest.uploadType
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: googledrivepermissionsdelete
description: Google Delete Files Fileid Permissions Permissionid
call: drive-permissions.googledrivepermissionsdelete
with:
fileId: rest.fileId
permissionId: rest.permissionId
supportsAllDrives: rest.supportsAllDrives
supportsTeamDrives: rest.supportsTeamDrives
useDomainAdminAccess: rest.useDomainAdminAccess
Authorization: rest.Authorization
$.xgafv: rest.$.xgafv
access_token: rest.access_token
alt: rest.alt
callback: rest.callback
fields: rest.fields
key: rest.key
oauth_token: rest.oauth_token
prettyPrint: rest.prettyPrint
quotaUser: rest.quotaUser
upload_protocol: rest.upload_protocol
uploadType: rest.uploadType
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: drive-permissions-mcp
port: 9090
transport: http
description: MCP adapter for Google Drive API — Permissions. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: google-get-files-fileid-permissions
description: Google Get Files Fileid Permissions
hints:
readOnly: true
destructive: false
idempotent: true
call: drive-permissions.googledrivepermissionslist
with:
fileId: tools.fileId
includePermissionsForView: tools.includePermissionsForView
pageSize: tools.pageSize
pageToken: tools.pageToken
supportsAllDrives: tools.supportsAllDrives
supportsTeamDrives: tools.supportsTeamDrives
useDomainAdminAccess: tools.useDomainAdminAccess
Authorization: tools.Authorization
$.xgafv: tools.$.xgafv
access_token: tools.access_token
alt: tools.alt
callback: tools.callback
fields: tools.fields
key: tools.key
oauth_token: tools.oauth_token
prettyPrint: tools.prettyPrint
quotaUser: tools.quotaUser
upload_protocol: tools.upload_protocol
uploadType: tools.uploadType
outputParameters:
- type: object
mapping: $.
- name: google-post-files-fileid-permissions
description: Google Post Files Fileid Permissions
hints:
readOnly: false
destructive: false
idempotent: false
call: drive-permissions.googledrivepermissionscreate
with:
fileId: tools.fileId
emailMessage: tools.emailMessage
enforceSingleParent: tools.enforceSingleParent
moveToNewOwnersRoot: tools.moveToNewOwnersRoot
sendNotificationEmail: tools.sendNotificationEmail
supportsAllDrives: tools.supportsAllDrives
supportsTeamDrives: tools.supportsTeamDrives
transferOwnership: tools.transferOwnership
useDomainAdminAccess: tools.useDomainAdminAccess
Authorization: tools.Authorization
$.xgafv: tools.$.xgafv
access_token: tools.access_token
alt: tools.alt
callback: tools.callback
fields: tools.fields
key: tools.key
oauth_token: tools.oauth_token
prettyPrint: tools.prettyPrint
quotaUser: tools.quotaUser
upload_protocol: tools.upload_protocol
uploadType: tools.uploadType
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: google-get-files-fileid-permissions-2
description: Google Get Files Fileid Permissions Permissionid
hints:
readOnly: true
destructive: false
idempotent: true
call: drive-permissions.googledrivepermissionsget
with:
fileId: tools.fileId
permissionId: tools.permissionId
supportsAllDrives: tools.supportsAllDrives
supportsTeamDrives: tools.supportsTeamDrives
useDomainAdminAccess: tools.useDomainAdminAccess
Authorization: tools.Authorization
$.xgafv: tools.$.xgafv
access_token: tools.access_token
alt: tools.alt
callback: tools.callback
fields: tools.fields
key: tools.key
oauth_token: tools.oauth_token
prettyPrint: tools.prettyPrint
quotaUser: tools.quotaUser
upload_protocol: tools.upload_protocol
uploadType: tools.uploadType
outputParameters:
- type: object
mapping: $.
- name: google-patch-files-fileid-permissions
description: Google Patch Files Fileid Permissions Permissionid
hints:
readOnly: false
destructive: false
idempotent: true
call: drive-permissions.googledrivepermissionsupdate
with:
fileId: tools.fileId
permissionId: tools.permissionId
removeExpiration: tools.removeExpiration
supportsAllDrives: tools.supportsAllDrives
supportsTeamDrives: tools.supportsTeamDrives
transferOwnership: tools.transferOwnership
useDomainAdminAccess: tools.useDomainAdminAccess
Authorization: tools.Authorization
$.xgafv: tools.$.xgafv
access_token: tools.access_token
alt: tools.alt
callback: tools.callback
fields: tools.fields
key: tools.key
oauth_token: tools.oauth_token
prettyPrint: tools.prettyPrint
quotaUser: tools.quotaUser
upload_protocol: tools.upload_protocol
uploadType: tools.uploadType
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: google-delete-files-fileid-permissions
description: Google Delete Files Fileid Permissions Permissionid
hints:
readOnly: false
destructive: true
idempotent: true
call: drive-permissions.googledrivepermissionsdelete
with:
fileId: tools.fileId
permissionId: tools.permissionId
supportsAllDrives: tools.supportsAllDrives
supportsTeamDrives: tools.supportsTeamDrives
useDomainAdminAccess: tools.useDomainAdminAccess
Authorization: tools.Authorization
$.xgafv: tools.$.xgafv
access_token: tools.access_token
alt: tools.alt
callback: tools.callback
fields: tools.fields
key: tools.key
oauth_token: tools.oauth_token
prettyPrint: tools.prettyPrint
quotaUser: tools.quotaUser
upload_protocol: tools.upload_protocol
uploadType: tools.uploadType
outputParameters:
- type: object
mapping: $.