Для AI-агентов: markdown этой страницы — /docs-content/entities/files/version-upload.md индекс документации — /llms.txt

Загрузка новой версии файла

POST /v1/files/:id/versions

Метод Битрикс24: disk.file.uploadVersion. Scope: disk.

Повторная загрузка тем же автором в течение примерно пяти минут ПЕРЕЗАПИСЫВАЕТ последнюю версию. Её предыдущее содержимое не сохранится в истории. Имя не меняется; переименование выполняется PATCH /v1/files/:id. Формат определяется текущим именем. Файл в корзине допускает загрузку; meta.inTrash будет true. Не повторяйте запрос автоматически после таймаута: исход неизвестен, перечитайте файл.

Тело: content — непустой строгий стандартный base64; expectedContentGeneration — необязательное целое >=0. Несовпадение с globalContentVersion предчтения даёт 409 DISK_VERSION_CONFLICT. Это предварительная проверка, НЕ атомарный CAS: параллельная запись возможна после предчтения. Лимит JSON 70 МиБ, превышение 413; допуск больших тел может дать 429 LARGE_BODY_BACKEND_BUSY. Пустой код отказа Б24 даёт 422 DISK_FILE_NOT_SAVED с текстом Б24.

Terminal
curl -X POST -H "X-Api-Key: YOUR_API_KEY" -H "Content-Type: application/json" -d '{"content":"YWJj","expectedContentGeneration":2}' https://vibecode.bitrix24.tech/v1/files/7/versions

Ответ: проекция files и meta.joinedIntoPreviousVersion — true при том же id верхней версии до и после, false при новом id, null при недоступной истории или отказе чтения истории по правам; meta.inTrash — по DELETED_TYPE, не по дате удаления.

Ошибки: 400 неверный id или параметры, 401 ключ отсутствует, 403 нет scope disk или прав Б24, 404 запись отсутствует, 422 бизнес-отказ Б24. READONLY-ключ читает, но не загружает и не восстанавливает. На записи 502 DISK_OUTCOME_UNKNOWN требует перечитать файл перед повтором.