Skip to main content
FuseFuse
IntegrationsGoogle workspaceActions

Create Google Drive permission

Create a permission on a Drive file the connected principal can access.

Agent markdown

drive.permissions.create · Google Workspace · v1

Details

Risk
Write
Idempotency
Safe
Availability
Default
Exposure
REST, SDK, MCP
MCP hints
readOnly=false, destructive=false, idempotent=true, openWorld=true

Scopes

  • https://www.googleapis.com/auth/drive

Input

Input schema
NameTypeRequiredConstraints
(root)objectYesadditionalProperties false; oneOf branch 1: required email_address; type=user|group / branch 2: required domain; type=domain / branch 3: type=anyone
file_idstringYesminLength 1; maxLength 256
rolestringYesenum reader | commenter | writer | fileOrganizer | organizer
typestringYesenum user | group | domain | anyone
email_addressstringNominLength 3; maxLength 320
domainstringNominLength 1; maxLength 256

Output

Output schema
NameTypeRequiredConstraints
(root)objectYesadditionalProperties false
idstringYesmaxLength 256
rolestringYesmaxLength 64
typestringYesmaxLength 64
email_addressstringNomaxLength 320
domainstringNomaxLength 256
viewstringNomaxLength 64
allow_file_discoverybooleanNo
expires_atstringNomaxLength 64
deletedbooleanNo
pending_ownerbooleanNo
inherited_permissions_disabledbooleanNo
permission_detailsarray<object>YesmaxItems 20
permission_details[]objectYesadditionalProperties false
permission_details[].permission_typestringNomaxLength 64
permission_details[].rolestringYesmaxLength 64
permission_details[].inheritedbooleanYes
permission_details[].inherited_from_idstringNomaxLength 256

Raw schema

Input
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "file_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256
    },
    "role": {
      "type": "string",
      "enum": [
        "reader",
        "commenter",
        "writer",
        "fileOrganizer",
        "organizer"
      ]
    },
    "type": {
      "type": "string",
      "enum": [
        "user",
        "group",
        "domain",
        "anyone"
      ]
    },
    "email_address": {
      "type": "string",
      "minLength": 3,
      "maxLength": 320
    },
    "domain": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256
    }
  },
  "required": [
    "file_id",
    "role",
    "type"
  ],
  "oneOf": [
    {
      "required": [
        "email_address"
      ],
      "properties": {
        "type": {
          "enum": [
            "user",
            "group"
          ]
        }
      }
    },
    {
      "required": [
        "domain"
      ],
      "properties": {
        "type": {
          "enum": [
            "domain"
          ]
        }
      }
    },
    {
      "properties": {
        "type": {
          "enum": [
            "anyone"
          ]
        }
      }
    }
  ]
}
Output
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "id": {
      "type": "string",
      "maxLength": 256
    },
    "role": {
      "type": "string",
      "maxLength": 64
    },
    "type": {
      "type": "string",
      "maxLength": 64
    },
    "email_address": {
      "type": "string",
      "maxLength": 320
    },
    "domain": {
      "type": "string",
      "maxLength": 256
    },
    "view": {
      "type": "string",
      "maxLength": 64
    },
    "allow_file_discovery": {
      "type": "boolean"
    },
    "expires_at": {
      "type": "string",
      "maxLength": 64
    },
    "deleted": {
      "type": "boolean"
    },
    "pending_owner": {
      "type": "boolean"
    },
    "inherited_permissions_disabled": {
      "type": "boolean"
    },
    "permission_details": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "permission_type": {
            "type": "string",
            "maxLength": 64
          },
          "role": {
            "type": "string",
            "maxLength": 64
          },
          "inherited": {
            "type": "boolean"
          },
          "inherited_from_id": {
            "type": "string",
            "maxLength": 256
          }
        },
        "required": [
          "role",
          "inherited"
        ]
      },
      "maxItems": 20
    }
  },
  "required": [
    "id",
    "role",
    "type",
    "permission_details"
  ]
}