Skip to content
OmniChannels.ai

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.

POST /sms/sendSmscURL
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
2603121407537573731

A 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.

An illustrated messaging core labelled REST API, webhooks, SMPP over TLS and MCP for AI agents routes traffic out to WhatsApp, SMS, RCS, Messenger, Instagram, Telegram, email and push.

Developer surface at a glance

What is available today, and what is set up with our team.

ItemStatusDetails
REST API (SMS, WhatsApp, RCS, Messenger, Instagram, Telegram, email, push)AvailableBase URL https://api.broadnet.me with Bearer token authentication. Test access is issued after a short request.
Delivery-status webhooksAvailableConfigured per account or sub-account. Statuses are normalised across channels.
TypeScript SDKAvailablenpm install @broadnet/cpaas-sdk axios. Other languages call the REST API directly or generate a client.
OpenAPI 3.1 specificationAvailablePublic 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 serverAvailablehttps://mcp.broadnet.me/mcp over Streamable HTTP, authenticated with your token.
SMPP v3.4 over TLSOn requestBinds, throughput and IP allowlist are provisioned for your account by our team.
Voice (OTP, IVR, outbound calls, AI voice agents)On requestProvisioned 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. 1

    Request test access

    Tell us your channels, destination countries, volumes and use case. An engineer reviews the request and issues test credentials.

  2. 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. 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. 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. 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.

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.me
Routing and fallbackDirect operator routes

Your 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

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.

Talk to an API specialist

We use it to reply to you. Any business domain is fine.

Optional. Include the country code if you prefer a call.

Add details (optional)
Channels you're interested in(optional)

Our team will contact you about your integration.