---
name: "files_edit"
area: "files"
title: "Say what files are"
price: "$0.005 per file changed"
method: "POST"
url: "https://api.conecto.chat/v1/tools/files_edit"
mcp_server: "https://api.conecto.chat/mcp/files"
auth: "Authorization: Bearer <conecto_sk_ key>"
docs_url: "https://conecto.chat/tools/files/files_edit"
---

# Say what files are (`files_edit`)

Says what one file is, or up to 100 at once: title, notes, document date, correspondent, type, tags and fields.

Set what one file is, or up to 100 at once, all or none: title, notes, document_date (the date on the document), correspondent (who it is from or to; made the first time a file names it), document_type, tags (replace them all; [] clears), add_tags, remove_tags, and fields ({"Total": "EUR 119.00", "Due": "2026-11-01"}; null clears one). null clears title, notes, the date, the correspondent or the type. Types, tags and fields must be defined first (files_define). Conecto never files anything on its own: you decide what each file is. $0.005 per file changed.

Price: $0.005 per file changed. A call that fails costs nothing.

## Use it when

A file arrived and should be filed so it can be found later.

## Say this to your agent

> File the bill from Cascade Bike Supply: invoice CBS-2026-1188 from October 13, total $462.50, tag it tax 2026.

## Inputs

| Name | Type | Required | Description | Allowed values | Default |
|---|---|---|---|---|---|
| `file_ids` | array of strings | yes | 1 to 100 items. |  |  |
| `title` | string or null | no | Up to 300 characters. |  |  |
| `notes` | string or null | no | Up to 20,000 characters. |  |  |
| `document_date` | string or null | no | YYYY-MM-DD, or null. Matches ^\\d{4}-\\d{2}-\\d{2}$. |  |  |
| `correspondent` | string or null | no | Up to 200 characters. |  |  |
| `document_type` | string or null | no | Up to 60 characters. |  |  |
| `tags` | array of strings | no | Up to 50 items. |  |  |
| `add_tags` | array of strings | no | Up to 50 items. |  |  |
| `remove_tags` | array of strings | no | Up to 50 items. |  |  |
| `fields` | object | no |  |  |  |

## Example

Written for Halverson Cycle & Repair, a bike shop with a repair workshop in Portland, Oregon.

MCP: call `files_edit` on the MCP server `https://api.conecto.chat/mcp/files` with these arguments:

```json
{
  "file_ids": [
    "2f4a6c8e-0b3d-4f5a-9c7e-1b3d5f7a9c2e"
  ],
  "title": "Cascade Bike Supply invoice CBS-2026-1188",
  "correspondent": "Cascade Bike Supply",
  "document_type": "Invoice",
  "document_date": "2026-10-13",
  "add_tags": [
    "tax 2026"
  ],
  "fields": {
    "Total": "USD 462.50"
  }
}
```

REST:

```bash
curl https://api.conecto.chat/v1/tools/files_edit \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"file_ids": ["2f4a6c8e-0b3d-4f5a-9c7e-1b3d5f7a9c2e"], "title": "Cascade Bike Supply invoice CBS-2026-1188", "correspondent": "Cascade Bike Supply", "document_type": "Invoice", "document_date": "2026-10-13", "add_tags": ["tax 2026"], "fields": {"Total": "USD 462.50"}}'
```

## Response

