A WhatsApp API
Your Team Will Enjoy.

Send messages, read conversations, manage contacts and trigger campaigns over a clean REST API. Signed webhooks with retries, a dead letter queue and one click replay, included on the plan rather than locked behind a higher tier.

REST with code samplesSigned webhooksScoped API keysIn app playground
API & Webhooks Search anything…⌘K GSGauravOwner
POST /v1/messages

POST /v1/messages

Authorization: Bearer sk_live_••••

Content-Type: application/json

{

  "to": "15551234567",

  "type": "template",

  "template": {

    "name": "order_shipped",

    "language": "en"

  }

}

✓ 200 OK · 128ms

Webhook deliveries
message.delivered200
message.read200
message.received200
call.status · retryretry
template.approved200
message.delivered200
message.failed200
Method · Endpoint
Status
Latency
Time
POST /v1/messages
200 OK
128ms
14:02:11
GET /v1/contacts
200 OK
64ms
14:01:47
POST /v1/campaigns
201 Created
212ms
14:00:03
01

Included, not upsold

The API is part of the plan. No enterprise call to unlock the thing developers need on day one.

02

Webhooks you can trust

Retries with backoff, a dead letter queue and replay, so a five minute outage on your side is not lost data.

03

Safe keys

Scoped keys, shown once, revocable, with per key request logs.

Webhooks

Delivery you can inspect and replay

Every webhook carries an HMAC signature and a delivery record. Failures retry with exponential backoff, land in a dead letter queue after the final attempt, and can be replayed in one click once your endpoint is healthy.

The event feed covers messages, delivery states, calls, template status changes, contact updates and campaign progress.

  • HMAC signature on every delivery
  • Exponential backoff with a dead letter queue
  • One click replay per event or in bulk
  • Per key request logs and rate limit headers
Webhook deliveries99.94% success
EventAttemptsState
message.received1200
message.status1200
campaign.progress3retried
template.status5dead letter
p95 delivery 240ms · 12,480 events today18 event types

How it works

From zero to live,
in four steps.

01Create a scoped keyPick the scopes you need. The secret is shown once.
02Try it in the playgroundFire a real request from the browser and see the response.
03Point your webhookAdd your endpoint, verify the signature, handle the events you care about.
04ShipRate limit headers and delivery logs tell you exactly what is happening.

What is inside,
in detail.

Messages endpoint

Send text, media, templates and interactive messages.

Contacts endpoint

Create, update, tag and segment contacts programmatically.

Campaigns endpoint

Trigger a broadcast and read its progress and results.

Webhook signatures

HMAC verification with a rotating secret per endpoint.

Playground

Build and run requests in app, then copy the code sample.

Rate limits

Clear limits with headers, and no surprise throttling mid campaign.

Where rivals say no

The same feature,
across four platforms.

FeatureWBIZWATIInteraktAiSensy
API included on the standard planHigher tierHigher tierHigher tier
Signed webhooks with replay———
Dead letter queue for failed events———
Scoped, revocable API keysPartialPartialPartial
In app request playground———

Competitor entries are indicative, from public 2026 pages. See the full 89-row benchmark.

FAQ

API questions

Anything missing, a founder will answer directly.

It is included on the plan rather than gated behind an enterprise tier. Rate limits differ by plan.

Each delivery carries an HMAC signature computed with your endpoint secret. Verify it before trusting the payload.

Deliveries retry with exponential backoff, then land in the dead letter queue where you can replay them.

Yes. Everything the dashboard does over messages, contacts and campaigns is available over the API.

The API is plain REST with code samples in the docs, so any HTTP client works.

Send and receive messages, manage contacts, tags and templates, run campaigns and read delivery events.

With a scoped API key you create in the dashboard, sent as a bearer token.

Yes. The docs cover every endpoint with request and response examples, plus a playground.

Standard REST over HTTPS with JSON, so any language that speaks HTTP works.

They POST signed payloads to your URL for inbound messages, delivery updates and more.

Deliveries retry with backoff, so a short outage does not lose events, and you can replay them.

Yes, in line with Meta's limits. The docs list them so you can pace your sends.

Yes. Keys carry scopes, so a reporting integration cannot send messages.

Yes. The playground and a test number let you try calls before you go live.

No. Use our inbox and the API together, or run headless if you prefer.

Explore more

The rest of the platform

Build on WhatsApp without the gatekeeping

Start free, create a scoped key, and send your first message from the playground in a minute.