Skip to content

Checkout Workspace

POST
/api/v1/projects/{project_id}/workspace/checkout
curl --request POST \
--url https://aura.strangeworks.com/api/v1/projects/example/workspace/checkout \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "conversation_id": "example", "source": "example" }'

Overwrite the workspace in place from source and set the basis.

A pure overwrite of the managed workspace tree (modeling/ + dotfiles are left intact) plus a ProjectFile reconcile; no auto-snapshot. Only meaningful once the project is in run mode — there is no run workspace to reset before that. Refused with a 409 while any turn on the project is in flight; the notice lands on conversation_id (else the active conversation).

project_id
required
Project Id
string
Media typeapplication/json
WorkspaceCheckoutRequest

Reset the workspace in place from a source.

source is dispatched by segment count: <snapshot_id>/<tag> (1), a <group>/<name> deployment handle (2), or a <group>/<project>/<name> in-project snapshot tag (3). See workspace_service.

object
conversation_id
Any of:
string
source
required
Source
string
>= 1 characters
Examplegenerated
{
"conversation_id": "example",
"source": "example"
}

Successful Response

Media typeapplication/json
WorkspaceBasisResponse

The workspace’s basis after a checkout — the parent for the next snapshot.

object
deployment_handle
Any of:
string
file_count
required
File Count
integer
kind
required
Kind
string
Allowed values: snapshot deployment
snapshot_id
Any of:
string
Example
{
"kind": "snapshot"
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
ctx
Context
object
input
Input
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
Examplegenerated
{
"detail": [
{
"ctx": {},
"input": "example",
"loc": [
"example"
],
"msg": "example",
"type": "example"
}
]
}