Яндекс Диск REST API: Загрузить файл на Диск

Сценарий из mcp-everything. Актуально на 2026-10-24.

Бэкапы, отчёты, сканы документов — автоматически в папку на Яндекс Диске.

  1. Зарегистрируй OAuth-приложение с правами Диска (например, cloud_api:disk.write) и получи токен пользователя. Передавай его в заголовке Authorization: OAuth <токен>.
  2. Получи ссылку для загрузки: GET /v1/disk/resources/upload с path — путём на Диске в URL-кодировке (например, disk:/Backups/db-2026-10-24.sql.gz) и overwrite = true, если файл можно перезаписать.
  3. Загрузи файл методом PUT на href из ответа в течение 30 минут — без OAuth-токена. 201 — файл на Диске, 202 — принят и скоро появится.
  4. Нужной папки нет — создай её заранее: PUT /v1/disk/resources с path (ответ 201; 409 — папка уже есть).
  5. Ошибка 507 — на Диске не хватает места, 413 — файл слишком большой.
H="Authorization: OAuth $YADISK_TOKEN"
curl -X PUT -G https://cloud-api.yandex.net/v1/disk/resources -H "$H" --data-urlencode 'path=disk:/Backups'

HREF=$(curl -s -G https://cloud-api.yandex.net/v1/disk/resources/upload -H "$H" \
  --data-urlencode 'path=disk:/Backups/db-2026-10-24.sql.gz' -d overwrite=true | jq -r .href)
curl -T db-2026-10-24.sql.gz "$HREF"

Базовые URL

Авторизация

Тип: OAuth 2.0

OAuth-токен Яндекс ID передаётся в заголовке Authorization с типом токена перед значением. Для получения токена создают OAuth-приложение с правами Диска (cloud_api:disk.write, cloud_api:disk.read, cloud_api:disk.app_folder, cloud_api:disk.info) и открывают https://oauth.yandex.ru/authorize?response_type=token&client_id=<ClientID>.

Заголовки Accept и Content-Type — только application/json.

Authorization: OAuth 0c4181a7c2cf4521964a72ff57a34a07

Методы сценария

GET /v1/disk/resources/upload — URL для загрузки файла

Возвращает ссылку для загрузки; файл затем отправляется методом PUT на href в течение 30 минут, без OAuth-токена. Успешная загрузка — 201 Created, 202 Accepted — файл принят, но ещё не перенесён на Диск.

Пример ответа (сокращён):

Параметр Где Тип Обяз. Описание
path query string да Путь к файлу, в URL-кодировке; имя до 255 символов, путь до 32760
overwrite query boolean нет Перезаписать существующий файл, по умолчанию false
fields query string нет Ключи ответа

Пример запроса:

{
  "operation_id": "cbb77e87...",
  "href": "https://uploader1d.dst.yandex.net:443/upload-target/...",
  "method": "PUT",
  "templated": false
}

PUT /v1/disk/resources — Создание папки

Успех — 201 Created и объект Link на метаинформацию папки.

Параметр Где Тип Обяз. Описание
path query string да Путь к папке, например %2FMusic
fields query string нет Ключи ответа

Нюансы

Другие сценарии


Если этого недостаточно — официальная документация: https://yandex.ru/dev/disk-api/doc/ru/ Вся интеграция одним документом: https://mcp-everything.ru/integrations/yandex-disk.md