POST
/
api
/
v2
/
emails
curl -X POST 'https://inbound.new/api/v2/emails' \
     -H 'Authorization: Bearer your_api_key' \
     -H 'Content-Type: application/json' \
     -d '{
  "from": "Acme <noreply@yourdomain.com>",
  "to": ["customer@example.com"],
  "subject": "Welcome to Acme!",
  "html": "<h1>Welcome!</h1><p>Thanks for signing up.</p>",
  "text": "Welcome! Thanks for signing up."
}'
{
  "id": "em_1234567890abcdef"
}
This endpoint is compatible with Resend’s email sending API, making it easy to migrate from Resend to Inbound.

Authentication

This endpoint requires authentication via either:
  • Session-based auth: Valid session cookie from login
  • API key auth: Bearer token in Authorization header

Body Parameters

from
string
required
Sender email address.To include a friendly name, use the format "Your Name <sender@domain.com>".
You must own and have verified the sender’s domain in your Inbound account.
to
string | string[]
required
Recipient email address. For multiple addresses, send as an array of strings. Max 50.
subject
string
required
Email subject.
bcc
string | string[]
Bcc recipient email address. For multiple addresses, send as an array of strings.
cc
string | string[]
Cc recipient email address. For multiple addresses, send as an array of strings.
reply_to
string | string[]
Reply-to email address. For multiple addresses, send as an array of strings.
html
string
The HTML version of the message.
text
string
The plain text version of the message.
headers
object
Custom headers to add to the email.
attachments
array
Filename and content of attachments (max 40MB per email, after Base64 encoding).

Headers

Authorization
string
Bearer token for API authentication. Required if not using session auth.
Idempotency-Key
string
Add an idempotency key to prevent duplicated emails.
  • Should be unique per API request
  • Idempotency keys expire after 24 hours
  • Have a maximum length of 256 characters

Request Example

curl -X POST 'https://inbound.new/api/v2/emails' \
     -H 'Authorization: Bearer your_api_key' \
     -H 'Content-Type: application/json' \
     -d '{
  "from": "Acme <noreply@yourdomain.com>",
  "to": ["customer@example.com"],
  "subject": "Welcome to Acme!",
  "html": "<h1>Welcome!</h1><p>Thanks for signing up.</p>",
  "text": "Welcome! Thanks for signing up."
}'

Response

{
  "id": "em_1234567890abcdef"
}

Important Notes

Domain Verification Required: You can only send emails from domains that you own and have verified in your Inbound account. Attempting to send from an unverified domain will result in a 403 error.
Email Limits: Your account has a monthly email sending limit based on your subscription plan. The API will return a 429 error if you exceed this limit.
Idempotency: Use the Idempotency-Key header to ensure emails aren’t sent multiple times in case of network issues or retries.

Migration from Resend

This endpoint is designed to be compatible with Resend’s email sending API. To migrate:
  1. Replace your Resend API endpoint with https://inbound.new/api/v2/emails
  2. Replace your Resend API key with your Inbound API key
  3. Ensure your sending domain is verified in Inbound
The following Resend features are not yet supported:
  • scheduled_at parameter for scheduling emails
  • tags array for email tagging
  • React components (use HTML/text instead)