Put a template project asset
Writes one image or font (png, jpg, jpeg, gif, webp, or woff2) into the shared project workspace as an unsaved file; Save commits it.
PUT
Writes one image or font (png, jpg, jpeg, gif, webp, or woff2) into the shared project workspace as an unsaved file; Save commits it. The JSON body carries the file as canonical base64 in contentBase64, at most 1 MiB decoded, and the bytes must match the extension in path. replace must be false to add a new file and true to change an existing one.
apiKeyheader
x-api-key<token>id*stringMatch
^tmpl_[0-9a-hjkmnp-tv-z]{16,24}$idempotency-key*stringLength
1 <= length <= 255application/json- body
expectedRevision*stringpath*stringMatch
^(?!\/)(?!.*\\)(?!.*(?:^|\/)\.{1,2}(?:\/|$))(?!.*(?:^|\/)\.git(?:\/|$)).{1,1024}$contentBase64*stringreplace*booleanSuccess
application/json- response
workspace*files*import { createClient } from "samva";
const samva = createClient({ apiKey: process.env.SAMVA_API_KEY! });
const result = await samva.templates.putWorkspaceAsset({
"id": "example",
"expectedRevision": "example",
"path": "example",
"contentBase64": "example",
"replace": true
});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"
}
}