WhatsApp API

Send Meta-approved template messages from your own WhatsApp Business Account. The official Business Platform, not a grey-route bot.

Auth: mbs_ scoped tokens

WhatsApp lives under /api/v1/ and requires an mbs_ token with WhatsApp scopes. See Authentication. Responses use the { success, data, error } envelope.

How it fits together

  1. Connect an account: your WABA credentials (phone number ID, WABA ID, access token) connect once; templates sync automatically.
  2. Templates: created and reviewed with Meta; their live review status is mirrored here. Only approved templates can send.
  3. Send: pick a template, supply recipients and variable values; delivery and read receipts stream back.

The portal and the API share the same accounts: anything you see under WhatsApp in your dashboard is returned by the API, and vice versa.

List your accounts

GEThttps://api.mobilesasa.com/api/v1/whatsapp/accounts

Returns every WhatsApp Business Account on your team. The uuid on each account is the account_uuid you pass when sending and when listing templates.

# Paste your token once (it starts with mbs_):
export MOBILESASA_TOKEN="mbs_your_token_here"

curl "https://api.mobilesasa.com/api/v1/whatsapp/accounts" \
  -H "Authorization: Bearer $MOBILESASA_TOKEN"
Response
{
  "success": true,
  "data": {
    "accounts": [
      {
        "uuid": "9f6e2a1c-…",
        "name": "Main line",
        "phone_number_id": "1093857629",
        "msisdn": "254700000001",
        "waba_id": "204817593",
        "status": true,
        "template_count": 4,
        "created_at": "2026-07-10T09:30:00Z"
      }
    ]
  }
}

See an account you did not connect?

Some teams have a number provisioned for them by Mobile Sasa instead of connecting their own WABA. That account works on the API exactly like a self-connected one: fetch it here, use its uuid as the account_uuid in sends, and list its templates the same way. You do not need to connect anything else to use it.

Connect a WhatsApp Business Account

POSThttps://api.mobilesasa.com/api/v1/whatsapp/accounts

Parameters

FieldTypeRequiredDescription
namestringYesA label for this account (shown in listings).
phone_number_idstringYesMeta phone number ID from the WhatsApp Business Platform.
waba_idstringYesYour WhatsApp Business Account ID.
api_keystringYesA permanent Meta access token for the WABA.
msisdnstringNoThe display number, for your own reference.
app_idstringNoMeta app ID, if you scope tokens per app.
# Paste your token once (it starts with mbs_):
export MOBILESASA_TOKEN="mbs_your_token_here"

curl -X POST https://api.mobilesasa.com/api/v1/whatsapp/accounts \
  -H "Authorization: Bearer $MOBILESASA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Main line",
    "phone_number_id": "1093857629",
    "waba_id": "204817593",
    "api_key": "EAAG…"
  }'

Connecting triggers an immediate template sync from Meta. Disconnect an account with DELETE /api/v1/whatsapp/accounts/{uuid}.

Next