---
title: "POST /v1/mailboxes/{mailboxId}/templates"
method: POST
path: "/v1/mailboxes/{mailboxId}/templates"
---

# POST /v1/mailboxes/{mailboxId}/templates

`POST /v1/mailboxes/{mailboxId}/templates`

## Request

- The document declares no server URL.
- Auth: one of:
  - OAuth 2 (authorization code, authorization URL `/authorize`, token URL `/oauth/token`, scopes: `email.write`)
  - HTTP bearer

Create a template.

## Path parameters

- `mailboxId` string, required

## Request body

- TemplateCreate
  - `name` string, required: Display names are capped at 200 characters.
  - `subject` string, required: RFC 5322 caps a subject line at 998 characters.
  - `html` string: Per-part body cap — generous for transactional mail, bounds abuse and cost.
  - `text` string: Per-part body cap — generous for transactional mail, bounds abuse and cost.

## Response `201`

The request has succeeded and a new resource has been created as a result.

- Template
  - `id` string, required
  - `name` string, required
  - `subject` string, required
  - `html` string, nullable, required
  - `text` string, nullable, required
  - `variables` string[], required: The merge variables found in the subject and body, so a caller knows what `data` must supply.
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required

## Other responses

- `401`: Access is unauthorized.
- `403`: Access is forbidden.
- `404`: The server cannot find the requested resource.
- `409`: The request conflicts with the current state of the server.
- `422`: Client error
- `default`: An unexpected error response.

---

[API](https://skmtc.dev/foundermail/apis/mailbox.md) - [All operations](https://skmtc.dev/foundermail/apis/mailbox/llms.txt) - [OpenAPI document](https://skmtc.dev/foundermail/apis/mailbox/revisions/6a50628a86ed?raw)
