Whaiz API · Documentation

API documentation

Send WhatsApp messages from your software with simple REST calls. Base URL https://api.whaiz.info/v1

Introduction

The Whaiz API lets you send WhatsApp messages from your linked number, from any programming language. All requests are HTTPS and use JSON.

  • Base URL: https://api.whaiz.info/v1
  • The number you send from is determined by your API key (each key is tied to a number) — you don't need to specify it in the URL.
  • Response format: { "success": true, "data": { … } }

Authentication

Every request needs an API key. Create it in the dashboard under API → Create key (shown only once). You can pass it in two ways:

  • • In the JSON body as a token field (simple style).
  • • Or in the Authorization: Bearer <key> header, or x-api-key.
Never expose the key in public browser-side pages: call it from server-side code.

Your first send

Replace token with your API key. The number the message is sent from is the one tied to the key.

curl -X POST "https://api.whaiz.info/v1/messages/text" \
  -H "Content-Type: application/json" \
  -d '{"token":"wha_live_LA_TUA_CHIAVE","to":"393331234567","body":"Hello!"}'

Send a text

Send a simple text message.

POST/messages/text

Parameters

ParameterTypeRequiredDescription
tokenstringYesYour API key (see Authentication).
tostringYesRecipient in international format (e.g. 393331234567) or a group …@g.us.
bodystringYesThe message text (max 8000 characters).

Example request

curl -X POST "https://api.whaiz.info/v1/messages/text" \
  -H "Content-Type: application/json" \
  -d '{"token":"wha_live_LA_TUA_CHIAVE","to":"393331234567","body":"Hello from my software 👋"}'

Response

{
  "success": true,
  "data": {
    "id": "cmq54mvrb001x13oj...",
    "to": "393331234567@c.us",
    "type": "text",
    "status": "sent"
  }
}

Send an image

Send an image downloaded from a public URL (max 16 MB).

POST/messages/image

Parameters

ParameterTypeRequiredDescription
tokenstringYesYour API key (see Authentication).
tostringYesRecipient in international format (e.g. 393331234567) or a group …@g.us.
urlstringYeshttp(s) URL of the image.
captionstringNoOptional caption.

Example request

curl -X POST "https://api.whaiz.info/v1/messages/image" \
  -H "Content-Type: application/json" \
  -d '{"token":"wha_live_LA_TUA_CHIAVE","to":"393331234567","url":"https://yoursite.com/photo.jpg","caption":"Look here!"}'

Response

{
  "success": true,
  "data": {
    "id": "cmq54mvrb001x13oj...",
    "to": "393331234567@c.us",
    "type": "image",
    "status": "sent"
  }
}

Send a document

Send a file (PDF, etc.) downloaded from a public URL (max 16 MB).

POST/messages/document

Parameters

ParameterTypeRequiredDescription
tokenstringYesYour API key (see Authentication).
tostringYesRecipient in international format (e.g. 393331234567) or a group …@g.us.
urlstringYeshttp(s) URL of the file.
filenamestringYesFile name shown to the recipient.
captionstringNoOptional caption.

Example request

curl -X POST "https://api.whaiz.info/v1/messages/document" \
  -H "Content-Type: application/json" \
  -d '{"token":"wha_live_LA_TUA_CHIAVE","to":"393331234567","url":"https://yoursite.com/document.pdf","filename":"document.pdf","caption":"Here's the file"}'

Response

{
  "success": true,
  "data": {
    "id": "cmq54mvrb001x13oj...",
    "to": "393331234567@c.us",
    "type": "document",
    "status": "sent"
  }
}

Send a location

Send a geographic location pin.

POST/messages/location

Parameters

ParameterTypeRequiredDescription
tokenstringYesYour API key (see Authentication).
tostringYesRecipient in international format (e.g. 393331234567) or a group …@g.us.
latitudenumberYesLatitude (-90…90).
longitudenumberYesLongitude (-180…180).
namestringNoPlace name.
addressstringNoAddress.

Example request

curl -X POST "https://api.whaiz.info/v1/messages/location" \
  -H "Content-Type: application/json" \
  -d '{"token":"wha_live_LA_TUA_CHIAVE","to":"393331234567","latitude":41.9028,"longitude":12.4964,"name":"Rome","address":"Italy"}'

Response

{
  "success": true,
  "data": {
    "id": "cmq54mvrb001x13oj...",
    "to": "393331234567@c.us",
    "type": "location",
    "status": "sent"
  }
}

Send a contact

Send a contact card (vCard) generated from a name and number.

POST/messages/contact

Parameters

ParameterTypeRequiredDescription
tokenstringYesYour API key (see Authentication).
tostringYesRecipient in international format (e.g. 393331234567) or a group …@g.us.
contactNamestringYesContact name.
contactPhonestringYesContact number (international format).

Example request

curl -X POST "https://api.whaiz.info/v1/messages/contact" \
  -H "Content-Type: application/json" \
  -d '{"token":"wha_live_LA_TUA_CHIAVE","to":"393331234567","contactName":"Mario Rossi","contactPhone":"393331112233"}'

Response

{
  "success": true,
  "data": {
    "id": "cmq54mvrb001x13oj...",
    "to": "393331234567@c.us",
    "type": "contact",
    "status": "sent"
  }
}

Send an audio

Send an audio file downloaded from a public URL (max 16 MB).

POST/messages/audio

Parameters

ParameterTypeRequiredDescription
tokenstringYesYour API key (see Authentication).
tostringYesRecipient in international format (e.g. 393331234567) or a group …@g.us.
urlstringYeshttp(s) URL of the audio file (e.g. mp3).

Example request

curl -X POST "https://api.whaiz.info/v1/messages/audio" \
  -H "Content-Type: application/json" \
  -d '{"token":"wha_live_LA_TUA_CHIAVE","to":"393331234567","url":"https://yoursite.com/audio.mp3"}'

Response

{
  "success": true,
  "data": {
    "id": "cmq54mvrb001x13oj...",
    "to": "393331234567@c.us",
    "type": "audio",
    "status": "sent"
  }
}

Number status

Check whether the number is connected to WhatsApp. The token goes in the header.

GET/status
curl "https://api.whaiz.info/v1/status" \
  -H "x-api-key: wha_live_LA_TUA_CHIAVE"

Response

{
  "success": true,
  "data": {
    "instance": "cmpwquy5c001u...",
    "phoneNumber": "39351...",
    "status": "CONNECTED",
    "connected": true
  }
}

Error codes

On error the response is { "success": false, "error": "…" } with one of these HTTP codes:

CodeMeaning
400Invalid parameters (number/URL/missing fields).
401API token missing or invalid/revoked.
402Subscription not active, or number limit reached.
404Instance not found (number not linked to this account).
409The WhatsApp number is not connected.
413File too large (max 16 MB).
429Too many requests (rate limit) or send queue full.
502Message sending failed.

Limits & anti-ban

🛡️ Anti-ban delay: sends on the same number are spaced out by a configurable interval (minimum 5 seconds) to protect the WhatsApp account from bans. Set the value on the API page.

⏱️ Rate limit: requests are limited per user; if you exceed it you receive 429.

📦 Media: files (image/document/audio) are downloaded from the provided URL, maximum 16 MB.

💳 Subscription: sending requires an active subscription and respects the number of numbers included in the plan.

Ready to integrate?

Create your API key and copy the ready-made snippet in 11 languages from the dashboard.