> ## Documentation Index
> Fetch the complete documentation index at: https://veryfront.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Get external file

> Return external file.

`veryfront__get_external_file`

Requires project.integrations.read.

## Access

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

**Call type:** Read-only.

## Arguments

| Field | Type | Required | Description and constraints |
| - | - | - | - |
| `provider` | `string` | Yes | Storage provider accessed through the caller's own personal connection. A human caller is required; agent, run, and service-account credentials are refused. Values: `"onedrive"`, `"sharepoint"`, `"drive"`. |
| `file_id` | `string` | Yes | File ID from [`list_external_files`](/docs/cloud/mcp/tools/list-external-files). Minimum length: `1`. Maximum length: `1024`. |
| `project_reference` | `string` | No | Project ID or slug. Requires project.integrations.read through the caller's own personal provider connection. Minimum length: `1`. |

## 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](/docs/cloud/getting-started/connect-mcp.md).

```json title="request.json" theme={null}
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "veryfront__get_external_file",
    "arguments": {
      "provider": "onedrive",
      "file_id": "example"
    }
  }
}
```

## Result

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

| Field | Type | Required | Description and constraints |
| - | - | - | - |
| `id` | `string` | Yes | Unique identifier for the returned record. Minimum length: `1`. Maximum length: `1024`. |
| `name` | `string` | Yes | Human-readable name for the returned record. |
| `path` | `string` | Yes | The path returned by the tool. |
| `mime_type` | `string` | Yes | The mime type returned by the tool. Minimum length: `1`. |
| `size` | `integer` | Yes | The size returned by the tool. Minimum: `0`. Maximum: `9007199254740991`. |
| `size_bytes` | `integer` | Yes | The size bytes returned by the tool. Minimum: `0`. Maximum: `9007199254740991`. |
| `is_folder` | `boolean` | Yes | The is folder returned by the tool. |
| `kind` | `string` | Yes | The kind returned by the tool. Values: `"file"`, `"folder"`. |
| `modified_at` | `string or null` | Yes | The modified at returned by the tool. |
| `thumbnail` | `string` | No | The thumbnail returned by the tool. |
| `provider` | `string` | Yes | The provider returned by the tool. Values: `"onedrive"`, `"sharepoint"`, `"drive"`. |
| `parent_id` | `string or null` | Yes | The parent id returned by the tool. |
| `etag` | `string or null` | Yes | The etag returned by the tool. |
| `thumbnail_url` | `string or null` | Yes | The thumbnail url returned by the tool. |
| `web_url` | `string or null` | Yes | The web url returned by the tool. |

## Full schemas

```json title="input-schema.json" theme={null}
{
  "type": "object",
  "properties": {
    "provider": {
      "type": "string",
      "enum": [
        "onedrive",
        "sharepoint",
        "drive"
      ],
      "description": "Storage provider accessed through the caller's own personal connection. A human caller is required; agent, run, and service-account credentials are refused."
    },
    "file_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1024,
      "description": "File ID from list_external_files."
    },
    "project_reference": {
      "type": "string",
      "minLength": 1,
      "description": "Project ID or slug. Requires project.integrations.read through the caller's own personal provider connection."
    }
  },
  "required": [
    "provider",
    "file_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "Arguments for the get_external_file tool."
}
```

```json title="output-schema.json" theme={null}
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1024,
      "description": "Unique identifier for the returned record."
    },
    "name": {
      "type": "string",
      "description": "Human-readable name for the returned record."
    },
    "path": {
      "type": "string",
      "description": "The path returned by the tool."
    },
    "mime_type": {
      "type": "string",
      "minLength": 1,
      "description": "The mime type returned by the tool."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991,
      "description": "The size returned by the tool."
    },
    "size_bytes": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991,
      "description": "The size bytes returned by the tool."
    },
    "is_folder": {
      "type": "boolean",
      "description": "The is folder returned by the tool."
    },
    "kind": {
      "type": "string",
      "enum": [
        "file",
        "folder"
      ],
      "description": "The kind returned by the tool."
    },
    "modified_at": {
      "anyOf": [
        {
          "type": "string",
          "format": "date-time",
          "description": "The modified at returned by the tool."
        },
        {
          "type": "null",
          "description": "The modified at returned by the tool."
        }
      ],
      "description": "The modified at returned by the tool."
    },
    "thumbnail": {
      "type": "string",
      "description": "The thumbnail returned by the tool."
    },
    "provider": {
      "type": "string",
      "enum": [
        "onedrive",
        "sharepoint",
        "drive"
      ],
      "description": "The provider returned by the tool."
    },
    "parent_id": {
      "anyOf": [
        {
          "$ref": "#/properties/id",
          "description": "The parent id returned by the tool."
        },
        {
          "type": "null",
          "description": "The parent id returned by the tool."
        }
      ],
      "description": "The parent id 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-]+)$",
          "description": "The etag returned by the tool."
        },
        {
          "type": "null",
          "description": "The etag returned by the tool."
        }
      ],
      "description": "The etag returned by the tool."
    },
    "thumbnail_url": {
      "anyOf": [
        {
          "$ref": "#/properties/thumbnail",
          "description": "The thumbnail url returned by the tool."
        },
        {
          "type": "null",
          "description": "The thumbnail url returned by the tool."
        }
      ],
      "description": "The thumbnail url returned by the tool."
    },
    "web_url": {
      "anyOf": [
        {
          "$ref": "#/properties/thumbnail",
          "description": "The web url returned by the tool."
        },
        {
          "type": "null",
          "description": "The web url returned by the tool."
        }
      ],
      "description": "The web url returned by the tool."
    }
  },
  "required": [
    "id",
    "name",
    "path",
    "mime_type",
    "size",
    "size_bytes",
    "is_folder",
    "kind",
    "modified_at",
    "provider",
    "parent_id",
    "etag",
    "thumbnail_url",
    "web_url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "Structured result returned by the get_external_file tool."
}
```

<details>
  <summary>Try this tool</summary>

  Replace sample arguments with values for your project or connected account. Calls run only when you select Run tool.

  MCP tool call

  Call `veryfront__get_external_file` against the Veryfront MCP endpoint.

  Bearer token or API key

  Arguments (JSON)

  Run tool

  Output JSON

  <pre />
</details>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.