# General Translation Platform: 上传翻译后的文件
URL: https://generaltranslation.com/zh/docs/platform/openapi/reference/files/upload-translations.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 上传与源文件关联的翻译后的文件。每次请求最多上传 100 个文件。上传翻译后的文件的 API 参考。

{/* 此文件由 Fumadocs 生成。请勿直接编辑此文件。任何更改都应通过重新运行生成命令来完成。 */}

## Endpoint

`POST https://api.gtx.dev/v2/project/files/upload-translations`

**Operation ID:** `uploadTranslations`

**Tags:** `Files`

**Summary:** Upload translated files

Upload translated files linked to their source files. Max 100 files per request.

Authentication: required. Send an API key in the `Authorization: Bearer <key>` header when authenticating.

### Parameters

- `gt-api-version` (header, "2025-01-01.v0" | "2025-11-03.v1" | "2026-02-18.v1" | "2026-03-06.v1", optional): API contract version. Defaults to the oldest supported version.
- `gt-project-id` (header, string, optional): Target project ID when no project ID is present in the path. Project API keys default to their bound project. If supplied, the header must match both the path target and the key’s bound project.

### Request body (required)

Body (`application/json`, object):
- `data` (object[], required)
  - `source` (object, required)
    - `content` (string, required)
    - `fileName` (string, required)
    - `fileFormat` ("GTJSON" | "MDX" | "JSON" | "YAML" | "MD" | "TS" | "JS" | "HTML" | "TXT" | "PO" | "POT" | "TWILIO_CONTENT_JSON" | "LOTTIE" | "SVG" | "XCSTRINGS" | "DOT_STRINGS" | "DOT_STRINGSDICT" | "ANDROID_STRINGS" | "SRT" | "RESX", required)
    - `dataFormat` (string)
    - `locale` (string, required)
    - `fileId` (string)
    - `versionId` (string)
    - `branchId` (string)
    - `checkedOutBranchId` (string)
    - `incomingBranchId` (string)
    - `formatMetadata` (object)
      - `<key>` (object, dynamic key)
  - `translations` (object[], required)
    - `content` (string, required)
    - `fileName` (string, required)
    - `fileFormat` ("GTJSON" | "MDX" | "JSON" | "YAML" | "MD" | "TS" | "JS" | "HTML" | "TXT" | "PO" | "POT" | "TWILIO_CONTENT_JSON" | "LOTTIE" | "SVG" | "XCSTRINGS" | "DOT_STRINGS" | "DOT_STRINGSDICT" | "ANDROID_STRINGS" | "SRT" | "RESX", required)
    - `dataFormat` (string)
    - `locale` (string, required)
    - `transformFormat` ("GTJSON" | "MDX" | "JSON" | "YAML" | "MD" | "TS" | "JS" | "HTML" | "TXT" | "PO" | "POT" | "TWILIO_CONTENT_JSON" | "LOTTIE" | "SVG" | "XCSTRINGS" | "DOT_STRINGS" | "DOT_STRINGSDICT" | "ANDROID_STRINGS" | "SRT" | "RESX")
- `sourceLocale` (string)

### Responses

**201**: Uploaded translation files
Response body (`application/json`, object):
- `uploadedFiles` (object[], required)
  - `branchId` (string, required)
  - `fileId` (string, required)
  - `versionId` (string, required)
  - `fileName` (string, required)
  - `fileFormat` ("GTJSON" | "MDX" | "JSON" | "YAML" | "MD" | "TS" | "JS" | "HTML" | "TXT" | "PO" | "POT" | "TWILIO_CONTENT_JSON" | "LOTTIE" | "SVG" | "XCSTRINGS" | "DOT_STRINGS" | "DOT_STRINGSDICT" | "ANDROID_STRINGS" | "SRT" | "RESX", required)
  - `dataFormat` ("JSX" | "ICU" | "I18NEXT" | "STRING")
  - `locale` (string)
- `count` (number, required)
- `message` (string, required)

**400**: The request is malformed or failed validation.
Response body (`application/json`, object):
- `error` (string, required)

Response body (`text/html`, string):

**401**: Authentication is missing or invalid.
Response body (`application/json`, object):
- `error` (string, required)

Response body (`text/html`, string):

**403**: The caller is authenticated but not allowed to perform this operation or access the requested resource.
Response body (`application/json`, object):
- `error` (string, required)

Response body (`text/html`, string):

**404**: The requested resource was not found.
Response body (`application/json`, object):
- `error` (string, required)

Response body (`text/html`, string):

**413**: The request, or the data it would return, exceeds a size or item limit.
Response body (`application/json`, object):
- `error` (string, required)

Response body (`text/html`, string):

**415**: The request body's Content-Type is missing or not supported. Send the body as application/json.
Response body (`application/json`, object):
- `error` (string, required)

Response body (`text/html`, string):

**429**: Too many requests. The rate limit was exceeded.
Response body (`application/json`, object):
- `error` (string, required)

Response body (`text/html`, string):

**500**: An unexpected server error occurred.
Response body (`application/json`, object):
- `error` (string, required)

Response body (`text/html`, string):

**503**: The server is too busy to process the uploaded files. Retry later.
Response body (`application/json`, object):
- `error` (string, required)

Response body (`text/html`, string):

Complete OpenAPI 3.1 specification: https://generaltranslation.com/openapi.yaml

OpenAPI schema: [openapi.json](https://generaltranslation.com/openapi.json)

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
