Patch template project files
Applies revision-checked file patches to the shared project workspace overlay. Request: PATCH /v1/templates/{id}/workspace. Scope: templates:update.
PATCH
Applies revision-checked file patches to the shared project workspace overlay.
apiKeyheader
x-api-key<token>id*stringMatch
^tmpl_[0-9a-hjkmnp-tv-z]{16,24}$idempotency-key*stringLength
1 <= length <= 255application/json- body
expectedRevision*stringpatches*array<>Items
1 <= items <= 512Success
application/json- response
workspace*files*import { createClient } from "samva";
const samva = createClient({ apiKey: process.env.SAMVA_API_KEY! });
const result = await samva.templates.patchWorkspace({
"id": "example",
"expectedRevision": "example",
"patches": [
{
"path": "example",
"content": "example"
}
]
});Example Response
{
"workspace": {
"projectId": "string",
"organizationId": "string",
"ownerEpoch": 0,
"repositoryName": "string",
"defaultBranch": "string",
"baseCommit": "string",
"remoteHead": "string",
"pendingRemoteHead": "string",
"revision": "string",
"overlay": {
"property1": "string",
"property2": "string"
},
"assetChanges": [
{
"path": "string",
"status": "added"
}
],
"conflicts": [
{
"path": "string",
"base": "string",
"draft": "string",
"main": "string"
}
],
"provenance": {
"references": [
{
"kind": "string",
"digest": "string",
"locator": "string"
}
]
},
"mounts": [
{
"kind": "project",
"root": "/project",
"access": "read-write"
}
],
"libraryManifestDigest": "string",
"createdAt": "string",
"updatedAt": "string",
"createdBy": {
"userId": "string",
"via": "api"
},
"updatedBy": {
"userId": "string",
"via": "api"
}
},
"files": {
"property1": "string",
"property2": "string"
}
}