---
title: "Create a draft"
method: POST
path: "/templates"
tags: ["Templates"]
---

# Create a draft

`POST /templates`

## Request

- Base URL: `https://rcs-templates-api-dot-msg2ai-server.ue.r.appspot.com/api/agent`
- URL: `https://rcs-templates-api-dot-msg2ai-server.ue.r.appspot.com/api/agent/templates`
- Auth: HTTP bearer

Author a new template from a content object. The shared validator rejects anything that breaks channel rules with machine-coded errors.

## Request body

- object
  - `name` string, required
  - `description` string
  - `channel` 'RCS' | 'WHATSAPP' | 'SMS'
  - `category` 'MARKETING' | 'UTILITY' | 'AUTHENTICATION'
  - `content` object, required: TemplateContent. Must include a non-empty smsFallback. One of text/card/carousel is the primary body.
  - `tags` string[]

## Response `200`

Success.

- object

## Other responses

- `400`: Arguments failed validation.
- `401`: Missing or invalid agent key.
- `403`: Key does not hold the templates:write scope.
- `429`: Rate limited.

---

[API](https://skmtc.dev/rcs-campaigns/apis/rcs-campaigns-agent-gateway.md) · [All operations](https://skmtc.dev/rcs-campaigns/apis/rcs-campaigns-agent-gateway/llms.txt) · [OpenAPI document](https://skmtc.dev/rcs-campaigns/apis/rcs-campaigns-agent-gateway/revisions/acdbf292d9d6?raw)