```json
{
  "call_id": "5f0c8a2e-3b7d-4c1e-9a64-2d8e1f7b0c93",
  "tool": "files_edit",
  "status": "succeeded",
  "replayed": false,
  "cost_usd": "$0.005",
  "balance_usd": "$19.75",
  "result": {
    "files": [
      {
        "file_id": "2f4a6c8e-0b3d-4f5a-9c7e-1b3d5f7a9c2e",
        "name": "CBS-2026-1188.pdf",
        "content_type": "application/pdf",
        "size": "1.1 KB",
        "size_bytes": 1157,
        "sha256": "210badbad5d529776febed04fc51a2dc054611eeff2af5b39e00f93729dd5a0a",
        "created_at": "2026-10-14T08:00:00+00:00",
        "download_url": "https://cncto.co/d/2f4a6c8e-0b3d-4f5a-9c7e-1b3d5f7a9c2e?t=eyJmIjoiYjJhYTg2NzEtOTUxZS00ZDlmLWI5NGQtZWViYTQ1MTFhNDlkIiwiZXhwIjoxNzkyMTYwNDgyfQ:1xHMKg:n7FZiEahlXq23zrlzrDZMXGGPDW9AxHLakyTQWBmRgw",
        "link_expires_in_hours": 24,
        "title": "Cascade Bike Supply invoice CBS-2026-1188",
        "document_date": "2026-10-13",
        "correspondent": "Cascade Bike Supply",
        "document_type": "Invoice",
        "tags": [
          "tax 2026"
        ],
        "fields": {
          "Total": {
            "amount": "462.50",
            "currency": "USD"
          }
        },
        "notes": null,
        "source": "upload",
        "email_message_id": null,
        "text": {
          "status": "read",
          "method": "text",
          "ocr_pages": null,
          "languages": null,
          "note": null
        }
      }
    ],
    "changed": 1
  }
}
```

`result`: files: each changed file with its new title, tags, type, correspondent, date and fields.

## Errors

| Code | Status | When | Fix |
|---|---|---|---|
| `not_found` | 404 | A tag, document type, field or correspondent named is not defined yet. | Define it with files_define first; files_definitions lists what exists. |
| `not_found` | 404 | A file_id is not a file of the business. | Find the files with files_list. |
| `invalid_input` | 400 | Nothing to change was given, or a field value does not fit its type. | Send what changes; money like "USD 462.50", dates like 2026-10-13. |
| `limit_reached` | 409 | The business has as many correspondents as it may. | Reuse one that exists. |

The refusals every tool can give (401 key, 402 balance, 429 limits) are on the errors page: https://conecto.chat/docs/errors.md

## Related

- [files_upload](https://conecto.chat/tools/files/files_upload.md): Stores a file in the business's file store from its bytes, its text or a public link, with a download link. $0.001 a call.
- [files_upload_link](https://conecto.chat/tools/files/files_upload_link.md): A one-time link to upload one file of up to 25 MB, to use yourself or hand to a person. Free.
- [files_list](https://conecto.chat/tools/files/files_list.md): The business's files, newest first, filtered by name, words inside, tags, type, correspondent, document date or fields. Free up to 1,000,000 reads a month.
- [files_get](https://conecto.chat/tools/files/files_get.md): One file's details and a fresh download link, with the text of a small text file if asked. Free up to 1,000,000 reads a month.
- [files_read_text](https://conecto.chat/tools/files/files_read_text.md): The words in a file as Conecto read them: text files, PDFs, office files, HTML, and scans once read with OCR. Free up to 1,000,000 reads a month.
- [files_define](https://conecto.chat/tools/files/files_define.md): Adds, renames or deletes a tag, a document type, a custom field or a correspondent to file things with. $0.001 a call.
- [files_definitions](https://conecto.chat/tools/files/files_definitions.md): The tags, document types, custom fields and correspondents the business files with, each with how many files use it, and the OCR settings. Free up to 1,000,000 reads a month.
- [files_ocr](https://conecto.chat/tools/files/files_ocr.md): Reads the words in a scan with OCR: an image, or the pages of a PDF without text; the text is kept. $0.005 per page read.
- [files_ocr_settings](https://conecto.chat/tools/files/files_ocr_settings.md): Sets whether new scans are read with OCR as they arrive, and the languages OCR reads in. $0.001 a call.
- [files_delete](https://conecto.chat/tools/files/files_delete.md): Deletes a file for good; every download link to it stops working. Free.
- [files_add_storage](https://conecto.chat/tools/files/files_add_storage.md): Rents 10 GB more file storage, renewed monthly from the balance; this call pays the first month. $1.00 a call.
- [files_remove_storage](https://conecto.chat/tools/files/files_remove_storage.md): Stops renting one 10 GB block of storage, if the files still fit. Free.
