List a template's versions

GET
/v1/email_templates/{id}/versions

Published versions, newest first. Pass the last version as after to get the next page while has_more is true.

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.

Query Parameters

limit?integer

1-20, default 10.

Range1 <= value <= 20
after?integer

Cursor: the version of the last version of the previous page.

Range1 <= value

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"

Response Body

A page of versions.

application/json
  1. response
object*"list"
Value in"list"
data*array<>
has_more*boolean
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.versions.list("etpl_01k7c8m4q2f3e9v6t5r1n0p8yz");
{  "object": "list",  "data": [    {      "object": "email_template_version",      "template_id": "etpl_01k7c8m4q2f3e9v6t5r1n0p8yz",      "version": 2,      "revision": 3,      "default_locale": "en",      "variables": [        {          "name": "first_name",          "type": "string",          "required": true        }      ],      "sample_variables": {        "first_name": "Ada"      },      "contents": [        {          "locale": "en",          "subject": "Welcome, {{first_name}}",          "html": "<p>Hi {{first_name}}, thanks for signing up!</p>",          "text": null        }      ],      "problems": [],      "published_at": "2026-10-10T12:00:00.000Z",      "created_at": "2026-10-10T12:00:00.000Z",      "updated_at": "2026-10-10T12:00:00.000Z"    }  ],  "has_more": false}