---
ref: tool:resend/send-email
name: Send an email
company: company:resend
workflows: [workflow:cancellation-winback, workflow:promoter-case-studies, workflow:failed-payment-recovery]
access: [mcp, cli, api]
tags: [capability:send-email, category:email, has:api, has:cli, has:mcp]
docs: https://resend.com/docs/api-reference/emails/send-email
updated: 2026-09-29
---

# Send an email

Sends one email from a verified domain to up to 50 recipients, now or at a scheduled time, and returns its ID.

Note: Pass an `Idempotency-Key` header (`--idempotency-key` on the CLI) so a retry never sends it twice; keys expire after 24 hours.

## Set up

Use the first option your agent supports.

### MCP (official, remote)

Add this server to your agent's MCP settings, then sign in when asked.

```json
{ "mcpServers": { "resend": { "url": "https://mcp.resend.com/mcp" } } }
```

Call the MCP tool `send-email`.

Server URL: https://mcp.resend.com/mcp

### CLI (official)

Install the command, then confirm it runs.

```sh
npm install -g resend-cli
resend --version
```

Run `resend emails send`.

Set `$RESEND_API_KEY` in your environment first (get a key: https://resend.com/api-keys).

### API (official)

- Base URL: https://api.resend.com
- Endpoint: `POST /emails`
- Auth: send the header `Authorization: Bearer $RESEND_API_KEY`
- Get a key: https://resend.com/api-keys
- Docs: https://resend.com/docs/api-reference/introduction

Before anything else, confirm access with the cheapest read-only call, like a list or a search. Never send or change anything to test access.

## Rules

- Ask the user before anything that sends messages, costs money, or changes data, and say how many records it touches. One approval covers a batch the user has seen.
- Never print API keys.
