Templates

Create Notification Template

Changed on

Create a notification template. Requires all fields in the notification object. Templates are created in draft state by default.

post/notifications

Request

Headers

Idempotency-Keystring

A unique key that makes this request idempotent. If Courier receives another request with the same Idempotency-Key, it returns the stored response from the first request without performing the operation again (including the original status code and any error). Use it to safely retry POST requests after network failures without risking duplicate sends. The key is scoped to this endpoint.

x-idempotency-expirationstring

How long the idempotency key remains valid, as a Unix epoch timestamp in seconds or an ISO 8601 date string. Only applies when Idempotency-Key is provided. If omitted, the key is retained for 25 hours; the maximum is 1 year.

Request body

state'DRAFT' | 'PUBLISHED'

Template state after creation. Case-insensitive input, normalized to uppercase in the response. Defaults to "DRAFT".

Example request

{
  "notification": {
    "content": {
      "elements": [
        {
          "channel": "email"
        }
      ]
    }
  }
}

Response

Created

namestring required

Display name for the template.

tagsstring[] required

Tags for categorization. Send empty array for none.

idstring required

The template ID.

state'DRAFT' | 'PUBLISHED' required

The template state. Always uppercase.

createdinteger required

Epoch milliseconds when the template was created.

creatorstring required

User ID of the creator.

updatedinteger

Epoch milliseconds of last update.

updaterstring

User ID of the last updater.

Example response

{
  "content": {
    "elements": [
      {
        "channel": "email"
      }
    ]
  }
}

Changes

    • breaking

      added subschema #2: NotificationTemplateAliasWriteFields to the request property allOf list

    • breaking

      the request property type changed from object to no type

    • breaking

      added subschema #1 subschema #3 subschema #7 to the /// response property oneOf list for the response status

    • warning

      removed the request property /

    • warning

      removed the request property /

    • warning

      removed the request property /

    • warning

      removed the request property /

    • warning

      removed the request property /

    • warning

      removed the request property /

    • info

      added subschema #2: NotificationTemplateResponseFields to the response body allOf list for the response status

    • info

      removed subschema #2 from the response body allOf list for the response status

    • info

      added the non-success response with the status

    • info

      removed subschema #1 subschema #3 subschema #7 from the /// response property oneOf list for the response status

    • info

      api tag Templates added

    • info

      api tag Notification Templates removed

    • info

      added the new optional header request parameter Idempotency-Key

    • info

      added the new optional header request parameter x-idempotency-expiration