---
title: "Choosing a sending feature"
description: "Pick between a single send, a batch, a scheduled send, a template, and a marketing send, and see which ones combine."
---

> **For AI agents:** the complete documentation index is at [llms.txt](/docs/llms.txt). Append `.md` to any page URL for its markdown version.

One endpoint, `POST /v1/emails`, sends mail. Batch, scheduling, templates, attachments, and marketing classification are modifiers on that one call, not separate products, so the question is rarely "which endpoint" and usually "which fields."

## Decision table

| Feature | What it is | Use it when | Field or endpoint | Guide |
|---|---|---|---|---|
| Single send | One message, one call | You're sending one message right now | `POST /v1/emails` | [How sending works](/concepts/how-sending-works) |
| Batch | Many messages in one request | You have a list to send in one pass | `POST /v1/emails/batch` | [Batch sending](/guides/batch-sending) |
| Scheduled send | A send that dispatches later | The message shouldn't go out yet | `scheduled_at` | [Scheduled sends](/guides/scheduled-sends) |
| Template | Server-rendered content from a stored template | The body is templated rather than composed per call | `template` | [Templates](/guides/templates) |
| Attachments | Files carried with the message | The message needs to carry a file, or embed an inline image | `attachments` | [Attachments](/guides/attachments) |
| Marketing | A commercial send with its own compliance gates | The message is a newsletter, promo, or other commercial mail | `type: "marketing"` | [Unsubscribe links](/guides/unsubscribe-links) |

## They combine

Batch, scheduling, templates, attachments, and marketing classification are independent fields on the same request, so most of them combine: a scheduled batch of template renders carrying a PDF is just those four fields set together, not a separate product.

The one hard exclusion sits inside a single message: a `marketing` send accepts exactly one recipient across `to`, `cc`, and `bcc`, so it cannot fan out to several people the way a transactional send can. That limit is per message rather than per request: a batch may carry marketing messages, each addressed to one recipient. See [Send an email](/api-reference/emails/send) for the `type` field's full schema and [How sending works](/concepts/how-sending-works) for what a single accepted send covers.

## Batch or a loop

A batch call and a client-side loop of single sends both deliver to a list, but they aren't interchangeable: a batch is checked and accepted as one all-or-nothing unit, while a loop gives you per-message error isolation and per-message idempotency keys at the cost of making N requests instead of one. See [Batch or loop?](/guides/batch-sending#batch-or-loop) for the full comparison.

## Transactional or marketing

The `type` field controls classification, not the `category` tag: it takes `transactional` or `marketing` and defaults to `transactional` when omitted. Classification follows the message's primary purpose rather than the system that triggered it. See [Email categories](/concepts/policies#email-categories) for where the line falls between the two, and [Unsubscribe links](/guides/unsubscribe-links) for what a `marketing` send additionally requires and enforces.
