Skip to main content
POST
Create branch

Authorizations

Authorization
string
header
required

Use a JWT bearer token or a Veryfront API key in the Authorization header.

Path Parameters

project_reference
string
required
Example:

"my-project"

Body

application/json
name
string
required

Branch name. Branch name may only contain letters, numbers, ".", "_", "/" and "-", and cannot start with "-".

Required string length: 1 - 255
Pattern: ^[A-Za-z0-9._/][A-Za-z0-9._/-]*$
Example:

"feature-new-header"

base_branch_id
string<uuid> | null

Omit to branch from the project root (created automatically if missing). Use null to create a root branch; rejected if a root already exists. A UUID must identify a base branch in this project.

description
string

Branch description.

auto_delete_on_merge
boolean

Delete the branch after it merges. Defaults to false.

Response

Branch created successfully.

id
string<uuid>
required
name
string
required
project_id
string<uuid>
required
base_branch_id
string<uuid> | null
created_at
string | null

Persisted branch creation time.

Example:

"2026-09-14T10:00:00.000Z"

created_by
string<uuid> | null
merged_at
string | null

Persisted merge time; null before a merge.

merged_by
string<uuid> | null
status
enum<string>

Stored lifecycle state; closed is distinct from merged.

Available options:
active,
merged,
closed
Example:

"active"

updated_at
string | null
version
integer

Persisted optimistic-concurrency version for expected_version on merge.

Required range: x >= 0
Example:

3

description
string | null
auto_delete_on_merge
boolean