---
title: "Send Mail"
method: POST
path: "/mail/send"
tags: ["Send Mail API"]
---

# Send Mail

`POST /mail/send`

The **Send Email API** enables you to send emails using your verified sending domain to one or multiple recipients in a single API call. You can control key elements like recipients (to, cc, bcc), subject, and content through the `personalizations` object, while the `settings` object allows advanced configurations such as scheduling, tracking, and global bcc.
Optional features include tagging emails for performance analysis (`tags`), setting delivery priority via `priorityflag`, and compressing the payload with gzip to optimize data usage. Personalization lets you tailor shared content uniquely per recipient group, enhancing engagement from a single API request.

To view sample request payloads for these use cases, open the Examples panel on the right.

**email-send-example**: Full send request with attachments, CC/BCC, tags, and tracking options.

**email-example-unsubscribe**: Adds List-Unsubscribe headers for one-click unsubscribe support.

**multiple_email_id_in_to**: Sends to multiple recipients using separate personalization blocks.

**dynamic-attribute-example**: Uses dynamic attributes to replace placeholders with recipient-specific values.

## Headers

- `X-Encryption` 1
- `X-Encryption-Version` integer
- `X-AES-Key` string
- `X-AES-IV` string
- `Content-Encoding` 'gzip'

## Request body

- object
  - `personalizations` object[], required
    - `to` Items[], required — unresolved $ref
    - `cc` Items[] — unresolved $ref
    - `bcc` Items[] — unresolved $ref
    - `tags` string[]
    - `headers` object — 
    - `attributes` object — The attributes object is a collection of key-value pairs to facilitate personalization. The attributes object contains keywords & their respective substitution data, which will indicate how Pepipost should modify the body content and the subject of your email while processing the request.
    - `dynamic_template_attributes` object — Key/value pairs used for dynamic templates.
    - `token_to` string
    - `token_cc` string
    - `token_bcc` string
    - `attachments` Items[] — unresolved $ref
  - `from` object, required
    - `email` string, email, required — Email address of the sender. For example : info@example.com Make sure to use the domain with the 'active' status in your Email API account. Domains which are not added & activated with your Email API account are not authorized to send emails.
    - `name` string — Name of the sender.
  - `reply_to` Items[] — unresolved $ref
  - `subject` string, required — Subject line of the email
  - `priorityflag` integer — Assigns delivery priority (1=OTP/Transactional, 2=Triggered, 3=Promotional). Defaults to account/subaccount setting if omitted.
  - `content` object[], required — Email content blocks. Supports dynamic placeholders like [%NAME%] with corresponding `attributes`.
    - `type` string, required — Indicate if the content type is 'html' or 'amp'. If you are using content type 'amp', then make sure to also pass equivalent content with type 'html' to maintain fallback for devices or email applications that do not support AMP.
    - `value` string, required — Pass the HTML content in JSON escape format. Please ensure it is synonymous with the format indicated in the 'type' parameter.
  - `template_id` integer — ID of the email template (Settings → Templates). If used, ensure HTML content is provided in `content`.
  - `tags` string[] — Labels to segment and track emails (e.g., ["signup-confirmation", "holiday-offers"]).
  - `send_at` integer — Scheduled send time in UNIX epoch format.
  - `attachments` object[]
    - `content` string — base64 encoded value of the attached file. e.g if you want to attach a 'invoice.pdf' file, then convert the file content first in base64 and pass the value in this parameter.
    - `filename` string — Name of the attachment. e.g. invoice.pdf or statement.xls
  - `bcc` object[]
    - `email` string, email, required — The intended recipient's email address.
    - `name` string — The intended recipient's name.
  - `tracking_settings` object
    - `click_tracking` object — You can enable or disable click tracking for your emails.
      - `enable` boolean — Indicates if this setting is enabled.
    - `open_tracking` object — You can enable or disable open tracking for your emails.
      - `enable` boolean — Indicates if this setting is enabled.
    - `subscription_tracking` object — You can enable or disable tracking of unsubscribe requests for your emails.
      - `enable` boolean
  - `mail_settings` object
    - `hepf` object
      - `enable` boolean
    - `sto` object — We have provided advance STO options.
      - `enable` boolean — Please ensure STO is enabled on your account before using it. For more you can contact support team at help@netcorecloud.com
      - `end_time` integer — Please pass the value in EPOCH date-time format.
      - `action` string — Following are options for this parameter 1. custom_time 2. end_time 3. dropped
      - `custom_time` integer — Please pass the value in EPOCH date-time format.
    - `amplets` object — for adding amplets
      - `amplets` boolean — Indicates if this setting is enabled.
  - `template_version` number

## Response `202`

Email accepted for delivery

- object
  - `data` object
    - `message_id` string
  - `message` string
  - `status` string

## Other responses

- `400` — Bad Request – invalid input parameters

---

[API](https://skmtc.dev/netcorecloud/apis/email-api-v6.md) · [All operations](https://skmtc.dev/netcorecloud/apis/email-api-v6/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/netcorecloud/email-api-v6/revisions/73f83bc2eff8/schema)
