---
title: "Publish a Tenant Template"
method: POST
path: "/tenants/{tenant_id}/templates/{template_id}/publish"
tags: ["Tenant Templates"]
---

# Publish a Tenant Template

`POST /tenants/{tenant_id}/templates/{template_id}/publish`

Publishes a version of a tenant's notification template, making it the content that tenant's sends render from until you publish another.

## Path parameters

- `tenant_id` string, required
- `template_id` string, required

## Request body

- PostTenantTemplatePublishRequest — Request body for publishing a tenant template version
  - `version` string — The version of the template to publish (e.g., "v1", "v2", "latest"). If not provided, defaults to "latest".

## Response `200`

Template published successfully

- PostTenantTemplatePublishResponse — Response from publishing a tenant template
  - `id` string, required — The template ID
  - `version` string, required — The published version of the template
  - `published_at` string, required — The timestamp when the template was published

## Other responses

- `400` — Bad request - validation error
- `404` — Template or tenant not found

---

[API](https://skmtc.net/trycourier/apis/courier.md) · [All operations](https://skmtc.net/trycourier/apis/courier/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/trycourier/courier/revisions/cb8586034158/schema)
