# General Translation Platform: Загрузка ресурсов проекта
URL: https://generaltranslation.com/ru/docs/platform/openapi/reference/project/upload-assets.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Загрузите шрифты OpenType или TrueType в проект, чтобы сделать их доступными для процессов перевода Lottie во всей организации. Каждый шрифт идентифицируется нормализованным идентификатором, сформированным на основе семейства, начертания и курсивного стиля (из указанных family и style либо из метаданных шрифта и имени файла). Повторная загрузка шрифта с тем же идентификатором перезаписывает существующий ресурс, поэтому повторные попытки после ответа 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**: 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):

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.
