Create external file

veryfront__create_external_file

Requires project.integrations.connect.

Access

No external-service connection is required. Use a Veryfront credential with access to the requested resources.

Call type: Can change resources.

Arguments

FieldTypeRequiredDescription and constraints
project_referencestringNoProject ID or slug. Requires project.integrations.connect through the caller's own personal provider connection.
providerstringYesStorage provider accessed through the caller's own personal connection. A shared project connection is not used. Values: "onedrive", "sharepoint", "drive".
folder_idstringYesParent folder ID from list_external_files, or "root" for the provider root Minimum length: 1. Maximum length: 1024.
namestringYesCreates a new file without replacing an existing one. OneDrive and SharePoint return conflict for an existing name; Google Drive creates a new item with the same name. File name, such as "report.md"; no "/". Minimum length: 1. Maximum length: 255.
contentstringYesFile content, at most 10000000 characters Maximum length: 10000000.
content_encodingstringNoEncoding of content: "utf8" (default) for text, "base64" for binary bytes Values: "utf8", "base64".
mime_typestringNoMIME type; defaults from the name, else text/plain (utf8) or application/octet-stream (base64) Minimum length: 3. Maximum length: 255.
idempotency_keystringNoOptional key of 1-128 characters without whitespace. Retrying with the same key and arguments within 24 hours returns the first result instead of creating another item; the same key with different arguments is refused. Minimum length: 1. Maximum length: 128.

Example request

Send this JSON-RPC request through an initialized MCP client. Replace sample identifiers and values before calling the tool. See MCP client setup.

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "veryfront__create_external_file",
    "arguments": {
      "provider": "onedrive",
      "folder_id": "example",
      "name": "example",
      "content": "example"
    }
  }
}

Result

The published output shape is summarized below. Inspect both the MCP response content and isError when handling a call.

FieldTypeRequiredDescription and constraints
idstringYesUnique identifier for the returned record. Minimum length: 1. Maximum length: 1024.
providerstringYesValues: "onedrive", "sharepoint", "drive".
namestringYesHuman-readable name for the returned record.
kindstringYesValues: "file", "folder".
parent_idstring or nullYes
pathstringYes
mime_typestringYesMinimum length: 1.
size_bytesintegerYesMinimum: 0. Maximum: 9007199254740991.
modified_atstring or nullYes
etagstring or nullYes
thumbnail_urlstring or nullYes
web_urlstring or nullYes

Full schemas

json
{
  "type": "object",
  "properties": {
    "project_reference": {
      "type": "string",
      "description": "Project ID or slug. Requires project.integrations.connect through the caller's own personal provider connection."
    },
    "provider": {
      "type": "string",
      "enum": [
        "onedrive",
        "sharepoint",
        "drive"
      ],
      "description": "Storage provider accessed through the caller's own personal connection. A shared project connection is not used."
    },
    "folder_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1024,
      "description": "Parent folder ID from list_external_files, or \"root\" for the provider root"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255,
      "pattern": "^[^/]*$",
      "description": "Creates a new file without replacing an existing one. OneDrive and SharePoint return conflict for an existing name; Google Drive creates a new item with the same name. File name, such as \"report.md\"; no \"/\"."
    },
    "content": {
      "type": "string",
      "maxLength": 10000000,
      "description": "File content, at most 10000000 characters"
    },
    "content_encoding": {
      "type": "string",
      "enum": [
        "utf8",
        "base64"
      ],
      "description": "Encoding of content: \"utf8\" (default) for text, \"base64\" for binary bytes"
    },
    "mime_type": {
      "type": "string",
      "minLength": 3,
      "maxLength": 255,
      "description": "MIME type; defaults from the name, else text/plain (utf8) or application/octet-stream (base64)"
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "pattern": "^\\S+$",
      "description": "Optional key of 1-128 characters without whitespace. Retrying with the same key and arguments within 24 hours returns the first result instead of creating another item; the same key with different arguments is refused."
    }
  },
  "required": [
    "provider",
    "folder_id",
    "name",
    "content"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "Arguments for the create_external_file tool."
}
json
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1024,
      "description": "Unique identifier for the returned record."
    },
    "provider": {
      "type": "string",
      "enum": [
        "onedrive",
        "sharepoint",
        "drive"
      ]
    },
    "name": {
      "type": "string",
      "description": "Human-readable name for the returned record."
    },
    "kind": {
      "type": "string",
      "enum": [
        "file",
        "folder"
      ]
    },
    "parent_id": {
      "anyOf": [
        {
          "$ref": "#/properties/id"
        },
        {
          "type": "null",
          "description": "The parent id returned by the tool."
        }
      ]
    },
    "path": {
      "type": "string"
    },
    "mime_type": {
      "type": "string",
      "minLength": 1
    },
    "size_bytes": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "modified_at": {
      "anyOf": [
        {
          "type": "string",
          "format": "date-time"
        },
        {
          "type": "null",
          "description": "The modified at returned by the tool."
        }
      ]
    },
    "etag": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 1024,
          "pattern": "^(?:\\*|(?:W\\/)?\"[\\x21\\x23-\\x7e]*\"(?:[ \\t]*,[ \\t]*(?:W\\/)?\"[\\x21\\x23-\\x7e]*\")*|[!#$%&'*+.^_`|~0-9A-Za-z-]+)$"
        },
        {
          "type": "null",
          "description": "The etag returned by the tool."
        }
      ]
    },
    "thumbnail_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null",
          "description": "The thumbnail url returned by the tool."
        }
      ]
    },
    "web_url": {
      "anyOf": [
        {
          "$ref": "#/properties/thumbnail_url/anyOf/0",
          "description": "The web url returned by the tool."
        },
        {
          "type": "null",
          "description": "The web url returned by the tool."
        }
      ]
    }
  },
  "required": [
    "id",
    "provider",
    "name",
    "kind",
    "parent_id",
    "path",
    "mime_type",
    "size_bytes",
    "modified_at",
    "etag",
    "thumbnail_url",
    "web_url"
  ],
  "additionalProperties": false,
  "description": "Structured result returned by the create_external_file tool.",
  "$schema": "http://json-schema.org/draft-07/schema#"
}