# General Translation Platform: 创建或更新标签
URL: https://generaltranslation.com/zh/docs/platform/openapi/reference/project/upsert-tag.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 创建或更新一个指向一组文件版本的标签。创建或更新标签的 API 参考。

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

## Endpoint

`POST https://api.gtx.dev/v2/project/tags/create`

**Operation ID:** `createTag`

**Tags:** `Project`

**Summary:** Create or update a tag

Create or upsert a tag that points at a set of file versions.

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):
- `tagId` (string, required)
- `files` (object[], required)
  - `fileId` (string, required)
  - `versionId` (string, required)
  - `branchId` (string, required)
- `message` (string)

### Responses

**200**: Created or updated file tag
Response body (`application/json`, object):
- `tag` (object, required)
  - `id` (string, required)
  - `tagId` (string, required)
  - `message` (string | null, required)
  - `createdAt` (string (date-time), required)
  - `updatedAt` (string (date-time), 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):

**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.
