Write File
Client stream: one WriteHeader first, then data frames. Overwrites (default), appends or patches at an offset, then pushes the change into any live sandbox mounting the workspace. Authorization is checked on the header, before any body is buffered. The body is capped at 64 MiB (InvalidArgument); use CreateUpload + ImportZip for bulk data. Refused on a snapshot (FailedPrecondition).
Access: namespace OPERATOR or above (write); a workspace-scoped agent key may act only on the trees it was minted for
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/connect+json
A whole WriteFile body is capped at 64 MiB, so no single frame can exceed it.
bytelength <= 67108864Response Body
application/connect+json
application/connect+json
curl -X POST "https://containers.xeonr.io/containers.api.v1.WorkspaceService/WriteFile" \ -H "Connect-Protocol-Version: 1" \ -H "Connect-Timeout-Ms: 1000" \ -H "Content-Type: application/connect+json" \ -d ''{
"info": {
"path": "string",
"size": "string",
"mode": 0,
"isDir": true,
"sha256": "string",
"mtimeUnix": "string",
"symlinkTarget": "string"
}
}{
"code": "not_found",
"message": "string",
"details": [
{
"type": "string",
"value": "string",
"debug": {}
}
]
}