A developer-first layer for push, email, and SMS with sane retries, intelligent scheduling, and full observability — without death‑by‑integrations.
import { DispatchPlane } from '@dispatchplane/sdk'; const dp = new DispatchPlane('dp_live_...'); await dp.send({ to: 'user_2kX9', channel: 'email', template: 'welcome', data: { name: 'Jane' }, }); // → { id: "msg_abc123", status: "delivered" }
from dispatchplane import DispatchPlane dp = DispatchPlane("dp_live_...") dp.send( to="user_2kX9", channel="email", template="welcome", data={ "name": "Jane" }, ) # → { "id": "msg_abc123", "status": "delivered" }
import "github.com/dispatchplane/go-sdk" dp := dispatchplane.New("dp_live_...") resp, err := dp.Send(ctx, &dispatchplane.Message{ To: "user_2kX9", Channel: "email", Template: "welcome", Data: map[string]any{"name": "Jane"}, }) // → resp.ID == "msg_abc123", resp.Status == "delivered"
curl https://api.dispatchplane.com/v1/send \ -H "Authorization: Bearer dp_live_..." \ -H "Content-Type: application/json" \ -d '{ "to": "user_2kX9", "channel": "email", "template": "welcome", "data": { "name": "Jane" } }' # → { "id": "msg_abc123", "status": "delivered" }
Why DispatchPlane
Built for teams that care about reliability and developer experience.
Send, schedule, or cancel with one JSON call. SDKs for Node, Python, Go, and more.
Exponential backoff and idempotency built in. Never send a duplicate or drop a message.
Real-time delivery tracking, message history, and structured logs you can export anywhere.
Time-zone aware delivery windows. Send at the right time for every user, automatically.
End-to-end encryption, SOC 2 compliance path, and scoped API keys with granular permissions.
Push, email, SMS, and webhooks through a single unified API. Add channels without rewriting code.
Join the private beta and start sending in under five minutes.