Skip to content

Switch the caller's worktree to another branch (or create one)

POST
/api/workspaces/{workspaceId}/apps/{id}/checkout
curl --request POST \
--url http://localhost:8080/api/workspaces/example/apps/example/checkout \
--header 'Content-Type: application/json' \
--cookie auth_session=<auth_session> \
--data '{ "branch": "example", "create": true }'

The same thing git checkout (or git checkout -b with create) in the terminal does, offered as a button — and it goes through the sandbox, so both agree afterwards. Refuses with uncommitted work rather than choosing between carrying it across and discarding it.

workspaceId
required
string
id
required
string
Media typeapplication/json
object
branch
required
string
>= 1 characters <= 200 characters
create
boolean

Example generated

{
"branch": "example",
"create": true
}

Successful response

Media typeapplication/json
object
success

Whether the request succeeded.

boolean
data

Endpoint-specific response payload.

message
string
error
string

Example

{
"message": "Operation completed",
"error": "Error message"
}

Invalid request

Media typeapplication/json
object
success
boolean
error
string

Example

{
"error": "Error message"
}

Internal server error

Media typeapplication/json
object
success
boolean
error
string

Example

{
"error": "Error message"
}