# General Translation Platform: Publicar archivos URL: https://generaltranslation.com/es/docs/platform/openapi/reference/files/publish-files.mdx --- title: Publicar archivos description: Marca los archivos traducidos de un Proyecto de General Translation como publicados para que estén listos para su distribución. Referencia de la API de Publicar archivos. method: POST --- Publica o deja de publicar archivos traducidos en la CDN de General Translation. Configura `publish` por archivo para controlar su distribución y recibe un resultado por archivo y por configuración regional. ## Descripción general [#overview] ```http POST https://api2.gtx.dev/v2/project/files/publish ``` **Permiso** `project:files:write` · **Límite de frecuencia** Predeterminado (200/min) Controla qué traducciones sirve la CDN. El Proyecto debe tener la CDN habilitada. ## Cómo funciona [#how-it-works] * El Proyecto debe tener el CDN habilitado. De lo contrario, la solicitud falla con `400`. * Para cada archivo, se actualiza el estado de publicación del archivo fuente. Luego, cada traducción completada de ese archivo se publica o deja de publicarse, y su entrada de caché en el CDN se escribe o se elimina. * Cuando `publish` es `true` y faltan los datos de una traducción o son demasiado grandes para publicarlos, esa configuración regional se marca como fallida. Un archivo demasiado grande que se haya publicado previamente también deja de publicarse. * Cuando `publish` es `false`, las traducciones dejan de publicarse y se eliminan de la caché del CDN. * El procesamiento se realiza por archivo y por configuración regional, por lo que la respuesta contiene una entrada de resultado por cada traducción procesada. Si no se encuentra un archivo fuente, se informa como un resultado fallido en lugar de hacer fallar toda la solicitud. ## Solicitud [#request] ### Cabeceras | Cabecera | Descripción | Obligatorio | | ----------------- | -------------------------------------------------------------------- | ----------- | | `x-gt-api-key` | Clave de API del Proyecto 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` | Campo | Descripción | Tipo | Opcional | Predeterminado | | ----------------- | ------------------------------------------------------------------------------ | ---------- | -------- | -------------- | | [`files`](#files) | Lista de archivos para publicar o anular la publicación; no puede estar vacía. | `object[]` | No | — | #### `files` [#files] **Tipo** `object[]` · **Obligatorio** Cada elemento identifica un archivo y el estado de publicación deseado: | Campo | Descripción | Tipo | Opcional | Predeterminado | | ----------- | ------------------------------------------------------ | --------- | -------- | ------------------- | | `fileId` | Identificador estable del archivo. | `string` | No | — | | `versionId` | Identificador de versión de este contenido. | `string` | No | — | | `publish` | `true` para publicar y `false` para dejar de publicar. | `boolean` | No | — | | `branchId` | Rama a la que está asociado el archivo. | `string` | Sí | Rama predeterminada | ## Respuesta [#response] **Estado** `200 OK` ```json title="Response" { "results": [ { "fileId": "file_...", "versionId": "ver_...", "locale": "es", "branchId": "br_...", "success": true } ] } ``` ## Errores [#errors] | Estado | Causa | | ------ | ------------------------------------------------------------------------------- | | `400` | Cuerpo de la solicitud no válido, o el CDN no está habilitado para el Proyecto. | | `401` | Falta la API key o no es válida. | | `403` | La API key no tiene `project:files:write`. | | `429` | Se superó el límite de solicitudes. | ## Ejemplo [#example] ```bash curl -X POST https://api2.gtx.dev/v2/project/files/publish \ -H "x-gt-api-key: gtx-api-..." \ -H "Content-Type: application/json" \ -d '{ "files": [ { "fileId": "file_...", "versionId": "ver_...", "publish": true } ] }' ```