Create a template

Create a template from an editor document (content) or from finished HTML (html) - one or the other, not both.

POSThttps://app.usenotix.dev/api/v1/templates

Needs a full access key. Sending access keys cannot call this. Key permissions lists the extra rules some calls have.

Create a template from an editor document (content) or from finished HTML (html) - one or the other, not both. HTML is sanitised on the way in. A marketing template created with no body is given the default marketing body so that it carries an unsubscribe footer.

The team can create or copy 60 templates a minute through the API (POST /v1/templates and both copies count together), and 120 template writes a minute counting the dashboard's own, so the dashboard always keeps room. Past either the answer is 429 with Retry-After. When Notix cannot count them the answer is 503 SERVICE_UNAVAILABLE (try again shortly), never a 429.

Body parameters

namestringrequired

At most 200 characters.

subjectstringrequired
typestring

One of TRANSACTIONAL, MARKETING.

previewTextstring

At most 255 characters.

contentstring
htmlstring

Headers

Authorizationstringrequired

Bearer followed by your API key.

Errors

429

The team created or copied 60 templates through the API in the last minute, or wrote 120 templates counting the dashboard's own writes.

503

Notix cannot count the team's calls just now; try again shortly.

Every error has the same shape. See all error codes.

curl -X POST "https://app.usenotix.dev/api/v1/templates" \
  -H "Authorization: Bearer $NOTIX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Acme",
  "subject": "Your receipt for order 4471",
  "html": "<p>Thanks for your order.</p>"
}'
Response200
{
  "id": "cm5t3mplat3id0000",
  "name": "Order receipt",
  "subject": "Your order {{orderId}}",
  "type": "TRANSACTIONAL",
  "html": "<p>Thanks for your order.</p>"
}
Open in ClaudeOpen in ChatGPT