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.

Run with Naftiko GooglePermissions

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

drive-permissions.yaml Raw ↑
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: $.