One messaging API for eight channels
Send SMS, WhatsApp, RCS, Messenger, Instagram, Telegram, email and push from your own code with one base URL and one Bearer token. Track every message through webhooks, scale SMS over SMPP, and let AI agents use the same API through MCP.
curl -X POST https://api.broadnet.me/sms/sendSms \
-H "Authorization: Bearer $BROADNET_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"senderId": "OmniDemo",
"destinationNumber": "447700900123",
"message": "Your code is 482913",
"messageType": "TEXT"
}'
# 200 OK
2603121407537573731A real request: POST /sms/sendSms returns the message ID as plain text. Replace the token, sender ID and number with your own.
Short answer
Updated
OmniChannels.ai gives developers one REST API for SMS, WhatsApp, RCS, Messenger, Instagram, Telegram, email and push. It has about 225 documented paths described in an OpenAPI 3.1 spec, a TypeScript SDK, delivery-status webhooks, SMPP v3.4 over TLS and an MCP server for AI agents. Test access goes to your own verified numbers, engineers support your integration, and resellers can use the same API under their own brand.
What you get as a developer
One integration covers every channel your customers use, with the tooling a production team expects.
One REST API, eight channels
SMS, WhatsApp, RCS, Messenger, Instagram, Telegram, email and push share one base URL, one Bearer token and one error format, so adding a channel is a new endpoint, not a new vendor.
OpenAPI 3.1 and a TypeScript SDK
About 225 documented paths in an OpenAPI 3.1 spec you can import into Postman or use to generate clients, plus the official @broadnet/cpaas-sdk package for TypeScript and Node.js.
Delivery-status webhooks
Statuses are normalised across channels (SUBMITTED, SENT, DELIVERED, READ, FAILED and REJECTED) and pushed to your HTTPS endpoint, with polling and re-push endpoints as a safety net.
SMPP v3.4 for high-volume SMS
Transceiver binds over TLS with IP allow-listing, provisioned for your account, on the same direct operator routes as the REST API.
MCP server for AI agents
Connect Claude, Cursor or any MCP client to the API with your token, so agents can send messages and read delivery reports under your guardrails.
Test before you go live
Test credentials send to your own verified numbers on the same base URL as production, so your code does not change at cutover.
Support from engineers
A messaging engineer reviews your use case, helps with REST or SMPP design, sender IDs and country rules, and stays with you through go-live.
Built for resellers
Resellers use the same API under their own brand, with sub-accounts that each have their own credit, sender IDs, users and webhooks, plus a reseller API for account management.

