🎯

resend

🎯Skill

from vm0-ai/vm0-skills

VibeIndex|
What it does

Sends transactional emails, manages contacts, and handles email domains using Resend's API with simple curl commands.

πŸ“¦

Part of

vm0-ai/vm0-skills(138 items)

resend

Installation

Add MarketplaceAdd marketplace to Claude Code
/plugin marketplace add vm0-ai/vm0-skills
Install PluginInstall plugin from marketplace
/plugin install notion@vm0-skills
Install PluginInstall plugin from marketplace
/plugin install slack-webhook@vm0-skills
git cloneClone repository
git clone https://github.com/vm0-ai/vm0-skills.git
πŸ“– Extracted from docs: vm0-ai/vm0-skills
15Installs
-
AddedFeb 4, 2026

Skill Details

SKILL.md

Resend email API via curl. Use this skill to send transactional emails, manage contacts, domains, and API keys.

Overview

# Resend Email API

Send transactional emails, manage contacts, and domains via Resend's REST API.

> Official docs: https://resend.com/docs/api-reference/introduction

---

When to Use

Use this skill when you need to:

  • Send transactional emails (welcome, password reset, notifications)
  • Send batch emails to multiple recipients
  • Manage email contacts and audiences
  • Verify and manage sending domains
  • Track email delivery status

---

Prerequisites

  1. Sign up at https://resend.com
  2. Go to API Keys: https://resend.com/api-keys
  3. Create a new API key

Set environment variable:

```bash

export RESEND_API_KEY="re_xxxxxxxxx"

```

> Important: When using $VAR in a command that pipes to another command, wrap the command containing $VAR in bash -c '...'. Due to a Claude Code bug, environment variables are silently cleared when pipes are used directly.

> Placeholders: Values in {curly-braces} like {email-id} are placeholders. Replace them with actual values when executing.

---

Emails

Send Email

Write to /tmp/resend_request.json:

```json

{

"from": "Acme ",

"to": [""],

"subject": "",

"html": "

"

}

```

Then run:

```bash

bash -c 'curl -s -X POST "https://api.resend.com/emails" --header "Authorization: Bearer $RESEND_API_KEY" --header "Content-Type: application/json" -d @/tmp/resend_request.json'

```

Send Email with Plain Text

Write to /tmp/resend_request.json:

```json

{

"from": "Acme ",

"to": [""],

"subject": "",

"text": ""

}

```

Then run:

```bash

bash -c 'curl -s -X POST "https://api.resend.com/emails" --header "Authorization: Bearer $RESEND_API_KEY" --header "Content-Type: application/json" -d @/tmp/resend_request.json'

```

Send Email with CC/BCC

Write to /tmp/resend_request.json:

```json

{

"from": "Acme ",

"to": [""],

"cc": [""],

"bcc": [""],

"subject": "",

"html": "

"

}

```

Then run:

```bash

bash -c 'curl -s -X POST "https://api.resend.com/emails" --header "Authorization: Bearer $RESEND_API_KEY" --header "Content-Type: application/json" -d @/tmp/resend_request.json'

```

Send Email with Reply-To

Write to /tmp/resend_request.json:

```json

{

"from": "Acme ",

"to": [""],

"replyTo": "",

"subject": "",

"html": "

"

}

```

Then run:

```bash

bash -c 'curl -s -X POST "https://api.resend.com/emails" --header "Authorization: Bearer $RESEND_API_KEY" --header "Content-Type: application/json" -d @/tmp/resend_request.json'

```

Send Scheduled Email

Schedule email using natural language or ISO 8601 format:

Write to /tmp/resend_request.json:

```json

{

"from": "Acme ",

"to": [""],

"subject": "",

"html": "

",

"scheduledAt": "in 1 hour"

}

```

Then run:

```bash

bash -c 'curl -s -X POST "https://api.resend.com/emails" --header "Authorization: Bearer $RESEND_API_KEY" --header "Content-Type: application/json" -d @/tmp/resend_request.json'

```

Send Batch Emails

Send up to 100 emails in a single request:

Write to /tmp/resend_request.json:

```json

[

{

"from": "Acme ",

"to": [""],

"subject": "Hello 1",

"html": "

Email 1

"

},

{

"from": "Acme ",

"to": [""],

"subject": "Hello 2",

"html": "

Email 2

"

}

]

```

Then run:

```bash

bash -c 'curl -s -X POST "https://api.resend.com/emails/batch" --header "Authorization: Bearer $RESEND_API_KEY" --header "Content-Type: application/json" -d @/tmp/resend_request.json'

```

Retrieve Email

```bash

bash -c 'curl -s "https://api.resend.com/emails/" --header "Authorization: Bearer $RESEND_API_KEY"'

```

List Sent Emails

```bash

bash -c 'curl -s "https://api.resend.com/emails" --header "Authorization: Bearer $RESEND_API_KEY"'

```

Cancel Scheduled Email

```bash

bash -c 'curl -s -X POST "https://api.resend.com/emails//cancel" --header "Authorization: Bearer $RESEND_API_KEY"'

```

---

Contacts

Create Contact

Write to /tmp/resend_request.json:

```json

{

"email": "",

"firstName": "",

"lastName": "",

"unsubscribed": false

}

```

Then run:

