Skip to content
WbizTool

Getting started

Getting started with the WbizTool API

The WbizTool REST API lets your software send WhatsApp messages from your own connected WhatsApp number. Use it to send order updates, reminders and alerts from your app, CRM, website or automation tool.

This page covers what every request needs. To send your first message, jump to Send message.

Base URL#

All endpoints live under:

https://wbiztool.com/api/v1/

Most endpoints accept POST requests. You can send the body as JSON (application/json) or as form fields (application/x-www-form-urlencoded). To upload a file, use multipart/form-data. A few read endpoints use GET; each endpoint's page shows its method.

Before you start#

  1. Create an account at wbiztool.com/signup. New accounts include 50 free messages.
  2. Connect a WhatsApp number. Open WhatsApp numbers, click Add number and scan the QR code from WhatsApp on your phone.
  3. Create an API key. Go to Settings → API keys. Only the owner of a workspace can create keys. Each workspace can have up to 10 keys.

Authentication#

Send your API key in an Authorization: Bearer header on every request (recommended). The key names its workspace, so client_id isn't needed then. Credentials in the body (client_id and api_key as JSON or form fields) keep working on every endpoint. If both are sent, a valid key in the header is used. See Send the key in a header.

Authorization: Bearer YOUR_API_KEY
api_keystringrequired

One of your API keys from Settings → API keys, in the Authorization: Bearer header or the body. Keep it secret: anyone with the key can send messages from your numbers.

client_idintegerOnly with the key in the body

Your API Client ID, shown on the same page.

whatsapp_clientintegerMost messaging endpoints

The ID of the WhatsApp number to send from, shown as ID … ⧉ on the number's card on WhatsApp numbers (click it to copy it). Each endpoint page says whether it needs one.

The API key decides which workspace a request acts on. If you belong to more than one workspace, use a key created in the workspace you want to send from.

If a key leaks, delete it on the API keys page. Deleted keys stop working immediately.

Your first request#

This sends a text message from your connected number. Replace the IDs, key and phone number with your own.

curl -X POST https://wbiztool.com/api/v1/send_msg/ \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": 12345,
    "api_key": "YOUR_API_KEY",
    "whatsapp_client": 678,
    "msg_type": 0,
    "country_code": "91",
    "phone": "9876543210",
    "msg": "Hi Aman, your order #4821 has shipped and will arrive on Thursday."
  }'

A "status": 1 response with a msg_id means the message is queued. Send message explains every parameter and has Python, Node.js and PHP versions.

Responses and errors#

Every response is a JSON object with a status field (except the /api/v1/status/ health check, which returns "status": 200):

  • "status": 1 means the request succeeded.
  • "status": 0 means it failed. The message field explains why.
{ "status": 0, "message": "Auth Error: invalid api key" }

Common authentication errors:

MessageMeaning
Auth Errorclient_id or api_key is missing, the body isn't valid JSON or form data, or the request wasn't a POST.
Auth Error - Please send correct API key and Client idapi_key is missing or empty.
Invalid client id. or Invalid Client Idclient_id isn't a whole number (or, on some endpoints, is missing). Send it as a number, for example 12345.
Auth Error: invalid api keyThe key doesn't exist, was deleted, or doesn't belong to this client_id.
Demo Account can not access apisDemo accounts can't use the API.
Not enough creditsThe workspace is on the free plan and has no messages left: paid plans send unlimited messages. See When you run out of messages.
Daily limit reached: … (HTTP 429, "code": "daily_limit_reached")The WhatsApp number took 1,000 messages in the last 24 hours (fair use). Send the rest later or from another number.

Message lifecycle#

Messages you send through the API are queued first, then sent from your WhatsApp number. Each message has one of these statuses:

StatusNameMeaning
0CreatedQueued and waiting to be sent.
1SentSent from your WhatsApp number.
2FailedCouldn't be sent, for example because the number isn't on WhatsApp.
3CancelledCancelled before it was sent.
4ExpiredNot sent before its expire_after_seconds deadline.

Your WhatsApp number must stay connected for queued messages to go out. If the number you send from is disconnected, its messages wait in the queue until it reconnects or they expire. Unsent messages on a disconnected number are removed after 90 days.

To follow a message, save the msg_id from the response and either pass a webhook URL when you send it, or call Message status.

Official client libraries#

Wrappers for Python and Node.js handle authentication and file uploads for you. They don't cover every endpoint correctly yet, so check each endpoint page before you rely on a client method.

pip install wbiztool-client

Prefer a no-code setup? See Apps & integrations for Zapier, n8n, Make, Pabbly Connect, Google Sheets, Shopify and WordPress.

Browse the docs#