# General Translation Platform: Скачать файлы URL: https://generaltranslation.com/ru/docs/platform/openapi/reference/files/download-many.mdx --- title: Скачать файлы description: Загрузка нескольких переведённых файлов из проекта General Translation одним запросом. Справка по API для метода «Скачать файлы». method: POST --- Скачивает несколько исходных или переведённых файлов за один запрос. Каждая запись выбирает файл по ID, а содержимое файла возвращается в формате base64. ## Обзор [#overview] ```http POST https://api2.gtx.dev/v2/project/files/download ``` **Разрешение** `project:files:read` · **Лимит запросов** Низкий (300/мин) Получение нескольких файлов за один запрос. Чтобы скачать один файл, используйте [Скачать файл](/docs/platform/openapi/reference/files/download). ## Как это работает [#how-it-works] * Отправьте от 1 до 100 ссылок на файлы. Каждая обрабатывается независимо, а все успешные результаты возвращаются вместе. * Запись без `locale` возвращает исходный файл; запись с `locale` возвращает соответствующий перевод. * Если `branchId` не указан, используется ветка по умолчанию. Если `versionId` не указан, используется головная версия ветки, если не задан `useLatestAvailableVersion`. * Содержимое файла возвращается в поле `data` в кодировке base64. `fileName` присутствует только в исходных файлах, а `locale` — только в переведённых файлах. ## Запрос [#request] ### Заголовки | Заголовок | Описание | Обязательно | | ----------------- | ---------------------------------------------------------------------- | ----------- | | `x-gt-api-key` | API-ключ проекта или организации. | Да | | `x-gt-project-id` | Идентификатор проекта. Обязателен при использовании ключа организации. | Нет | ### Тело **Тип содержимого** `application/json` Тело представляет собой JSON-массив из 1–100 ссылок на файлы. Каждый элемент содержит следующие поля: | Поле | Описание | Тип | Необязательно | По умолчанию | | --------------------------- | ----------------------------------------------------------------------------- | --------- | ------------- | ---------------------- | | `fileId` | Постоянный идентификатор файла; не может быть пустым. | `string` | Нет | — | | `branchId` | Ветка, из которой выполняется чтение. | `string` | Да | Ветка по умолчанию | | `versionId` | Конкретная версия для скачивания. | `string` | Да | Последняя версия ветки | | `locale` | Локаль для скачивания. Не указывайте это поле, чтобы скачать исходный файл. | `string` | Да | — | | `useLatestAvailableVersion` | Если запрошенная версия отсутствует, используется последняя доступная версия. | `boolean` | Да | `false` | ## Ответ [#response] **Статус** `200 OK` ```json title="Response" { "files": [ { "id": "sf_...", "branchId": "br_...", "fileId": "file_...", "versionId": "ver_...", "fileName": "en/common.json", "data": "eyJoZWxsbyI6ICJIZWxsbyJ9", "metadata": {}, "fileFormat": "JSON" }, { "id": "tf_...", "branchId": "br_...", "fileId": "file_...", "versionId": "ver_...", "locale": "es", "data": "eyJoZWxsbyI6ICJIb2xhIn0=", "metadata": {}, "fileFormat": "JSON" } ], "count": 2 } ``` ## Ошибки [#errors] | Статус | Причина | | ------ | ----------------------------------------------------------------------- | | `400` | Недопустимое тело запроса или у записи отсутствует корректный `fileId`. | | `401` | API-ключ отсутствует или недействителен. | | `403` | У API-ключа нет разрешения `project:files:read`. | | `429` | Превышен лимит запросов. | ## Пример [#example] ```bash curl -X POST https://api2.gtx.dev/v2/project/files/download \ -H "x-gt-api-key: gtx-api-..." \ -H "Content-Type: application/json" \ -d '[ { "fileId": "file_...", "locale": "es" }, { "fileId": "file_..." } ]' ```