---
title: "Create a branch"
method: POST
path: "/v2/project/branches/create"
tags: ["Project"]
---

# Create a branch

`POST /v2/project/branches/create`

Create a new branch, or rename and confirm the default branch.

## 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
  - `branchName` string, required
  - `defaultBranch` boolean

## Response `200`

Created or existing branch

- object
  - `branch` Branch, required
    - `id` string, required
    - `name` string, required

## Other responses

- `400` — Request error
- `401` — Request error
- `403` — Request error
- `409` — Request error
- `413` — Request error
- `429` — Request error
- `500` — Request error

## Changes

- **2026-08-27** `367cd605d090` — 1 breaking, 16 info
  - removed the media type `text/plain` for the response with the status `403`
  - the endpoint scheme security `BearerAuth` was added to the API
  - api tag `Project` added
  - api tag `Branches` removed
  - …13 more

[Change history](https://skmtc.dev/generaltranslation/apis/general-translation-api/changes/v2/project/branches/create/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/5f954204ea21/schema)
