---
title: "Send an email using a saved template ID with substitutions"
method: POST
path: "/v2/email/template/send"
tags: ["email-send-v2"]
---

# Send an email using a saved template ID with substitutions

`POST /v2/email/template/send`

## Request

- Base URL: `https://api.tracklysms.com/api`
- URL: `https://api.tracklysms.com/api/v2/email/template/send`
- Auth: API key in header `X-Api-Key`

Template variables are replaced with provided substitution values.
The from and subject fields can optionally override template defaults.

## Request body

- EmailTemplateSendRequest
  - `from` EmailFrom
    - `email` string, required: Sender email address
    - `name` string: Sender display name
  - `idempotency_key` string: Idempotency key
  - `metadata` object: Custom metadata
  - `send_at` string, date-time: Scheduled send time
  - `subject` string: Subject (overrides template default)
  - `substitutions` object: Template variable substitutions
  - `template_id` string, required: Email template ID
  - `to` string, required: Recipient email address
  - `tracking` EmailTracking
    - `clicks` boolean: Track link clicks
    - `opens` boolean: Track opens

## Response `202`

Email accepted

- EmailSendResponse
  - `messageId` string: Email message ID
  - `status` string: Message status (queued, scheduled, simulated)

## Other responses

- `400`: Validation error
- `401`: Authentication error
- `404`: Template not found
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/tracklysms/apis/trackly-sms-api.md) · [All operations](https://skmtc.dev/tracklysms/apis/trackly-sms-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tracklysms/apis/trackly-sms-api/revisions/ac1ad22cb2a9?raw)
