# General Translation Platform: 上传源文件
URL: https://generaltranslation.com/zh/docs/platform/openapi/reference/files/upload-source.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 向项目上传一个或多个源文件。每次请求最多 100 个文件。上传源文件的 API 参考。

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

## Endpoint

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

**Operation ID:** `uploadSourceFiles`

**Tags:** `Files`

**Summary:** Upload source files

Upload one or more source files to the project. 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)
- `sourceLocale` (string)

### Responses

**201**: Uploaded source 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` ("JSX" | "ICU" | "I18NEXT" | "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.