Developer surface at a glance
What is available today, and what is set up with our team.
| Item | Status | Details |
|---|---|---|
| REST API (SMS, WhatsApp, RCS, Messenger, Instagram, Telegram, email, push) | Available | Base URL https://api.broadnet.me with Bearer token authentication. Test access is issued after a short request. |
| Delivery-status webhooks | Available | Configured per account or sub-account. Statuses are normalised across channels. |
| TypeScript SDK | Available | npm install @broadnet/cpaas-sdk axios. Other languages call the REST API directly or generate a client. |
| OpenAPI 3.1 specification | Available | Public at https://omnichannels.ai/developers/openapi.json (YAML at /developers/openapi.yaml): every operation a customer token can call, for Postman, Insomnia, client generation and AI coding tools. |
| MCP server | Available | https://mcp.broadnet.me/mcp over Streamable HTTP, authenticated with your token. |
| SMPP v3.4 over TLS | On request | Binds, throughput and IP allowlist are provisioned for your account by our team. |
| Voice (OTP, IVR, outbound calls, AI voice agents) | On request | Provisioned with the account team; there are no public voice endpoints in the REST API. |
From first request to production
There is no instant self-serve signup. Access starts with a short request so the account is set up for your channels and countries.
- 1
Request test access
Tell us your channels, destination countries, volumes and use case. An engineer reviews the request and issues test credentials.
- 2
Send your first test message
Follow the quickstart to send an SMS to your own verified number and receive its delivery status on your webhook.
- 3
Build the integration
Add the channels you need, handle errors and retries, and record message IDs. Our engineers can review your design for REST or SMPP.
- 4
Get senders approved
Sender IDs, WhatsApp Business accounts and RCS agents are registered in parallel with your build, following each country's and platform's rules.
- 5
Go live
Production routes are switched on for your account. Your code keeps calling the same base URL, so nothing changes at cutover.
Is this API a fit for your team?
A good fit when
- You want one integration for SMS, WhatsApp, RCS, social messaging, email and push instead of several vendors.
- You need per-message delivery statuses in your own systems, not only in a dashboard.
- You send high SMS volumes and want SMPP alongside REST.
- You resell messaging and need the same API under your brand, with sub-accounts.
- You are building AI agents that should send and track messages through MCP.
Good to know before you start
- There is no instant self-serve signup; test access is issued after a short request.
- The official SDK is TypeScript only; other languages use plain HTTP or a client generated from the spec.
- The API takes no idempotency key, so your integration records each send before retrying.
- Voice and SMPP are provisioned with our team rather than through public endpoints.
- WhatsApp, Messenger and Instagram sends follow Meta's rules, including approved templates and messaging windows.
Documentation
Everything you need to integrate, from your first API call to SMPP binds and AI agents. The documentation is in English.
- Get startedQuickstart: send your first messageGet test credentials, send your first SMS with cURL, Node.js, Python or PHP, receive the delivery status, and check what to do before going live.
- Get startedAuthenticationHow to authenticate API requests with a Bearer token, store and rotate it safely, read a 401 response, and connect Facebook Pages and Instagram via OAuth.
- Messaging channelsSMS APISend single and bulk SMS, choose TEXT or UNICODE encoding, count segments, schedule, control bulk jobs and look up numbers before you send.
- Messaging channelsWhatsApp Business APISend WhatsApp templates, text, media and interactive messages through one multipart endpoint, manage templates and batches, and track every recipient.
- Messaging channelsRCS Business Messaging APISend RCS text, media, rich cards, carousels and suggested replies, check device capability first, and plan SMS fallback for users without RCS.
- Messaging channelsFacebook Messenger APIConnect a Facebook Page with OAuth, then send Messenger text, media, button and carousel templates and quick replies within Meta's messaging windows.
- Messaging channelsInstagram Messaging APIConnect an Instagram professional account with OAuth and reply to Instagram DMs by API: text, media, quick replies, generic templates and reactions.
- Messaging channelsTelegram APISend Telegram text, photos, documents, video, location and contact messages from your connected sender, use saved templates, and smoke-test in a sandbox.
- Messaging channelsEmail APISend transactional and bulk email through your SMTP sender with HTML, templates, attachments, CC and scheduling, plus domain checks and a sandbox send.
- Messaging channelsPush Notifications APISend push notifications to your app's users by user reference, device token, topic or segment, with images, deep links, actions, templates and dry runs.
- Messaging channelsVoice: OTP, IVR, calls and AI agentsWhat voice can do on OmniChannels.ai, from voice OTP and IVR to AI voice agents and SMS-to-voice fallback, and how our team provisions it for your account.
- Events and errorsWebhooks and delivery statusesReceive delivery statuses and inbound messages on your HTTPS endpoint, respond fast, deduplicate events, and poll or re-trigger statuses when needed.
- Events and errorsErrors, retries and rate limitsHTTP status codes and error bodies, which errors to retry with backoff and jitter, default rate limits, pagination, and how to avoid duplicate sends.
- ConnectivitySMPP v3.4 connectivityWhen to use SMPP instead of REST, how binds are provisioned over TLS, submit_sm essentials, encoding, concatenation, delivery receipts and error codes.
- ToolsMCP server for AI agentsConnect Claude, Cursor, VS Code and other MCP clients to the messaging API so AI agents can send and track messages safely with your token.
- ToolsSDKs, OpenAPI spec and code samplesUse the TypeScript SDK, import the OpenAPI 3.1 spec into Postman or Insomnia, generate clients, and call the API from Java, .NET, Go and Ruby.
- ToolsOpenAPI 3.1 specDownload the public OpenAPI 3.1 spec of the messaging API, import it into Postman or Insomnia, generate clients and types, and give it to AI coding tools.
- ToolsUse the MCP server with Claude CodeAdd the OmniChannels.ai MCP server to Claude Code with claude mcp add, share it in .mcp.json, keep the token in an environment variable and gate send tools.
- ToolsUse the MCP server with CursorConnect Cursor to the OmniChannels.ai MCP server with .cursor/mcp.json, read the token from an environment variable, toggle tools and send a first message.
- ToolsUse the MCP server with n8nGive an n8n AI Agent the OmniChannels.ai messaging tools with the MCP Client Tool node, or call the REST API and receive delivery statuses with plain n8n nodes.
- ToolsMake and Zapier with webhooksSend messages from Make scenarios and Zaps with an HTTP request to the REST API, and get delivery statuses and inbound messages via a Make or Zapier webhook.
How the API fits into your stack
Your systems call one REST API with one bearer token. BroadNet routes each message over the right channel and operator, and sends delivery statuses back to your webhook.
Your app, CRM or AI agent
- Bearer token, one base URL
- SMPP 3.4 over TLS for high volume
- MCP server for AI agents
BroadNet messaging API
https://api.broadnet.meYour customer's phone
Delivery statuses to your webhook
SENTDELIVEREDREADFAILED
Developer questions
How do I authenticate?
Send your account's access token in an Authorization: Bearer header on every request. Tokens are issued per account; there is no endpoint that exchanges a username and password for a token. A missing or invalid token returns 401. Keep the token on your servers, never in browser or mobile code.
What is the base URL, and is there a separate sandbox?
Every call goes to https://api.broadnet.me, with no version prefix. Test and production use the same base URL: test credentials send only to your own verified numbers, and production is switched on for your account after sender approval, so your code does not change.
How do I get delivery receipts?
Statuses are pushed to the webhook URL configured on your account: SUBMITTED, SENT, DELIVERED, READ on channels that report reads, FAILED and REJECTED. You can also poll, for example GET /sms/list for SMS bulk jobs and GET /whatsapp/message/bulk-insights for WhatsApp batches.
How should I handle retries and duplicates?
Retry only network errors, 429 and 5xx responses, with exponential backoff and jitter, and never retry 4xx errors unchanged. The API takes no idempotency key, so record each send before you make it, store the returned message ID, and check the status after a timeout before sending again.
What are the rate limits?
The documented defaults are 200 requests per second for REST with bursts to 500 for up to 60 seconds, 1,000 messages per second per SMPP bind, and 50 requests per second for number lookups. Your account's limits are confirmed with your credentials. Over-limit requests return 429 with a Retry-After header.
Which languages are supported?
Any language that can make HTTPS requests. There is an official TypeScript SDK, @broadnet/cpaas-sdk, and the docs include plain HTTP samples for cURL, Node.js, Python, PHP, Java, .NET, Go and Ruby. You can also generate a client from the public OpenAPI 3.1 spec at /developers/openapi.json.
Should I use REST or SMPP for SMS?
REST suits most applications and gives you every channel through one API. SMPP v3.4 over TLS suits sustained high-volume SMS, especially if you already run an SMPP client. Binds, throughput and IP allowlists are provisioned for your account, and you can use both on one account.
Can I resell messaging through the API?
Yes. Resellers use the same API under their own brand. Each sub-account has its own credit, sender IDs, users and webhooks, and a reseller API covers account creation, credit top-ups, rate cards and reporting. Mention reselling when you request access so we set up the structure with you.
Guides on this topic
- IntegrationMessaging API Integration Guide: REST, SMPP and Webhooks9 min read
- MarketingSent vs Delivered vs Read vs Failed: Message Status Explained8 min read
- IntegrationHow to Connect a CRM to an Omnichannel Inbox With Webhooks8 min read
- SMS & OTPOTP Messages on WhatsApp and SMS: Security, Delivery and Fraud9 min read
- WhatsAppWhatsApp Cloud API Error Codes: Meanings and How to Fix Them8 min read
- SMS & OTPWhat Is A2P SMS? How Business Messages Reach the Handset8 min read
Explore more of the platform
Request test access
Tell us your channels, countries and volumes. An engineer will set up test credentials for your verified numbers and help you plan the move to production.
Share your stack and what you want to connect. A solutions engineer will follow up.

BroadNet messaging API