---
title: "Publish Notification Template"
method: POST
path: "/notifications/{id}/publish"
tags: ["Templates"]
---

# Publish Notification Template

`POST /notifications/{id}/publish`

Publish a notification template. Publishes the current draft by default. Pass a version in the request body to publish a specific historical version.

## Path parameters

- `id` string, required

## Headers

- `Idempotency-Key` string
- `x-idempotency-expiration` string

## Request body

- NotificationTemplatePublishRequest — Optional request body for publishing a notification template. Omit or send an empty object to publish the current draft.
  - `version` string — Historical version to publish (e.g. "v001"). Omit to publish the current draft.

## Response `204`

Successfully published, or already published with no changes (idempotent).

## Other responses

- `400` — Bad Request
- `404` — Not Found

## Changes

- **2026-07-29** `f76bed79a913` — 4 info
  - api tag `Templates` added
  - api tag `Notification Templates` removed
  - added the new optional `header` request parameter `Idempotency-Key`
  - added the new optional `header` request parameter `x-idempotency-expiration`
- **2026-04-02** `b3dde9374868` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/trycourier/apis/courier/changes/notifications/:id/publish/post.md)

---

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