# Send transactional email (/api-reference/public-api/sendEmail)

{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}

Send a transactional email via the public API. Automatically creates or updates the recipient contact.

**Required content:** either a `template` ID, **or** both `subject` and `body`. Template fields can be overridden by explicit request fields.

**Sender:** `from` is required unless using a template that already has a `from` configured. The sender's domain must be verified.

**Multiple recipients:** when `to` is an array, each recipient is processed sequentially with its own contact upsert and rendered email — there is no batch-send semantics. Sending is always immediate; for scheduled sends, use a Campaign.

**Attachments:** up to 10 attachments per email and 10 MB total by default. The total message size cannot exceed 40 MB.

<APIPage document={"./openapi.local.json"} operations={[{"path":"/v1/send","method":"post"}]} />
