# General Translation Platform: Upload translated files
URL: https://generaltranslation.com/en-US/docs/platform/openapi/reference/files/upload-translations.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Upload translated files linked to their source files. Max 100 files per request. API reference for Upload translated files.

## 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", 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", 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")
- `sourceLocale` (string)

### Responses

**201**: Uploaded translation files
Response body (`application/json`, object):
- `uploadedFiles` (object[], required)
  - `branchId` (string)
  - `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", required)
  - `dataFormat` (string)
  - `locale` (string)
- `count` (number, required)
- `message` (string, required)

**400**: Request error
Response body (`application/json`, object):
- `error` (string, required)

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

**401**: Request error
Response body (`application/json`, object):
- `error` (string, required)

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

**403**: Request error
Response body (`application/json`, object):
- `error` (string, required)

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

**404**: Request error
Response body (`application/json`, object):
- `error` (string, required)

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

**413**: Request error
Response body (`application/json`, object):
- `error` (string, required)

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

**429**: Request error
Response body (`application/json`, object):
- `error` (string, required)

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

**500**: Request error
Response body (`application/json`, object):
- `error` (string, required)

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

**503**: Request error
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.
