Update an email template

PATCH
/v1/email_templates/{id}

Changes the template's name, alias or description. Changing the alias changes what sends must use. Content changes go to the draft (PUT /v1/email_templates/{id}/draft).

Authorization

bearerAuth
headerAuthorizationBearer <token>

A secret API key from the dashboard: coss_live_… for production environments, coss_test_… for sandbox environments.

Path Parameters

id*string

The template's id or alias.

Header Parameters

Coss-Version?"2026-10-10"

The API version (a date) to use for this request. Defaults to your organization's version, pinned to the latest one when it first used the API and upgraded from the dashboard. The SDK always sends the version it was built for.

Value in"2026-10-10"

Request Body

application/json
  1. body

Changes the template's name, alias or description. Content changes go to the draft.

name?string
Length1 <= length <= 100
alias?|

null removes the alias.

description?|null

Response Body

The template.

application/json
  1. response
object*"email_template"
Value in"email_template"
id*string
alias*string|null
name*string
description*string|null
published_version*|

The version sends use; null until the draft is first published.

published_at*|
Formatdate-time
has_unpublished_changes*boolean

Whether the draft was changed since it was last published.

created_at*string
Formatdate-time
updated_at*string
Formatdate-time
import { Coss } from "coss";const coss = new Coss({  apiKey: process.env.COSS_API_KEY,  baseUrl: "https://api.coss.com",});const { data, error } = await coss.email.templates.update("etpl_01k7c8m4q2f3e9v6t5r1n0p8yz", {  name: "Welcome (new users)",});
{  "object": "email_template",  "id": "etpl_01k7c8m4q2f3e9v6t5r1n0p8yz",  "alias": "welcome",  "name": "Welcome",  "description": "Sent after sign-up.",  "published_version": 2,  "published_at": "2026-10-10T12:00:00.000Z",  "has_unpublished_changes": false,  "created_at": "2026-10-01T09:00:00.000Z",  "updated_at": "2026-10-10T12:00:00.000Z"}