# General Translation Platform: Descargar archivos URL: https://generaltranslation.com/es/docs/platform/openapi/reference/files/download-many.mdx --- title: Descargar archivos description: Descarga varios archivos traducidos de un Proyecto de General Translation en una sola solicitud. Referencia de la API para Descargar archivos. method: POST --- Descarga varios archivos de origen o traducidos en una sola solicitud. Cada entrada selecciona un archivo por ID y el contenido del archivo se devuelve en base64. ## Descripción general [#overview] ```http POST https://api2.gtx.dev/v2/project/files/download ``` **Permiso** `project:files:read` · **Límite de solicitudes** Light (300/min) Recupera varios archivos a la vez. Para descargar un solo archivo, usa [Descargar archivo](/docs/platform/openapi/reference/files/download). ## Cómo funciona [#how-it-works] * Envía de 1 a 100 referencias de archivo. Cada una se resuelve de forma independiente y los resultados exitosos se devuelven juntos. * Una entrada sin `locale` devuelve el archivo de origen; una entrada con `locale` devuelve esa traducción. * Si falta `branchId`, se usa la rama predeterminada. Si falta `versionId`, se usa la versión más reciente de la rama, a menos que se establezca `useLatestAvailableVersion`. * El contenido del archivo se devuelve codificado en base64 en el campo `data`. `fileName` solo está presente en los archivos de origen, y `locale` solo está presente en los archivos traducidos. ## Solicitud [#request] ### Cabeceras | Cabecera | Descripción | Obligatorio | | ----------------- | --------------------------------------------------------------------- | ----------- | | `x-gt-api-key` | Clave de API de Project o de Organization. | Sí | | `x-gt-project-id` | ID del proyecto. Obligatorio cuando se usa una clave de Organization. | No | ### Cuerpo **Tipo de contenido** `application/json` El cuerpo es una lista JSON de 1 a 100 referencias de archivo. Cada elemento tiene estos campos: | Campo | Descripción | Tipo | Opcional | Predeterminado | | --------------------------- | ----------------------------------------------------------------------------------------------- | --------- | -------- | ------------------------- | | `fileId` | Identificador estable del archivo; no puede estar vacío. | `string` | No | — | | `branchId` | Rama de la que se leerá. | `string` | Sí | Rama predeterminada | | `versionId` | Versión específica que se descargará. | `string` | Sí | Última versión de la rama | | `locale` | Configuración regional que se descargará. Omítela para descargar el archivo de origen. | `string` | Sí | — | | `useLatestAvailableVersion` | Usa como alternativa la versión disponible más reciente cuando no exista la versión solicitada. | `boolean` | Sí | `false` | ## Respuesta [#response] **Estado** `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 } ``` ## Errores [#errors] | Estado | Causa | | ------ | ------------------------------------------------------------------------------ | | `400` | Cuerpo de la solicitud no válido, o a una entrada le falta un `fileId` válido. | | `401` | Falta la clave de API o no es válida. | | `403` | La clave de API no tiene `project:files:read`. | | `429` | Se superó el límite de solicitudes. | ## Ejemplo [#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_..." } ]' ```