---
title: "Send an email"
method: POST
path: "/api/public/email/send"
tags: ["Email"]
---

# Send an email

`POST /api/public/email/send`

Sends an email to one or more contacts identified by their email address ("to" accepts a single email or an array of up to 20), from one of the account verified email channels. Use a saved template ("template_id" or "template_name", plus "variables") or free-form content ("subject" and "html_body"). If no contact exists for a recipient address, one is created. When the account has more than one verified channel, "from" is required to pick the sender address. Single-recipient sends also accept "cc" and "bcc" (up to 10 each): one message is sent where cc recipients are visible to everyone. Multi-recipient "to" arrays instead send an individual private copy per recipient. The response contains a per-recipient result list; "success" is true only when every recipient succeeded.

## Headers

- `x-api-key` string, required

## Request body

- PublicSendEmailDto
  - `to` union, required
    - string, email
    - string[]
  - `cc` string[]
  - `bcc` string[]
  - `contact_name` string
  - `from` string, email
  - `template_id` string, uuid
  - `template_name` string
  - `variables` object
  - `subject` string
  - `html_body` string
  - `attachments` object[]
    - `filename` string, required
    - `content` string, required
    - `type` string

## Response `201`

Send processed. Returns { success, results: [{ to, success, error? }] } with one entry per recipient.

## Other responses

- `400` — Bad request.
- `401` — Unauthorized.
- `404` — Email channel or template not found.
- `422` — The requested sender channel is not verified.

---

[API](https://skmtc.net/vambe/apis/vambe-ai-api.md) · [All operations](https://skmtc.net/vambe/apis/vambe-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/vambe/vambe-ai-api/revisions/e206709d4be5/schema)
