> ## 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.

# Create a retrieval document

> Create retrieval document.

`veryfront__create_retrieval_document`

Requires project.knowledge.write.

## Access

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

**Call type:** Can change resources.

## Arguments

| Field | Type | Required | Description and constraints |
| - | - | - | - |
| `title` | `string` | Yes | Document title, at least one character. Minimum length: `1`. |
| `source` | `string` | No | Upstream source reference, such as a file path or URL. Defaults to "". |
| `type` | `string` | No | Document type label. Defaults to "". |
| `metadata` | `object` | No | Structured metadata stored with the record: an object of string keys to JSON values. |
| `id` | `string` | No | Caller-chosen record ID. Omit to let the API choose one. An ID that already exists is a conflict. Create the record before writing its chunks; use update to change an existing record. Format: `uuid`. |
| `project_reference` | `string` | No | Project ID or slug. 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](https://veryfront.com/docs/cloud/getting-started/connect-mcp.md).

```json title="request.json" theme={null}
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "veryfront__create_retrieval_document",
    "arguments": {
      "title": "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 | Retrieval document ID. Format: `uuid`. |
| `revision` | `string` | Yes | Opaque revision of this record. Send it as `expected_revision` to update or delete exactly this version. |
| `title` | `string` | Yes | Document title. |
| `source` | `string` | Yes | Upstream source reference, such as a file path or URL; empty when not set. |
| `type` | `string` | Yes | Document type label; empty when not set. |
| `metadata` | `object` | Yes | Structured metadata stored with the record: an object of string keys to JSON values. |
| `created_at` | `string` | Yes | When the record was created (RFC 3339, UTC). Format: `date-time`. |
| `updated_at` | `string` | Yes | When the record last changed (RFC 3339, UTC). Format: `date-time`. |

## Full schemas

```json title="input-schema.json" theme={null}
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1,
      "description": "Document title, at least one character."
    },
    "source": {
      "type": "string",
      "description": "Upstream source reference, such as a file path or URL. Defaults to \"\"."
    },
    "type": {
      "type": "string",
      "description": "Document type label. Defaults to \"\"."
    },
    "metadata": {
      "type": "object",
      "additionalProperties": {
        "description": "Additional structured values supplied to the tool."
      },
      "description": "Structured metadata stored with the record: an object of string keys to JSON values."
    },
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "Caller-chosen record ID. Omit to let the API choose one. An ID that already exists is a conflict. Create the record before writing its chunks; use update to change an existing record."
    },
    "project_reference": {
      "type": "string",
      "minLength": 1,
      "description": "Project ID or slug."
    }
  },
  "required": [
    "title"
  ],
  "additionalProperties": false,
  "description": "Arguments for the create_retrieval_document tool.",
  "$schema": "http://json-schema.org/draft-07/schema#"
}
```

```json title="output-schema.json" theme={null}
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "Retrieval document ID."
    },
    "revision": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$",
      "description": "Opaque revision of this record. Send it as expected_revision to update or delete exactly this version."
    },
    "title": {
      "type": "string",
      "description": "Document title."
    },
    "source": {
      "type": "string",
      "description": "Upstream source reference, such as a file path or URL; empty when not set."
    },
    "type": {
      "type": "string",
      "description": "Document type label; empty when not set."
    },
    "metadata": {
      "type": "object",
      "additionalProperties": {
        "description": "Additional structured values associated with this result."
      },
      "description": "Structured metadata stored with the record: an object of string keys to JSON values."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "When the record was created (RFC 3339, UTC)."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "When the record last changed (RFC 3339, UTC)."
    }
  },
  "required": [
    "id",
    "revision",
    "title",
    "source",
    "type",
    "metadata",
    "created_at",
    "updated_at"
  ],
  "additionalProperties": false,
  "description": "Structured result returned by the create_retrieval_document tool.",
  "$schema": "http://json-schema.org/draft-07/schema#"
}
```

<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__create_retrieval_document` against the Veryfront MCP endpoint.

  Bearer token or API key

  Arguments (JSON)

  Run this tool with these arguments.

  Run tool

  Output JSON

  <pre />
</details>


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