A WhatsApp API for your own systems

The Soosh API lets your own systems do what your team does in the app: send WhatsApp messages and templates, keep contacts in sync, run broadcasts, and hear about each change with signed webhooks.

What you can build

Messages

Send WhatsApp messages and templates, and read every message your workspace sent or received.

Contacts

Create and update contacts, tag them, and keep your own fields on them.

Templates

Create a template, then follow WhatsApp's review of it.

Broadcasts

Send one template to many people, now or at a time you choose, and follow it to the end.

Chats

Assign a chat to an agent or a team, and close or reopen it.

Webhooks

Get your workspace's events at your own URL, signed, with retries.

Send a message in one request

Every request goes to https://app.soosh.io/v1/ with your API key. Full walkthrough in Make your first API call.

# Send a WhatsApp message to a contact
curl https://app.soosh.io/v1/messages \
  -H "Authorization: Bearer $SOOSH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"contact_id": "4ea0d485-…", "type": "text",
       "text": {"body": "Your order has shipped."}}'

How it works

Create an API key

In Settings, create a workspace key and choose exactly what it can do.

Find a customer

List contacts by phone number to get the contact's ID.

Send a message

POST to /v1/messages, and listen for status changes with webhooks.

FAQ

What is the Soosh API base URL?

https://app.soosh.io/v1. Requests and responses are JSON, IDs are UUIDs and times are RFC 3339 in UTC.

How do I authenticate?

Send a workspace API key as Authorization: Bearer soosh_live_… on every request. Each key can only do what its scopes allow. Call the API from your server, not from a web page.

Is there an OpenAPI specification?

Yes. Every /v1 endpoint, object, error and webhook event is described in an OpenAPI 3.1 file at https://docs.soosh.io/openapi.yaml.

How does Soosh handle retries and versioning?

Send an Idempotency-Key header on any POST so a retry never repeats it. v1 only gains things; a breaking change becomes /v2, with at least 6 months of overlap.

Guides

Step-by-step help at docs.soosh.io.

Bring WhatsApp into one place

Tell us about your team and we'll get you set up.

Talk to us