Features

One API, every channel

Send through email, SMS, push, and WhatsApp with a single, consistent interface. Every channel implements the same contract, so your code never changes when you add one.

Email
Transactional and marketing email via Amazon SES — or bring your own SMTP server. Full delivery tracking either way.
SMS
Reliable text messaging through Twilio, with the same simple API.
Push
Mobile and web push via FCM and APNs, with device-token lifecycle handling.
WhatsApp
Template messaging on the Meta Cloud API, compliant with the 24-hour window.

More than a send API

Delivery, reliability, insight, and security — the parts that matter once you're sending real volume.

Failover that just works
Add multiple SMTP servers in priority order and fall through on failure — or fail over between Amazon SES and SMTP automatically. Configurable per account.
Open & click analytics
Every email is tracked. See opens and clicks broken down by device, mail client, and country — with honest notes on Apple Mail's privacy proxy.
Email validation
Catch typos, dead domains, and disposable addresses before you send. Validate one address, a whole list, or automatically on every send to cut bounces.
API key IP allowlisting
Lock any API key to specific IPs or CIDR ranges. Keys work everywhere by default, or exactly where you say.
Delivery tracking
Provider webhooks update each message's status in real time — sent, delivered, bounced — with a filterable log and recent-failure view.
Organization accounts
Multi-tenant by design: each account's data is isolated and brings its own provider credentials (your SES, Twilio, FCM/APNs, SMTP).
Templates with preview
Reusable content per channel with {{variable}} placeholders and a live preview while you edit — before and after saving.
REST + typed .NET SDK
One consistent API across every channel, plus an ergonomic .NET SDK (net8.0 and netstandard2.0) with a single typed exception type.

A closer look

How the standout capabilities actually work under the hood.

Provider routing & failover

Email sends through Amazon SES by default. Add one or more SMTP servers, order them, and the resolver tries them in turn — falling through only on connection/auth failures, never on a bad mailbox. Choose per account whether un-pinned sends go SES→SMTP, SMTP→SES, or one only. Pin a specific domain to a provider, or override a single send.

Open & click analytics

A tracking pixel and link rewriting are injected automatically at send. The Analytics page breaks opens and clicks down by device, mail client, and country/city — with a clear note that Apple Mail Privacy Protection inflates open counts industry-wide.

Email validation

Syntax, MX-record, and disposable-domain checks with cached results. Validate a single address or a whole import in one call, or flip on “validate before send” to reject undeliverable recipients up front and protect your sender reputation.

Security & isolation

Restrict each API key to specific IPs or CIDR ranges. Organization accounts keep every tenant’s data isolated, with provider credentials and SMTP passwords encrypted at rest — bring your own SES, Twilio, FCM/APNs, and SMTP.

Queued & reliable

Every send is queued with automatic retries and backoff, so transient failures recover on their own. Provider webhooks update delivery status live — sent, delivered, bounced.

Dashboard & SDK

Manage keys, domains, templates, contacts, and email providers from the dashboard — or integrate with the .NET SDK (net8.0 and netstandard2.0). Templates support {{variables}} with a live preview.

See it in your stack

Spin up a free account and send your first notification in minutes.