Documentation menu

Create branch

POSThttps://api.instacloud.com/projects/{projectId}/branches

Token scope: account · org · project — read-only tokens refused (not a GET).

Create a branch (database branch + Tigris fork + cloned compute groups, or empty)

Parameters

NameInTypeRequiredDescription
projectIdpathstringyes

Request body

application/json

FieldTypeRequiredDescription
namestringyeslower-kebab: a-z, 0-9, hyphen (max 39)
fromstringnoparent branch name
emptybooleannocreate the branch and nothing else: none of the parent's services are forked and none of its branch-scoped secrets are copied (project-scoped secrets still apply). `from` only sets the parent link.

Responses

201

Default Response

FieldTypeRequiredDescription
branchobjectno
branch.idstringno
branch.project_idstringno
branch.namestringno
branch.parent_branch_idstring | nullno
branch.is_defaultbooleanno
branch.status"creating" | "active" | "error" | "deleting"no
branch.created_atstringno
nextActionsobject[]no
nextActions.opstringyesNeutral logical action id, e.g. "service.add" — NOT an operationId or a CLI/MCP tool name; each client maps it to its own surface.
nextActions.reasonstringyesNatural-language, human/LLM-facing "why do this now".
nextActions.argsobjectnoSuggested, flat named arguments; "<placeholder>"s where a value is unknown.
nextActions.gatedbooleannoTrue if the action passes a governance gate.

202

Default Response

FieldTypeRequiredDescription
statusstringyes
approvalIdstringyes
actionstringyes
actionsstring[]yes
messagestringyes
urlstringyes

400

Default Response

FieldTypeRequiredDescription
errorstringyes

403

Default Response

FieldTypeRequiredDescription
errorstringyes

409

Default Response

FieldTypeRequiredDescription
errorstringyes

429

Default Response

FieldTypeRequiredDescription
errorstringyes

View as Markdown