# General Translation Platform: プロジェクトアセットのアップロード
URL: https://generaltranslation.com/ja/docs/platform/openapi/reference/project/upload-assets.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 組織全体のLottie翻訳で使用するOpenTypeまたはTrueTypeフォントをアップロードします。フォントファミリー、ウェイト、イタリックスタイルが同じフォントをアップロードすると、既存のフォントが置き換えられます。500レスポンスが返された場合は、アップロード全体を安全に再試行できます。プロジェクトアセットのアップロードに関するAPI リファレンス。

{/* このファイルは Fumadocs によって生成されました。直接編集しないでください。変更する場合は、生成コマンドを再実行してください。 */}

## Endpoint

`POST https://api.gtx.dev/v2/project/assets`

**Operation ID:** `uploadAssets`

**Tags:** `Project`

**Summary:** Upload Project assets

Upload OpenType or TrueType fonts for Lottie translations across your Organization. Uploading the same font family, weight, and italic style replaces the existing font. You can safely retry the full upload after a `500` response.

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):
- `assets` (object[], required)
  - `assetType` ("FONT", required)
  - `content` (string, required)
  - `fileName` (string, required)
  - `family` (string)
  - `style` (string)

### Responses

**201**: Uploaded assets
Response body (`application/json`, object):
- `assets` (object[], required)
  - `id` (string, required)
  - `assetKey` (string, required)
  - `fileName` (string, required)
- `count` (integer, 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):

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.