```bash

bash -c 'curl -s -X POST "https://api.resend.com/contacts" --header "Authorization: Bearer $RESEND_API_KEY" --header "Content-Type: application/json" -d @/tmp/resend_request.json'

```

Create Contact with Custom Properties

Write to /tmp/resend_request.json:

```json

{

"email": "",

"firstName": "",

"lastName": "",

"properties": {

"company": "",

"role": ""

}

}

```

Then run:

```bash

bash -c 'curl -s -X POST "https://api.resend.com/contacts" --header "Authorization: Bearer $RESEND_API_KEY" --header "Content-Type: application/json" -d @/tmp/resend_request.json'

```

Retrieve Contact

```bash

bash -c 'curl -s "https://api.resend.com/contacts/" --header "Authorization: Bearer $RESEND_API_KEY"'

```

List Contacts

```bash

bash -c 'curl -s "https://api.resend.com/contacts" --header "Authorization: Bearer $RESEND_API_KEY"'

```

List Contacts with Pagination

```bash

bash -c 'curl -s "https://api.resend.com/contacts?limit=50" --header "Authorization: Bearer $RESEND_API_KEY"'

```

Update Contact

Write to /tmp/resend_request.json:

```json

{

"firstName": "",

"unsubscribed": true

}

```

Then run:

```bash

bash -c 'curl -s -X PATCH "https://api.resend.com/contacts/" --header "Authorization: Bearer $RESEND_API_KEY" --header "Content-Type: application/json" -d @/tmp/resend_request.json'

```

Delete Contact

```bash

bash -c 'curl -s -X DELETE "https://api.resend.com/contacts/" --header "Authorization: Bearer $RESEND_API_KEY"'

```

---

Domains

List Domains

```bash

bash -c 'curl -s "https://api.resend.com/domains" --header "Authorization: Bearer $RESEND_API_KEY"'

```

Retrieve Domain

```bash

bash -c 'curl -s "https://api.resend.com/domains/" --header "Authorization: Bearer $RESEND_API_KEY"'

```

Create Domain

Write to /tmp/resend_request.json:

```json

{

"name": ""

}

```

Then run:

```bash

bash -c 'curl -s -X POST "https://api.resend.com/domains" --header "Authorization: Bearer $RESEND_API_KEY" --header "Content-Type: application/json" -d @/tmp/resend_request.json'

```

Verify Domain

```bash

bash -c 'curl -s -X POST "https://api.resend.com/domains//verify" --header "Authorization: Bearer $RESEND_API_KEY"'

```

Delete Domain

```bash

bash -c 'curl -s -X DELETE "https://api.resend.com/domains/" --header "Authorization: Bearer $RESEND_API_KEY"'

```

---

API Keys

List API Keys

```bash

bash -c 'curl -s "https://api.resend.com/api-keys" --header "Authorization: Bearer $RESEND_API_KEY"'

```

Create API Key

Write to /tmp/resend_request.json:

```json

{

"name": ""

}

```

Then run:

```bash

bash -c 'curl -s -X POST "https://api.resend.com/api-keys" --header "Authorization: Bearer $RESEND_API_KEY" --header "Content-Type: application/json" -d @/tmp/resend_request.json'

```

Create API Key with Permissions

Write to /tmp/resend_request.json:

```json

{

"name": "",

"permission": "sending_access"

}

```

Then run:

```bash

bash -c 'curl -s -X POST "https://api.resend.com/api-keys" --header "Authorization: Bearer $RESEND_API_KEY" --header "Content-Type: application/json" -d @/tmp/resend_request.json'

```

Delete API Key

```bash

bash -c 'curl -s -X DELETE "https://api.resend.com/api-keys/" --header "Authorization: Bearer $RESEND_API_KEY"'

```

---

Email Parameters Reference

| Parameter | Type | Description |

|-----------|------|-------------|

| from | string | Sender email (required). Format: "Name " |

| to | string[] | Recipients (required). Max 50 addresses |

| subject | string | Email subject (required) |

| html | string | HTML content |

| text | string | Plain text content |

| cc | string[] | CC recipients |

| bcc | string[] | BCC recipients |

| replyTo | string | Reply-to address |

| scheduledAt | string | Schedule time (ISO 8601 or natural language) |

| tags | array | Custom tags for tracking |

| attachments | array | File attachments (max 40MB total) |

---

Response Codes

| Status | Description |

|--------|-------------|

| 200 | Success |

| 400 | Invalid parameters |

| 401 | Missing API key |

| 403 | Invalid API key |

| 404 | Resource not found |

| 429 | Rate limit exceeded (2 req/sec) |

| 5xx | Server error |

---

Guidelines

  1. Rate Limits: Default is 2 requests per second; implement backoff for 429 errors
  2. Sender Domain: Use verified domains for production; onboarding@resend.dev for testing
  3. Batch Emails: Use /emails/batch for sending to multiple recipients efficiently
  4. Idempotency: Use Idempotency-Key header to prevent duplicate sends
  5. Scheduling: Use natural language (in 1 hour) or ISO 8601 format for scheduledAt

---

API Reference

  • Documentation: https://resend.com/docs/api-reference/introduction
  • Dashboard: https://resend.com/overview
  • API Keys: https://resend.com/api-keys
  • Domains: https://resend.com/domains

More from this repository10