Developer API

Developer API — Introduction

Connect your own website, CRM, Google Sheet or code to Wably — base URL, your API key, GET vs POST, the response format and error handling.

The Wably Developer API lets your own systems do what you normally do in the dashboard: send WhatsApp messages and templates, add and tag contacts, read conversations, update deals and orders.

You don't need to be a developer to use it with no-code tools like Make, Zapier, n8n or Pabbly — they all have an "HTTP request" step that works with this API.

Base URL#

https://app.wably.in/api/v1

Every endpoint path in these docs is added to the base URL. For example /whatsapp/send means https://app.wably.in/api/v1/whatsapp/send.

Your API key#

  1. In Wably, open your profile menu → API Developer.
  2. Under API keys, click + Create API key, give it a name (e.g. Website), and copy it. The secret is shown only once.
  3. Use one key per app or integration, so you can disable one without breaking the others.

Send the key with every request in one of these ways:

Method How
apiToken parameter In the query string (GET) or as a form field (POST) — works on every endpoint
Bearer header Authorization: Bearer YOUR_API_KEY — works on most endpoints

Important

Your API key has the full permissions of your Wably account. Never put it in public website JavaScript, screenshots or chats. If it leaks, Disable or Delete it in API Developer and create a new one.

GET or POST#

Every endpoint accepts both, with the same parameters (Upload Media is POST only). Use POST for anything that sends or changes data, and send the body as application/x-www-form-urlencoded form fields.

curl -X POST 'https://app.wably.in/api/v1/whatsapp/send' \
  -d 'apiToken=YOUR_API_KEY' \
  -d 'phone_number_id=YOUR_PHONE_NUMBER_ID' \
  -d 'phone_number=919876543210' \
  -d 'message=Hello from Wably!'

The response#

Every response is JSON with a status and a message:

{ "status": "1", "message": "Message sent successfully.", "wa_message_id": "wamid.HBgM..." }
status Meaning
"1" Success. message is a confirmation, or the data you asked for (an object or a list).
"0" Failed. message explains why, e.g. "The phone number id field is required."

Tip

Failures usually still return HTTP 200. Always check status, not just the HTTP code.

Common errors#

What you get Cause Fix
HTTP 401 {"status":"0","message":"Unauthenticated."} Wrong or disabled API key Copy the key again, or create a new one
HTML page instead of JSON No API key sent Add apiToken
status "0" with "… field is required" A required parameter is missing Check the endpoint's parameter table
Message not delivered after sending Customer's 24-hour window is closed Send a template instead

Phone number formats#

Two different numbers appear in most requests:

  • phone_number_id — the ID of your WhatsApp number in Wably (not the number itself). See Finding your IDs.
  • phone_number — the customer's number with country code, digits only: 919876543210. No +, spaces or leading zero.

Next#

Need help? Email support@wably.in with a screenshot and your WhatsApp number — we're happy to help.