Create Workspace
Creates a durable workspace in a namespace, optionally forking a snapshot (metadata-only). The snapshot must be in the same namespace (PermissionDenied otherwise).
Access: namespace OPERATOR or above (write); refused for workspace-scoped agent keys
Authorization
BearerAuth A namespace-scoped API key (cpk_…) for machines, or a Xeonr Auth OIDC
token for humans. The key's namespace and role are pinned server-side.
In: header
Header Parameters
Define the version of the Connect protocol
Define the timeout, in ms
Request Body
application/json
length <= 64optional: fork/template a snapshot (metadata-only, instant)
length <= 128length <= 255Response Body
application/json
application/json
curl -X POST "https://containers.xeonr.io/containers.api.v1.WorkspaceService/CreateWorkspace" \ -H "Connect-Protocol-Version: 1" \ -H "Connect-Timeout-Ms: 1000" \ -H "Content-Type: application/json" \ -d '{}'{
"workspace": {
"workspaceId": "string",
"namespace": "string",
"totalBytes": "string",
"fileCount": 0,
"updatedAtUnix": "string",
"label": "string",
"revision": "string",
"ephemeral": true,
"ownerKind": "string",
"ownerId": "string"
}
}{
"code": "not_found",
"message": "string",
"details": [
{
"type": "string",
"value": "string",
"debug": {}
}
]
}Create Upload POST
Mints a presigned PUT URL (valid 15 minutes) for uploading a zip straight to object storage, plus the matching pull URL to pass as ImportZipHeader.source_url. The filename is reduced to its base name (default upload.zip). Unimplemented unless the workspace store is backed by object storage. **Access:** namespace OPERATOR or above (write)
Delete Snapshot POST
Deletes a snapshot. NotFound when the id does not name a snapshot (a live workspace cannot be deleted through this call). **Access:** namespace OPERATOR or above (write); a workspace-scoped agent key may act only on the trees it was minted for