Skip to content

Latest commit

 

History

History
212 lines (155 loc) · 3.58 KB

File metadata and controls

212 lines (155 loc) · 3.58 KB

Resend

Developer-friendly transactional email service with modern API.

Capabilities

Integration Available Notes
API Simple REST API for sending emails
MCP Available via Resend MCP server
CLI Official Resend CLI
SDK Official SDKs for Node.js, Python, Go, etc.

Authentication

  • Type: API Key
  • Header: Authorization: Bearer {api_key}
  • Get key: API Keys section in Resend dashboard

CLI

Install

npm install -g resend-cli

Setup

resend login
# or set env var: RESEND_API_KEY=re_xxx

Common commands

# Send a test email
resend emails send --from hello@example.com --to user@example.com --subject "Test" --text "Hello"

# List recent emails
resend emails list

# Get email status
resend emails get <email_id>

# List domains
resend domains list

# Add a domain
resend domains create --name example.com

# Verify a domain
resend domains verify <domain_id>

# List API keys
resend api-keys list

# Create an API key
resend api-keys create --name "Production"

Common Agent Operations

Send email

POST https://api.resend.com/emails

{
  "from": "hello@example.com",
  "to": ["user@example.com"],
  "subject": "Welcome!",
  "html": "<h1>Welcome to our app!</h1>"
}

Send with React template

POST https://api.resend.com/emails

{
  "from": "hello@example.com",
  "to": ["user@example.com"],
  "subject": "Welcome!",
  "react": "WelcomeEmail",
  "props": {
    "name": "John"
  }
}

Get email status

GET https://api.resend.com/emails/{email_id}

List emails

GET https://api.resend.com/emails

Send batch emails

POST https://api.resend.com/emails/batch

[
  {
    "from": "hello@example.com",
    "to": ["user1@example.com"],
    "subject": "Welcome User 1"
  },
  {
    "from": "hello@example.com",
    "to": ["user2@example.com"],
    "subject": "Welcome User 2"
  }
]

List domains

GET https://api.resend.com/domains

Verify domain

POST https://api.resend.com/domains/{domain_id}/verify

Node.js SDK

Install

npm install resend

Usage

import { Resend } from 'resend';

const resend = new Resend('re_xxx');

await resend.emails.send({
  from: 'hello@example.com',
  to: 'user@example.com',
  subject: 'Welcome!',
  html: '<h1>Welcome!</h1>'
});

With React Email

import { WelcomeEmail } from './emails/welcome';

await resend.emails.send({
  from: 'hello@example.com',
  to: 'user@example.com',
  subject: 'Welcome!',
  react: WelcomeEmail({ name: 'John' })
});

Email Statuses

  • queued - Email queued for delivery
  • sent - Email sent to recipient server
  • delivered - Email delivered
  • opened - Email opened (if tracking enabled)
  • clicked - Link clicked (if tracking enabled)
  • bounced - Email bounced
  • complained - Marked as spam

Webhook Events

Event When
email.sent Email sent
email.delivered Email delivered
email.opened Email opened
email.clicked Link clicked
email.bounced Email bounced
email.complained Spam complaint

When to Use

  • Sending transactional emails
  • Welcome emails, password resets
  • Receipt and notification emails
  • Developer-friendly email integration
  • React-based email templates
  • Quick CLI testing of email flows without writing code

Rate Limits

  • Free: 100 emails/day, 3,000/month
  • Pro: 100 emails/second
  • Higher limits on scale plans

Relevant Skills

  • emails
  • onboarding