Email API for developers

A transactional email API on the platform your team already uses

Send receipts, sign-in links and notifications from your own domain with a REST API that takes the same requests as Resend. Webhooks, receiving, batches and scheduling come with the free API plan of 3,000 emails a month, and the $10 Developer plan raises that to 50,000.

Resend-compatible requests Free: 3,000 emails a month Developer: $10 for 50,000

One request to send

curl -X POST https://api.wsmailpro.com/v1/emails \
  -H "Authorization: Bearer $WSMAIL_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: receipt-1234" \
  -d '{
    "from": "Acme <orders@acme.com>",
    "to": ["jane@example.com"],
    "subject": "Your receipt",
    "html": "<p>Thanks for your order.</p>"
  }'

The response is { "id": "…" }. Follow the message with GET /v1/emails/{id} or a webhook. Keys are created in the developer dashboard.

What the API does

Send from your own domain

Transactional email from any address on a verified domain, DKIM-signed by our own mail servers, with per-recipient delivery status.

Signed webhooks

Delivered, bounced, complained, failed and received events, signed with the Standard Webhooks scheme that Resend and svix libraries already verify.

Receive email too

Mail to addresses on your domain arrives as a webhook, with the text, HTML, headers, attachments and original message available over the API.

Batches and scheduling

Up to 100 emails in one call, or a send time up to 30 days ahead that you can move or cancel.

Safe retries

An Idempotency-Key makes a retried request return the first result instead of sending twice.

Try it before DNS

Send from onboarding@wsmailpro.com to your own address before your domain is verified, and to a sink address that accepts and discards mail for CI.

Reputation guardrails

Suppression of bounced and complaining addresses, a sandbox for new accounts, and review of sudden spikes, so one bad list cannot damage your domain.

Built for tools and agents

An OpenAPI 3.1 document for Postman and client generators, and a ready-made brief for AI coding assistants.

Why a mail provider’s API, not a separate sending service

Most sending APIs are a separate product from the mailboxes your team reads. You verify the domain twice, watch two dashboards, and replies to your transactional mail land somewhere the sending service cannot see. Here the API runs on the same account and domains as your team’s email, so the domain is verified once and replies and inbound mail can come back through the same API.

The request shape deliberately matches Resend’s: the same field names, the same error envelope, the same Idempotency-Key header and batch endpoint, and webhook signatures that their libraries verify. Moving an existing integration is usually a change of base URL and key. The migration guide lists what is and is not supported.

Protecting the reputation you share

Deliverability is a shared resource, so until your domain is verified you can send only from onboarding@wsmailpro.com to your own address. Once it is verified you can send to anyone, with an hourly cap for new senders that lifts after two weeks of clean sending. Bounced and complaining addresses are suppressed automatically, links to blocklisted domains are refused, and a sudden spike is held for a person to review rather than sent. That is how the established providers keep their IPs clean, and it is why your mail keeps landing in the inbox.

API plans

  • Free ($0): 3,000 emails a month, up to 100 a day
  • Free: 1 sending domain and 1 webhook endpoint
  • Developer ($10 a month): 50,000 emails a month, no daily limit
  • Developer: 10 domains, 5 webhook endpoints, 150 AI requests a month
  • Billed per organization, separately from your mail plan
  • Upgrade in the developer dashboard; cancel any time

A Node SDK and an SMTP gateway for apps that only speak SMTP are rolling out; until then, any HTTP client works.

Common questions

Is the WS Mail Email API compatible with Resend?+

The request and error shapes match: the same fields for from, to, cc, bcc, subject, html, text, attachments, tags and scheduled_at, the same Idempotency-Key header and batch endpoint, and webhook signatures that Resend and svix libraries verify. Most integrations move over by changing the base URL and the key. Audiences, contacts and stored templates are not offered.

How much does it cost?+

The email API has its own plans, separate from your mailbox plan. The free API plan includes 3,000 emails a month (at most 100 a day), one sending domain and one webhook endpoint. The Developer plan is $10 a month per organization, billed separately from any mail plan, for 50,000 emails a month with no daily limit, 10 domains, 5 webhook endpoints and 150 AI requests a month. Cancel any time.

Why does a new account start in sandbox?+

To protect the sending reputation every customer shares. Until you verify a domain, you can send only from onboarding@wsmailpro.com to your own account’s email address, so you can try the API straight away. Once a domain is verified you can send from it to anyone, with an hourly cap for new senders that lifts after 14 days and 200 sends with few bounces.

Can I receive email through the API?+

Yes. Turn on receiving for a verified domain and mail to any address there without a mailbox arrives as an email.received webhook. The text, HTML, headers, attachments and the original message are available over the API.

Send your first API email in minutes

Create a free account, make a key and send from onboarding@wsmailpro.com to yourself right away. Verify your domain to send to anyone.

Create your free account

No credit card. No trial clock.