Developers

Documentation

Connect a WhatsApp number, authenticate with an API key, and send your first message in minutes.

Preview. The WAGate API is available on the Growth and Scale plans. Generate keys in Developer Studio inside your dashboard. The endpoints below are stable; we're expanding the surface — check the API reference for the current list.

What is WAGate

WAGate is a platform built on top of the official WhatsApp Cloud API from Meta. It handles the parts that are tedious to build yourself — Embedded Signup, encrypted token storage, webhook verification, delivery tracking, template syncing, retries, and rate limiting — and exposes a small, predictable REST API on top.

You connect a WhatsApp number once through the dashboard, then send and automate messages either from the app or programmatically with an API key.

Base URL

All API requests go to:

https://wagate.app

Requests and responses are JSON. POST bodies may be sent as application/json or as form fields.

Authentication

Programmatic requests authenticate with a secret API key sent as a Bearer token:

Authorization: Bearer ag_live_sk_xxxxxxxxxxxxxxxxxxxx

To create a key:

  1. Open your dashboard and go to Developer Studio → API keys.
  2. Click Create key and copy the secret. It is shown once — store it somewhere safe.
  3. A key is bound to your workspace's active WhatsApp connection. You can revoke it at any time.
Keep keys secret. A key can send messages from your number and incur Meta conversation charges. Never expose it in client-side code, mobile apps, or public repositories. Programmatic sending requires a Growth or Scale plan.

Send your first message

Once you have a key and a verified recipient, send a text message with a single request:

curl -X POST https://wagate.app/api/messages.php \
  -H "Authorization: Bearer ag_live_sk_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "15551234567",
    "type": "text",
    "body": "Hello from WAGate 👋"
  }'

A successful response returns the WhatsApp message id and its initial status:

{ "ok": true, "wamid": "wamid.HBg...", "status": "sent" }

The full request shape — templates, media, and interactive messages — is in the API reference.

Webhooks & events

WAGate registers and verifies the WhatsApp webhook with Meta for you. Every inbound message and every status change (sent, delivered, read, failed) is processed automatically and shows up in:

You don't host or verify a Meta webhook yourself. Forwarding events to your own HTTPS endpoint is rolling out — if you need it now, get in touch.

Rate limits & quality

Two limits apply to outbound messages:

WAGate paces dispatch to stay within these limits and retries transient failures automatically. Keep opt-in records and respect opt-outs to protect your number's quality rating — see the Acceptable Use Policy.

Next steps