[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-note\u002Ffiles\u002Fupload":3,"docs-tabs-note\u002Ffiles\u002Fupload":6},{"content":4,"lastmod":5},"\n## Загрузить файл\n\n`POST \u002Fv1\u002Fnote\u002Fdocuments\u002F:documentId\u002Ffiles`\n\nСохраняет содержимое файла в Base64 и привязывает его к документу Базы знаний. Сам файл в содержимое документа не вставляется — чтобы вложение появилось в тексте, используйте `assetMarkdown` из ответа [`GET \u002Fv1\u002Fnote\u002Fdocuments\u002F:documentId\u002Ffiles\u002F:id`](.\u002Fget.md).\n\n## Параметры\n\n| Параметр | Тип | Обяз. | Описание |\n|----------|-----|:-----:|---------|\n| `documentId` (path) | integer | да | Документ, к которому привязывается файл. Идентификатор — из [`POST \u002Fv1\u002Fnote\u002Fdocuments`](\u002Fdocs\u002Fnote\u002Fdocuments) |\n\n## Поля запроса (body)\n\n| Поле | Тип | Обяз. | Описание |\n|------|-----|:-----:|---------|\n| `fileName` | string | да | Имя файла с расширением. Расширение определяет тип вложения |\n| `fileContent` | string | да | Содержимое файла, закодированное в Base64 |\n\nРазмер запроса ограничен 40 МБ. Точный лимит размера файла задаёт Битрикс24 и проверяет на своей стороне.\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl -X POST https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fnote\u002Fdocuments\u002F77\u002Ffiles \\\n  -H \"X-Api-Key: YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"fileName\": \"diagram.png\",\n    \"fileContent\": \"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=\"\n  }'\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl -X POST https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fnote\u002Fdocuments\u002F77\u002Ffiles \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"fileName\": \"diagram.png\",\n    \"fileContent\": \"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=\"\n  }'\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fnote\u002Fdocuments\u002F77\u002Ffiles', {\n  method: 'POST',\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({ fileName: 'diagram.png', fileContent: base64Content }),\n})\n\nconst { success, data } = await res.json()\nconsole.log(data.id)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fnote\u002Fdocuments\u002F77\u002Ffiles', {\n  method: 'POST',\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({ fileName: 'diagram.png', fileContent: base64Content }),\n})\n\nconst { success, data } = await res.json()\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | Всегда `true` при успехе |\n| `data.id` | number | Идентификатор загруженного файла, он же `fileId`. Передаётся в [`GET \u002Fv1\u002Fnote\u002Fdocuments\u002F:documentId\u002Ffiles\u002F:id`](.\u002Fget.md) |\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"id\": 5001\n  }\n}\n```\n\n## Пример ответа при ошибке\n\n404 — документ не найден:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ENTITY_NOT_FOUND\",\n    \"message\": \"Запись с ID = `999999` не найдена\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 400 | `INVALID_PARAMS` | Не передан `fileName` или `fileContent`, либо `documentId` неверного типа |\n| 403 | `BITRIX_ACCESS_DENIED` | Нет права редактировать документ |\n| 403 | `WRITE_BLOCKED_READONLY_KEY` | Ключ в режиме «только чтение» |\n| 404 | `ENTITY_NOT_FOUND` | Документ не существует, архивный или в корзине |\n| 413 | — | Размер запроса превышает 40 МБ |\n| 422 | `BITRIX_ERROR` | Размер файла превышает лимит, тип файла не разрешён, либо повреждён Base64. Текст в `error.message` |\n| 403 | `SCOPE_DENIED` | Ключу не хватает скоупа `note` |\n| 401 | `TOKEN_MISSING` | У ключа нет настроенных токенов |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Смотрите также\n\n- [Получить метаданные файла](\u002Fdocs\u002Fnote\u002Ffiles\u002Fget)\n- [Документы](\u002Fdocs\u002Fnote\u002Fdocuments)\n- [Файлы](\u002Fdocs\u002Fnote\u002Ffiles)\n- [Обзор Базы знаний](\u002Fdocs\u002Fnote)\n","2026-07-08",{}]