{"name":"Яндекс Диск REST API","vendor":"Яндекс","industry":"cloud","summary":"REST API Яндекс Диска: данные о Диске пользователя, метаинформация о файлах и папках, загрузка и скачивание, создание папок, копирование, перемещение, удаление, публикация и статус длительных операций. Приложение получает OAuth-токен с нужными правами и работает с Диском одного пользователя. Запросы и ответы — JSON.","docsUrl":"https://yandex.ru/dev/disk-api/doc/ru/","coverage":{"included":[],"excluded":[]},"scenarios":[{"id":"zagruzit-fayl-na-disk","title":"Загрузить файл на Диск","summary":"Бэкапы, отчёты, сканы документов — автоматически в папку на Яндекс Диске.","steps":["Зарегистрируй OAuth-приложение с правами Диска (например, cloud_api:disk.write) и получи токен пользователя. Передавай его в заголовке Authorization: OAuth <токен>.","Получи ссылку для загрузки: GET /v1/disk/resources/upload с path — путём на Диске в URL-кодировке (например, disk:/Backups/db-2026-10-24.sql.gz) и overwrite = true, если файл можно перезаписать.","Загрузи файл методом PUT на href из ответа в течение 30 минут — без OAuth-токена. 201 — файл на Диске, 202 — принят и скоро появится.","Нужной папки нет — создай её заранее: PUT /v1/disk/resources с path (ответ 201; 409 — папка уже есть).","Ошибка 507 — на Диске не хватает места, 413 — файл слишком большой."],"code":"H=\"Authorization: OAuth $YADISK_TOKEN\"\ncurl -X PUT -G https://cloud-api.yandex.net/v1/disk/resources -H \"$H\" --data-urlencode 'path=disk:/Backups'\n\nHREF=$(curl -s -G https://cloud-api.yandex.net/v1/disk/resources/upload -H \"$H\" \\\n  --data-urlencode 'path=disk:/Backups/db-2026-10-24.sql.gz' -d overwrite=true | jq -r .href)\ncurl -T db-2026-10-24.sql.gz \"$HREF\"","language":"bash","methods":["GET /v1/disk/resources/upload","PUT /v1/disk/resources"]},{"id":"skachat-fayl-s-diska","title":"Скачать файл с Диска","summary":"Забрать файл, который пользователь положил в папку, — для обработки на сервере.","steps":["Получи ссылку: GET /v1/disk/resources/download с path к файлу.","Скачай файл по href из ответа обычным GET-запросом. Ссылка действует ограниченное время — запрашивай новую перед каждым скачиванием.","Чтобы найти файлы в папке, запроси её содержимое: GET /v1/disk/resources с path, limit, offset и sort (например, -modified — сначала новые). Список — в _embedded.items."],"code":"curl -s -G https://cloud-api.yandex.net/v1/disk/resources -H \"$H\" \\\n  --data-urlencode 'path=disk:/Входящие' -d limit=20 -d sort=-modified -d 'fields=_embedded.items.name,_embedded.items.path'\n\nHREF=$(curl -s -G https://cloud-api.yandex.net/v1/disk/resources/download -H \"$H\" \\\n  --data-urlencode 'path=disk:/Входящие/scan-001.pdf' | jq -r .href)\ncurl -L -o scan-001.pdf \"$HREF\"","language":"bash","methods":["GET /v1/disk/resources","GET /v1/disk/resources/download"]},{"id":"podelitsya-faylom-po-publichnoy-ssylke","title":"Поделиться файлом по публичной ссылке","summary":"Отправить клиенту ссылку на документ или архив на Диске.","steps":["Опубликуй ресурс: PUT /v1/disk/resources/publish с path. Ответ 200 — объект Link на метаинформацию.","Публичная ссылка — в поле public_url: получи её через GET /v1/disk/resources с path и fields = public_url.","Чтобы закрыть доступ, сними публикацию — метод /v1/disk/resources/unpublish с тем же path."],"code":"curl -X PUT -G https://cloud-api.yandex.net/v1/disk/resources/publish -H \"$H\" --data-urlencode 'path=disk:/Договоры/договор-1042.pdf'\ncurl -s -G https://cloud-api.yandex.net/v1/disk/resources -H \"$H\" \\\n  --data-urlencode 'path=disk:/Договоры/договор-1042.pdf' -d fields=public_url | jq -r .public_url","language":"bash","methods":["GET /v1/disk/resources","PUT /v1/disk/resources/publish"]},{"id":"skopirovat-peremestit-ili-udalit-papku","title":"Скопировать, переместить или удалить папку","summary":"Разложить файлы по папкам, архивировать старое, очистить место.","steps":["Скопируй: POST /v1/disk/resources/copy с from и path. Перемести: POST /v1/disk/resources/move с теми же параметрами. Удали: DELETE /v1/disk/resources с path (permanently = true — без Корзины).","Файл или пустая папка обрабатываются сразу (201 или 204). Для непустой папки придёт 202 и ссылка на операцию.","Проверяй статус: GET /v1/disk/operations/{operation_id} — success, in-progress или failed (тогда повтори исходный запрос).","Загрузить файл прямо из интернета на Диск можно через POST /v1/disk/resources/upload с url и path — это тоже длительная операция."],"code":"OP=$(curl -s -X POST -G https://cloud-api.yandex.net/v1/disk/resources/move -H \"$H\" \\\n  --data-urlencode 'from=disk:/Отчёты/2025' --data-urlencode 'path=disk:/Архив/Отчёты 2025' | jq -r .href)\ncurl -s \"$OP\" -H \"$H\"   # {\"status\": \"in-progress\"} → {\"status\": \"success\"}","language":"bash","methods":["POST /v1/disk/resources/upload","POST /v1/disk/resources/copy","POST /v1/disk/resources/move","DELETE /v1/disk/resources","GET /v1/disk/operations/{operation_id}"]}],"baseUrls":[{"label":"Боевой","url":"https://cloud-api.yandex.net"},{"label":"Загрузка и скачивание файлов идут через отдельные адреса, которые API возвращает в поле .","url":"href"}],"auth":{"type":"oauth2","description":"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>`.\n\nЗаголовки `Accept` и `Content-Type` — только `application/json`.","example":"Authorization: OAuth 0c4181a7c2cf4521964a72ff57a34a07"},"methods":[{"id":"GET /v1/disk/","title":"Данные о Диске","httpMethod":"GET","path":"/v1/disk/","description":"Возвращает объект Disk: объём Корзины, общий и занятый объём, пути системных папок.","params":[],"requestExample":"","responseExample":"{\n  \"trash_size\": 4631577437,\n  \"total_space\": 319975063552,\n  \"used_space\": 26157681270,\n  \"system_folders\":\n  {\n    \"applications\": \"disk:/Приложения\",\n    \"downloads\": \"disk:/Загрузки/\"\n  }\n}","docsUrl":""},{"id":"GET /v1/disk/resources","title":"Метаинформация о файле или папке","httpMethod":"GET","path":"/v1/disk/resources","description":"Для ресурса в Корзине — `GET /v1/disk/trash/resources`.","params":[{"name":"path","in":"query","type":"string","required":true,"description":"Путь к ресурсу, в URL-кодировке"},{"name":"fields","in":"query","type":"string","required":false,"description":"Ключи ответа через запятую, вложенные — через точку"},{"name":"limit","in":"query","type":"integer","required":false,"description":"Число вложенных ресурсов, по умолчанию 20"},{"name":"offset","in":"query","type":"integer","required":false,"description":"Сколько вложенных ресурсов пропустить"},{"name":"preview_crop","in":"query","type":"boolean","required":false,"description":"Обрезать превью до квадрата, по умолчанию false"},{"name":"preview_size","in":"query","type":"string","required":false,"description":"Размер превью: S–XXXL, ширина, высота или ШxВ"},{"name":"sort","in":"query","type":"string","required":false,"description":"name, path, created, modified, size; дефис — обратный порядок"}],"requestExample":"","responseExample":"","docsUrl":""},{"id":"GET /v1/disk/resources/upload","title":"URL для загрузки файла","httpMethod":"GET","path":"/v1/disk/resources/upload","description":"Возвращает ссылку для загрузки; файл затем отправляется методом `PUT` на `href` в течение 30 минут, без OAuth-токена. Успешная загрузка — `201 Created`, `202 Accepted` — файл принят, но ещё не перенесён на Диск.\n\nПример ответа (сокращён):","params":[{"name":"path","in":"query","type":"string","required":true,"description":"Путь к файлу, в URL-кодировке; имя до 255 символов, путь до 32760"},{"name":"overwrite","in":"query","type":"boolean","required":false,"description":"Перезаписать существующий файл, по умолчанию false"},{"name":"fields","in":"query","type":"string","required":false,"description":"Ключи ответа"}],"requestExample":"{\n  \"operation_id\": \"cbb77e87...\",\n  \"href\": \"https://uploader1d.dst.yandex.net:443/upload-target/...\",\n  \"method\": \"PUT\",\n  \"templated\": false\n}","responseExample":"","docsUrl":""},{"id":"POST /v1/disk/resources/upload","title":"Загрузка файла из интернета","httpMethod":"POST","path":"/v1/disk/resources/upload","description":"Асинхронно скачивает файл по URL на Диск; ответ `202 Accepted` со ссылкой на статус операции.","params":[{"name":"url","in":"query","type":"string","required":true,"description":"Адрес файла, в URL-кодировке"},{"name":"path","in":"query","type":"string","required":true,"description":"Путь на Диске, в URL-кодировке"},{"name":"fields","in":"query","type":"string","required":false,"description":"Ключи ответа"},{"name":"disable_redirects","in":"query","type":"boolean","required":false,"description":"Запретить переход по редиректу, по умолчанию false"}],"requestExample":"","responseExample":"","docsUrl":""},{"id":"GET /v1/disk/resources/download","title":"Ссылка на скачивание файла","httpMethod":"GET","path":"/v1/disk/resources/download","description":"","params":[{"name":"path","in":"query","type":"string","required":true,"description":"Путь к файлу, в URL-кодировке"},{"name":"fields","in":"query","type":"string","required":false,"description":"Ключи ответа"}],"requestExample":"","responseExample":"{\n  \"href\": \"https://downloader.dst.yandex.ru/disk/...\",\n  \"method\": \"GET\",\n  \"templated\": false\n}","docsUrl":""},{"id":"PUT /v1/disk/resources","title":"Создание папки","httpMethod":"PUT","path":"/v1/disk/resources","description":"Успех — `201 Created` и объект Link на метаинформацию папки.","params":[{"name":"path","in":"query","type":"string","required":true,"description":"Путь к папке, например %2FMusic"},{"name":"fields","in":"query","type":"string","required":false,"description":"Ключи ответа"}],"requestExample":"","responseExample":"","docsUrl":""},{"id":"POST /v1/disk/resources/copy","title":"Копирование","httpMethod":"POST","path":"/v1/disk/resources/copy","description":"Файл или пустая папка — синхронно (`201 Created`); непустая папка — асинхронно (`202 Accepted`, ссылка на статус операции).","params":[{"name":"from","in":"query","type":"string","required":true,"description":"Путь к копируемому ресурсу"},{"name":"path","in":"query","type":"string","required":true,"description":"Путь к копии, до 32760 символов"},{"name":"overwrite","in":"query","type":"boolean","required":false,"description":"Перезаписать ресурсы с совпадающими именами, по умолчанию false"},{"name":"force_async","in":"query","type":"boolean","required":false,"description":"Выполнить асинхронно"},{"name":"fields","in":"query","type":"string","required":false,"description":"Ключи ответа"}],"requestExample":"","responseExample":"","docsUrl":""},{"id":"POST /v1/disk/resources/move","title":"Перемещение","httpMethod":"POST","path":"/v1/disk/resources/move","description":"Ответы такие же, как у копирования.","params":[{"name":"from","in":"query","type":"string","required":true,"description":"Текущий путь к ресурсу"},{"name":"path","in":"query","type":"string","required":true,"description":"Новый путь, до 32760 символов"},{"name":"overwrite","in":"query","type":"boolean","required":false,"description":"Перезаписать, по умолчанию false"},{"name":"force_async","in":"query","type":"boolean","required":false,"description":"Выполнить асинхронно"},{"name":"fields","in":"query","type":"string","required":false,"description":"Ключи ответа"}],"requestExample":"","responseExample":"","docsUrl":""},{"id":"DELETE /v1/disk/resources","title":"Удаление","httpMethod":"DELETE","path":"/v1/disk/resources","description":"Файл или пустая папка — `204 No Content`; непустая папка — `202 Accepted` со ссылкой на статус операции.","params":[{"name":"path","in":"query","type":"string","required":true,"description":"Путь к ресурсу"},{"name":"permanently","in":"query","type":"boolean","required":false,"description":"Удалить без Корзины, по умолчанию false"},{"name":"md5","in":"query","type":"string","required":false,"description":"MD5 файла для проверки, что удаляется нужный файл"},{"name":"force_async","in":"query","type":"boolean","required":false,"description":"Выполнить асинхронно"},{"name":"fields","in":"query","type":"string","required":false,"description":"Ключи ответа"}],"requestExample":"","responseExample":"","docsUrl":""},{"id":"PUT /v1/disk/resources/publish","title":"Публикация ресурса","httpMethod":"PUT","path":"/v1/disk/resources/publish","description":"Успех — `200 OK` и объект Link. Настройки доступа передаются в теле в объекте `public_settings`.","params":[{"name":"path","in":"query","type":"string","required":true,"description":"Путь к публикуемому ресурсу"},{"name":"allow_address_access","in":"query","type":"boolean","required":false,"description":"Признак формата запроса, по умолчанию false"},{"name":"public_settings","in":"body","type":"object","required":false,"description":"Настройки публичного доступа"}],"requestExample":"","responseExample":"","docsUrl":""},{"id":"GET /v1/disk/operations/{operation_id}","title":"Статус операции","httpMethod":"GET","path":"/v1/disk/operations/{operation_id}","description":"Статусы: `success`, `failed` (повторите исходный запрос), `in-progress`.","params":[{"name":"operation_id","in":"path","type":"string","required":true,"description":"Идентификатор операции из ответа длительного запроса"}],"requestExample":"","responseExample":"{\n  \"status\":\"success\"\n}","docsUrl":""}],"codeExamples":[],"errors":[{"code":"400","description":"Некорректные данные"},{"code":"401","description":"Не авторизован"},{"code":"403","description":"API недоступно или недостаточно прав (например, файлы занимают больше места, чем доступно)"},{"code":"404","description":"Ресурс не найден"},{"code":"406","description":"Ресурс нельзя представить в запрошенном формате"},{"code":"409","description":"Ресурс уже существует"},{"code":"413","description":"Файл слишком большой (UPLOAD_FILE_SIZE_LIMIT_EXCEEDED)"},{"code":"423","description":"Технические работы или превышен лимит загрузки (UPLOAD_TRAFFIC_LIMIT_EXCEEDED)"},{"code":"429","description":"Слишком много запросов"},{"code":"503","description":"Сервис временно недоступен"},{"code":"507","description":"Недостаточно свободного места"}],"limits":"","gotchas":["Пути передаются в URL-кодировке; `disk:/foo` и `/foo` — одна и та же папка.","Длительные операции (копирование, перемещение, удаление непустых папок, загрузка из интернета) возвращают `202 Accepted` и объект Link на статус — статус нужно опрашивать самостоятельно.","Объект Link: `href` (URL), `method` (HTTP-метод для него), `templated` (нужна ли подстановка параметров по RFC 6570).","Ссылки на загрузку действуют 30 минут, ссылки на скачивание — ограниченное время.","Один токен даёт одному приложению доступ к Диску одного пользователя; потерянный токен в кабинете не найти — запросите новый."],"slug":"yandex-disk","version":2,"updatedAt":"2026-10-24T17:05:40.395Z","sources":[{"title":"Яндекс Диск — REST API","url":"https://yandex.ru/dev/disk-api/doc/ru/","kind":"research","addedAt":"2026-10-14T14:54:58.837Z"},{"title":"Доступ к API","url":"https://yandex.ru/dev/disk-api/doc/ru/concepts/quickstart","kind":"research","addedAt":"2026-10-14T14:54:58.837Z"},{"title":"Данные о Диске","url":"https://yandex.ru/dev/disk-api/doc/ru/reference/capacity","kind":"research","addedAt":"2026-10-14T14:54:58.837Z"},{"title":"Метаинформация","url":"https://yandex.ru/dev/disk-api/doc/ru/reference/meta","kind":"research","addedAt":"2026-10-14T14:54:58.837Z"},{"title":"Загрузка файла","url":"https://yandex.ru/dev/disk-api/doc/ru/reference/upload","kind":"research","addedAt":"2026-10-14T14:54:58.837Z"},{"title":"Загрузка из интернета","url":"https://yandex.ru/dev/disk-api/doc/ru/reference/upload-ext","kind":"research","addedAt":"2026-10-14T14:54:58.837Z"},{"title":"Скачивание","url":"https://yandex.ru/dev/disk-api/doc/ru/reference/content","kind":"research","addedAt":"2026-10-14T14:54:58.837Z"},{"title":"Создание папки","url":"https://yandex.ru/dev/disk-api/doc/ru/reference/create-folder","kind":"research","addedAt":"2026-10-14T14:54:58.837Z"},{"title":"Копирование","url":"https://yandex.ru/dev/disk-api/doc/ru/reference/copy","kind":"research","addedAt":"2026-10-14T14:54:58.837Z"},{"title":"Перемещение","url":"https://yandex.ru/dev/disk-api/doc/ru/reference/move","kind":"research","addedAt":"2026-10-14T14:54:58.837Z"},{"title":"Удаление","url":"https://yandex.ru/dev/disk-api/doc/ru/reference/delete","kind":"research","addedAt":"2026-10-14T14:54:58.837Z"},{"title":"Публикация","url":"https://yandex.ru/dev/disk-api/doc/ru/reference/publish","kind":"research","addedAt":"2026-10-14T14:54:58.837Z"},{"title":"Статус операции","url":"https://yandex.ru/dev/disk-api/doc/ru/reference/operations","kind":"research","addedAt":"2026-10-14T14:54:58.837Z"},{"title":"JSON-объекты в ответах","url":"https://yandex.ru/dev/disk-api/doc/ru/reference/response-objects","kind":"research","addedAt":"2026-10-14T14:54:58.837Z"},{"title":"Вставленный текст","url":"","kind":"import","addedAt":"2026-10-14T14:54:58.837Z"},{"title":"scenarios-yandex-disk.md","url":"","kind":"import","addedAt":"2026-10-24T17:05:29.749Z"}],"logoUrl":null}