Update a template
Updates template metadata. Request: PATCH /v1/templates/{id}. Scope: templates:update.
PATCH
Updates template metadata. Setting entryPath points the template at another file in its project and keeps its id, slug, and publications; move the file in Git separately. Source changes use the project workspace API.
apiKeyheader
x-api-key<token>id*stringMatch
^tmpl_[0-9a-hjkmnp-tv-z]{16,24}$application/json- body
data*Template
application/json- response
id*TemplateIdMatch
^tmpl_[0-9a-hjkmnp-tv-z]{16,24}$slug*stringname*stringchannel*stringValue in
"sms""whatsapp""email"projectId*TemplateProjectIdMatch
^tproj_[0-9a-hjkmnp-tv-z]{16,24}$namespaceId*|The namespace the template's project belongs to; every entry in a project shares it. Null at organization level. A namespace-scoped key reaches only its own namespace's templates and shared ones.
shared*booleanWhether the template's project is shared with every namespace. Every entry in a project shares it. A namespace-scoped key reads and sends a shared template in its own namespace but cannot change it. Only an organization-level project is shared.
entryPath*stringMatch
^(?!\/)(?!.*\\)(?!.*(?:^|\/)\.{1,2}(?:\/|$))(?!.*(?:^|\/)\.git(?:\/|$))(?:templates|emails)\/.+\.tsx$Length
length <= 1024status*stringValue in
"draft""pending""approved""published""rejected""archived"publishedAt*string|nullbrand*|nullfromDefault*|nullusageCount*integerRange
0 <= value <= 9007199254740991lastUsedAt*string|nullcreatedAt*stringupdatedAt*stringfamilyId*|nulldescription*string|nullcategory*|nullreplyToDefault*array<string>|nulltrackingDefault*|nullemail*|nullsms*|nullwhatsapp*|nullpublicationId*|nullinputContractId*|nullinputSchema*|nullimport { createClient } from "samva";
const samva = createClient({ apiKey: process.env.SAMVA_API_KEY! });
const result = await samva.templates.update({
"id": "example",
"data": {}
});Example Response
{
"id": "string",
"slug": "string",
"name": "string",
"channel": "sms",
"projectId": "string",
"namespaceId": "string",
"shared": true,
"entryPath": "string",
"status": "draft",
"publishedAt": "string",
"brand": {
"slug": "string",
"digest": "string",
"stale": true
},
"fromDefault": {
"email": "string",
"name": "string"
},
"usageCount": 0,
"lastUsedAt": "string",
"createdAt": "string",
"updatedAt": "string",
"familyId": "string",
"description": "string",
"category": "transactional",
"replyToDefault": [
"string"
],
"trackingDefault": {
"opens": true,
"clicks": true
},
"email": {
"subject": "string",
"preheader": "string",
"headers": {
"property1": "string",
"property2": "string"
}
},
"sms": {
"body": "string",
"encoding": "string",
"estimatedSegments": -9007199254740991,
"category": "transactional"
},
"whatsapp": {
"name": "string",
"language": "string",
"category": "marketing",
"components": [
{
"type": "HEADER",
"format": "TEXT",
"text": "string",
"example": {
"header_text": [
"string"
]
}
}
]
},
"publicationId": "string",
"inputContractId": "string",
"inputSchema": {
"property1": "string",
"property2": "string"
}
}