---
title: "Upload source files"
method: POST
path: "/v2/project/files/upload-files"
tags: ["Files"]
---

# Upload source files

`POST /v2/project/files/upload-files`

Upload one or more source files to the project. Max 100 files per request.

## Headers

- `gt-api-version` '2025-01-01.v0' | '2025-11-03.v1' | '2026-02-18.v1' | '2026-03-06.v1' — API contract version. Defaults to the oldest supported version.
- `gt-project-id` string — Target project ID. Required when authenticating with an organization API key; ignored with project-scoped API keys (the project is resolved from the key).

## Request body

- 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
  - `sourceLocale` string

## Response `201`

Uploaded source files

- 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

## Other responses

- `400` — Request error
- `401` — Request error
- `403` — Request error
- `404` — Request error
- `413` — Request error
- `429` — Request error
- `500` — Request error
- `503` — Request error

## Changes

- **2026-09-03** `451f820cc197` — 2 breaking, 3 warning, 5 info
  - removed the enum value `APPLE_STRINGS` of the request property `data/items/source/fileFormat`
  - removed the enum value `APPLE_STRINGSDICT` of the request property `data/items/source/fileFormat`
  - added the new `ANDROID_STRINGS` enum value to the `uploadedFiles/items/fileFormat` response property for the response status `201`
  - added the new `DOT_STRINGS` enum value to the `uploadedFiles/items/fileFormat` response property for the response status `201`
  - …6 more
- **2026-09-02** `330945a211d3` — 2 warning, 2 info
  - added the new `APPLE_STRINGS` enum value to the `uploadedFiles/items/fileFormat` response property for the response status `201`
  - added the new `APPLE_STRINGSDICT` enum value to the `uploadedFiles/items/fileFormat` response property for the response status `201`
  - added the new `APPLE_STRINGS` enum value to the request property `data/items/source/fileFormat`
  - added the new `APPLE_STRINGSDICT` enum value to the request property `data/items/source/fileFormat`
- **2026-09-01** `e8f4ff6d5df2` — 1 warning, 1 info
  - added the new `XCSTRINGS` enum value to the `uploadedFiles/items/fileFormat` response property for the response status `201`
  - added the new `XCSTRINGS` enum value to the request property `data/items/source/fileFormat`
- …earlier changes not shown

[Full history](https://skmtc.dev/generaltranslation/apis/general-translation-api/changes/v2/project/files/upload-files/post.md)

---

[API](https://skmtc.dev/generaltranslation/apis/general-translation-api.md) · [All operations](https://skmtc.dev/generaltranslation/apis/general-translation-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/generaltranslation/general-translation-api/revisions/451f820cc197/schema)
