Everything a messaging integration needs, in one API.
Start with WhatsApp today. Add SMS, RCS and email as they launch, without rewriting your code.
One API. Every channel your customers use.
WhatsApp is available in early access. SMS, RCS and email are coming soon, behind the same endpoints, statuses and webhooks, so your integration won't change.
Official WhatsApp Business Platform (Cloud API) on your own verified business number.
- Embedded Signup onboarding
- Templates and the 24-hour window
- Text, images, video, audio, documents
- Delivery and read receipts
SMS
Reach any phone, with or without WhatsApp, through the same /v1/messages endpoint.
- OTPs and order alerts
- Sender IDs per country
- Delivery reports
- Same webhooks and statuses
RCS
Rich, branded messages in Android's native Messages app, with SMS fallback.
- Verified sender with logo
- Rich cards and suggested replies
- Read receipts
- Automatic SMS fallback
Transactional email alongside your chat channels, tracked in the same message timeline.
- Order and account emails
- Attachments from your media library
- Bounce and delivery events
- One history per customer
Need SMS, RCS or email sooner? Tell us what you're building and we'll prioritize it.
Send and receive with one API
Official WhatsApp Business Platform
Messages go through Meta's Cloud API on your own business number. No phones to keep online.
Templates and the 24-hour window
Approved templates start conversations; free-form replies are allowed while the window is open. Checked before sending.
Media in and out
Upload images, video, audio and documents once and send by ID. Inbound media is stored before the webhook fires.
Ordered conversations
Messages to the same person are delivered in the order you sent them, even under load and retries.
Know what happened to every message
Full message lifecycle
queued → sending → sent → delivered → read, or failed with a machine-readable reason code.
Idempotent sends
Send an Idempotency-Key and retry safely for 7 days: you get the original message back, never a duplicate.
Safe retries
Temporary failures are retried with backoff. Messages whose outcome is unclear are marked unknown, never resent blindly.
Conversation history
List messages per channel and contact with cursor pagination, for inboxes and support tools.
Events you can trust
Every event, pushed
Channel and message events delivered to your HTTPS endpoint as they happen.
Signed with HMAC-SHA256
Each request carries a timestamped signature, so you can verify the sender and reject replays.
Retries and dead-letter
Failed deliveries retry 4 times over about 13 minutes, then land in a dead-letter log instead of vanishing.
Per-channel webhooks
Send each channel's events to a different endpoint, ideal for agencies and multi-store setups.
Built for production from day one
Scoped API keys
Read and write scopes, keys limited to specific channels, and rotation with a grace period.
Secrets encrypted at rest
Access tokens and webhook secrets are encrypted with AES-256-GCM; API keys are stored only as hashes.
Rate limits with headers
Per-key, per-workspace and per-channel limits, with remaining quota on every response.
Audit log
Key creation, rotation, channel connections and other sensitive actions are recorded.
An API you can reason about
OpenAPI 3.1 contract
The spec is the source of truth. Generate typed clients and try every endpoint in the API reference.
Request IDs and clear errors
Every response carries a request ID; every error has a stable code and a human message.
Health and metrics
Health and readiness probes plus Prometheus metrics for self-hosted and monitored setups.
Dashboard included
Connect channels, manage keys and webhooks, and read conversations without writing code.
Your next customer update could be a WhatsApp message.
FoxlyFlow is in early access. Tell us what you're building and we'll help you connect your number and send your first message.