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.