> ## Documentation Index
> Fetch the complete documentation index at: https://docs.telzino.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List and Create Email Templates

> List email templates across your organizations, or create a new one

## List — Query Parameters

<ParamField query="organization_id" type="string">
  Filter to a single organization (must belong to your account).
</ParamField>

<ParamField query="status" type="string">
  One of `draft`, `active`, `archived`.
</ParamField>

<ParamField query="page" type="integer" default="1" />

<ParamField query="limit" type="integer" default="50">
  Maximum 100.
</ParamField>

<RequestExample>
  ```bash List theme={null}
  curl "https://api.telzino.com/v1/email-templates?status=active" \
    -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
  ```

  ```bash Create theme={null}
  curl -X POST https://api.telzino.com/v1/email-templates \
    -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{
      "organization_id": "11111111-1111-1111-1111-111111111111",
      "name": "Appointment confirmation",
      "subject": "Your appointment with {{business_name}}",
      "body_html": "<p>Hi {{caller_name|there}}, your appointment is confirmed.</p>",
      "from_name": "{{business_name}}",
      "status": "draft"
    }'
  ```
</RequestExample>

## Create — Body Parameters

<ParamField body="organization_id" type="string" required>
  The organization to create the template in (must belong to your account).
</ParamField>

<ParamField body="name" type="string" required>
  Unique per organization, max 100 characters.
</ParamField>

<ParamField body="subject" type="string">
  Max 998 characters (RFC 5322). Required when creating directly as `active`.
</ParamField>

<ParamField body="body_html" type="string">
  Raw HTML with `{{token}}` placeholders. Stored as-is.
</ParamField>

<ParamField body="from_name" type="string">
  Optional sender display name; supports tokens. Max 128 characters.
</ParamField>

<ParamField body="description" type="string">
  Optional, max 300 characters.
</ParamField>

<ParamField body="tags" type="string[]" />

<ParamField body="status" type="string" default="draft">
  `draft` or `active`.
</ParamField>

<ResponseExample>
  ```json 201 theme={null}
  {
    "data": {
      "id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
      "organization_id": "11111111-1111-1111-1111-111111111111",
      "name": "Appointment confirmation",
      "subject": "Your appointment with {{business_name}}",
      "body_html": "<p>Hi {{caller_name|there}}, your appointment is confirmed.</p>",
      "from_name": "{{business_name}}",
      "status": "draft",
      "version": 1
    }
  }
  ```

  ```json 403 theme={null}
  { "error": "email_templates_locked" }
  ```

  ```json 409 theme={null}
  { "error": "A template with this name already exists." }
  ```
</ResponseExample>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.