Skip to main content

Branches API

Manage parallel semantic timelines.

Create Branch

POST /api/v1/branches

Request

{
"project_id": "proj_abc123",
"name": "budget-version"
}

Response

{
"name": "budget-version",
"project_id": "proj_abc123",
"head_commit": "sha256:...",
"created_at": "2024-01-15T12:00:00Z"
}

List Branches

GET /api/v1/branches?project_id=proj_abc123

Response

{
"branches": [
{"name": "main", "head_commit": "sha256:..."},
{"name": "budget-version", "head_commit": "sha256:..."}
]
}

Get Current Branch

GET /api/v1/branches/current?project_id=proj_abc123

Switch Branch

POST /api/v1/branches/switch

Request

{
"project_id": "proj_abc123",
"branch": "budget-version",
"create_if_not_exists": false
}

Delete Branch

DELETE /api/v1/branches

Request

{
"project_id": "proj_abc123",
"name": "old-branch"
}
warning

Cannot delete the currently checked-out branch.