---
title: "Create New Template"
method: POST
path: "/template"
tags: ["Template"]
---

# Create New Template

`POST /template`

Create New Template

## Request body

- CreateTemplateViaPublicAPIDto
  - `name` string, required — Template Name
  - `language` 'af' | 'sq' | 'ar' | 'az' | 'bn' | 'bg' | 'ca' | 'zh_CN' | 'zh_HK' | 'zh_TW' | 'hr' | 'cs' | 'da' | 'nl' | 'en' | 'en_GB' | 'en_US' | 'et' | 'fil' | 'fi' | 'fr' | 'ka' | 'de' | 'el' | 'gu' | 'ha' | 'he' | 'hi' | 'hu' | 'id' | 'ga' | 'it' | 'ja' | 'kn' | 'kk' | 'rw_RW' | 'ko' | 'ky_KG' | 'lo' | 'lv' | 'lt' | 'mk' | 'ms' | 'ml' | 'mr' | 'nb' | 'fa' | 'pl' | 'pt_BR' | 'pt_PT' | 'pa' | 'ro' | 'ru' | 'sr' | 'sk' | 'sl' | 'es' | 'es_AR' | 'es_ES' | 'es_MX' | 'sw' | 'sv' | 'ta' | 'te' | 'th' | 'tr' | 'uk' | 'ur' | 'uz', required — Template Language
  - `components` CreateTemplateComponentDto, required
    - `header` CreateTemplateHeaderComponent
      - `format` 'TEXT' | 'IMAGE' | 'VIDEO' | 'DOCUMENT', required — Header Format
      - `text` string — Header Text (Present only if format is TEXT)
      - `example` CreateTemplateHeaderComponentExample
        - `link` string — Header Example Media Url (Present only if format is IMAGE/VIDEO/DOCUMENT)
    - `body` CreateTemplateBodyComponent, required
      - `text` string, required — Body Text
      - `example` object — Body Variable Example (Present only if text contains variable)
    - `footer` CreateTemplateFooterComponent
      - `text` string, required — Footer Text
    - `buttons` CreateTemplateButtonDto[] — Buttons Component
      - `type` 'QUICK_REPLY' | 'URL' | 'PHONE_NUMBER', required — Button Type
      - `text` string, required — Button Text
      - `url` string — Button Url (Present only if type is URL)
      - `example` string — Button Url Example Parameter (Present only if type is URL and url contains variable)
      - `phoneNumber` string — Button Phone Number (Present only if type is PHONE_NUMBER)
  - `category` 'MARKETING' | 'UTILITY', required — Template Category
  - `wabaNumbers` string[]
  - `allowCategoryUpdate` boolean — Set to true to allow Meta to automatically assign a category. If omitted, the template may be rejected due to miscategorization.

## Response `201`

Create New Template

- CreateTemplateViaPublicAPIResponseDto
  - `success` boolean, required

## Other responses

- `400` — Incorrect payload
- `401` — Unauthorized

---

[API](https://skmtc.net/doubletick/apis/doubletick-public-apis.md) · [All operations](https://skmtc.net/doubletick/apis/doubletick-public-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/doubletick/doubletick-public-apis/versions/bba484527d34/schema)
