Яндекс Диск REST API: Поделиться файлом по публичной ссылке

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

Отправить клиенту ссылку на документ или архив на Диске.

  1. Опубликуй ресурс: PUT /v1/disk/resources/publish с path. Ответ 200 — объект Link на метаинформацию.
  2. Публичная ссылка — в поле public_url: получи её через GET /v1/disk/resources с path и fields = public_url.
  3. Чтобы закрыть доступ, сними публикацию — метод /v1/disk/resources/unpublish с тем же path.
curl -X PUT -G https://cloud-api.yandex.net/v1/disk/resources/publish -H "$H" --data-urlencode 'path=disk:/Договоры/договор-1042.pdf'
curl -s -G https://cloud-api.yandex.net/v1/disk/resources -H "$H" \
  --data-urlencode 'path=disk:/Договоры/договор-1042.pdf' -d fields=public_url | jq -r .public_url

Базовые 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 — Метаинформация о файле или папке

Для ресурса в Корзине — GET /v1/disk/trash/resources.

Параметр Где Тип Обяз. Описание
path query string да Путь к ресурсу, в URL-кодировке
fields query string нет Ключи ответа через запятую, вложенные — через точку
limit query integer нет Число вложенных ресурсов, по умолчанию 20
offset query integer нет Сколько вложенных ресурсов пропустить
preview_crop query boolean нет Обрезать превью до квадрата, по умолчанию false
preview_size query string нет Размер превью: S–XXXL, ширина, высота или ШxВ
sort query string нет name, path, created, modified, size; дефис — обратный порядок

PUT /v1/disk/resources/publish — Публикация ресурса

Успех — 200 OK и объект Link. Настройки доступа передаются в теле в объекте public_settings.

Параметр Где Тип Обяз. Описание
path query string да Путь к публикуемому ресурсу
allow_address_access query boolean нет Признак формата запроса, по умолчанию false
public_settings body object нет Настройки публичного доступа

Нюансы

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


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