PSend
The email API your product already expects
Send, batch, schedule. Audiences, broadcasts, automations. Domains, webhooks, wallet, teams — one REST surface and a dashboard that talks to the same database.
curl -X POST https://api-staging.runpsend.com/v1/emails \
-H "Authorization: Bearer ps_live_…" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: welcome-001" \
-d '{
"from": "Acme <[email protected]>",
"to": ["[email protected]"],
"subject": "Welcome",
"html": "<p>You are in.</p>"
}'
# 202
{ "id": "em_…", "status": "queued" }Send
Accept fast. Deliver with a trail.
Everything from a single transactional message to scheduled campaigns uses the same gateway.
Transactional & marketing send
POST /v1/emails with html, text, cc, bcc, reply_to, tags, and custom headers. Marketing category attaches List-Unsubscribe.
DocsBatch
POST /v1/emails/batch for many recipients in one call. Plan bulkBatchMax is enforced in Planet.
DocsSchedule & cancel
scheduled_at for later delivery. Reschedule with PATCH or cancel before send.
DocsIdempotency
Idempotency-Key header so retries do not double-send. Keys expire after 24 hours.
DocsTemplates
Draft, publish, and send with {{variables}}. Alias or id — same path in dashboard and API.
DocsAttachments
Base64 attachments on send, including content_id for inline images.
Docs
Engage
Lists, campaigns, and inbound — not a separate product.
Contacts, audiences, topics, broadcasts, automations, and inboxes live next to send. Same tenant, same API key.
Contacts & audiences
Address book with properties. Audiences (segments) for broadcasts and automations.
DocsTopics
Preference categories with default opt-in. Sends respect contact topic state.
DocsBroadcasts
Draft against an audience, then send. One outbound email and events per active member.
DocsAutomations
Trigger → action flows with runs you can inspect. Pause from the dashboard or Planet.
DocsInboxes
Receiving addresses for inbound mail you store and act on.
DocsSuppressions
Opt-outs and complaints honored on marketing sends. One-click unsubscribe tokens.
Docs
Workspace
What you configure once and trust every day.
DNS, keys, webhooks, analytics, wallet, and paid teams — managed in the app, exposed on the API.
Domains
Add mail.yourdomain.com. Live DNS verify for SPF, DKIM, DMARC — or connect Cloudflare and we write the records.
DocsWebhooks
HMAC-signed delivery events. Register endpoints; retry with backoff.
DocsAnalytics
Overview for 7 / 15 / 30 days with optional domain filter — same data as the app charts.
DocsAPI keys
Create and revoke keys. Full secret shown once. Session tokens work on the same routes.
DocsPrepaid wallet
Top up; unused balance does not expire. Overage draws from the wallet at your plan rate.
DocsTeams
Paid shared workspace: volume packages, seats, admin and domain permissions.
Docs
Platform
Reputation is part of the runtime
Limits and gates are enforced in Planet so one bad list does not take the pool with it.
Account gate
High bounce or complaint freezes sending until trust & safety reviews your explanation.
Proactive IP pools
Unhealthy exits rotate so clean tenants keep sending without opening a ticket.
Planet ops
Internal control plane for packages, overage discount, engage modules, and pauses.