---
title: "Create a template. Key-created rows store createdBy=null (audited)."
method: POST
path: "/api/v1/message-templates"
tags: ["CRM · Templates"]
---

# Create a template. Key-created rows store createdBy=null (audited).

`POST /api/v1/message-templates`

## Request

- Base URL: `https://api-dev.fusehealth.com`
- URL: `https://api-dev.fusehealth.com/api/v1/message-templates`
- Auth: API key in header `x-api-key`

Create a template. Key-created rows store createdBy=null (audited).

## Request body

- object
  - `name` string
  - `type` string
  - `subject` string
  - `body` string

## Response `201`

Success

- object
  - `success` boolean
  - `message` string
  - `data` MessageTemplate
    - `id` string, uuid
    - `clinicId` string, uuid
    - `name` string
    - `description` string, nullable
    - `type` 'email' | 'sms'
    - `subject` string, nullable
    - `body` string
    - `category` string, nullable
    - `mergeFields` string[]
    - `isActive` boolean
    - `version` integer
    - `createdAt` string, date-time

## Other responses

- `401`: Missing, invalid, inactive, or expired API key (or JWT)
- `403`: Authenticated but not permitted (insufficient scope, wrong role, or FUSE feature not enabled)

---

[API](https://skmtc.dev/fusehealth/apis/fuse-brand-api-external.md) · [All operations](https://skmtc.dev/fusehealth/apis/fuse-brand-api-external/llms.txt) · [OpenAPI document](https://skmtc.dev/fusehealth/apis/fuse-brand-api-external/revisions/50821832728c?raw)
