> ## Documentation Index
> Fetch the complete documentation index at: https://docs.shipstar.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# send_release_email

> Send a completed release notes email to the selected mailing lists

Sends a completed release notes email to the selected mailing lists. Side effect: marks the content published and queues one email per active recipient — recipients are deduplicated across lists, and each email carries a one-click unsubscribe link. **Each content record can be sent at most once, ever** — a repeat call fails rather than double-sending. Only call this after the user has confirmed the draft and the target lists.

## Arguments

| Name               | Type                     | Description                                                                                               |
| ------------------ | ------------------------ | --------------------------------------------------------------------------------------------------------- |
| `content_id`       | string (UUID)            | A `completed` record from [`generate_release_notes_email`](/mcp/generation/generate-release-notes-email). |
| `mailing_list_ids` | array of strings (UUIDs) | One or more list ids from [`list_mailing_lists`](/mcp/project/list-mailing-lists).                        |

## Returns

```json theme={null}
{
  "status": "queued",
  "recipient_count": 347
}
```

`recipient_count` is the deduplicated active audience across the selected lists. Delivery runs on a background queue, so emails go out over the following minutes.

## Errors

* `content_id and mailing_list_ids must be UUIDs (from generate_release_notes_email and list_mailing_lists)`
* `Select at least one mailing list.`
* `Content not found`
* `Content is not a release notes email` — only `release_notes_email` records can be sent.
* `Content is not ready for sending` — wait for [`get_generation_status`](/mcp/lifecycle/get-generation-status) to report `completed`.
* `This release notes email has already been sent` — each record sends once; generate a new one for another send.
* `No valid mailing lists selected` — none of the given ids belong to this project.

## Example prompts

> "The release email draft is approved — send it to the Customers list."

> "Send that release notes email to both the Customers and Beta testers lists."
