Skip to Content

Attach a template workspace resource

Adds or replaces one bounded persistent read-only resource and advances the workspace revision.

POST
/v1/templates/{id}/workspace/resources

Adds or replaces one bounded persistent read-only resource and advances the workspace revision.

Authorization

apiKey
headerx-api-key<token>

Path Parameters

id*string
Match^tmpl_[0-9a-hjkmnp-tv-z]{16,24}$

Header Parameters

idempotency-key*string
Length1 <= length <= 255

Request Body

application/json
  1. body
expectedRevision*string
resource*

Response Body

Success

application/json
  1. response
projectId*TemplateProjectId
Match^tproj_[0-9a-hjkmnp-tv-z]{16,24}$
organizationId*|null
ownerEpoch*integer
Range0 <= value <= 9007199254740991
repositoryName*string
Match^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$
defaultBranch*string
Length1 <= length <= 255
baseCommit*string
Match^[a-f0-9]{40}$
remoteHead*string
Match^[a-f0-9]{40}$
pendingRemoteHead*|null
revision*string
overlay*
assetChanges*array<>
conflicts*array<>
provenance*
mounts*array<|||>
libraryManifestDigest*string
Match^[a-f0-9]{64}$
createdAt*string
updatedAt*string
createdBy*
updatedBy*
Example Request
import { createClient } from "samva";

const samva = createClient({ apiKey: process.env.SAMVA_API_KEY! });

const result = await samva.templates.attachWorkspaceResource({
  "id": "example",
  "expectedRevision": "example",
  "resource": {
    "resourceId": "example",
    "name": "example",
    "files": [
      {
        "path": "example",
        "mediaType": "example",
        "contentBase64": "example"
      }
    ]
  }
});
Example Response
{
  "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"
  }
}

Related documentation