Whatixo.Docs Français Open Whatixo
Docs / Whatixo API

API introduction

The Whatixo REST API lets your website, app or software send WhatsApp messages and manage your contacts and groups from your connected numbers. All responses are JSON.

REST · JSONVersion 1

At a glance

Base URLhttps://api.whatixo.com/api
Authenticationx-api-key: wtx_… header (or Authorization: Bearer wtx_…)
FormatJSON body (Content-Type: application/json), UTF-8, 1 MB max
MethodPOST for all public operations
Rate limit200 requests / minute for sending messages — see Errors and limits
HTTPSAlways use https:// to protect your key.

1. Get your API key

Open the settings

In Whatixo: Settings → Integrations & API tab.

Copy the key

Click Copy key. It starts with wtx_ followed by 64 hexadecimal characters.

Copy the number ID

Each connected number has a deviceId: it tells the API which number to send from.

API key and number IDs in the settings
Keep the key server-side

The key gives access to your numbers and contacts. Never embed it in browser JavaScript, a mobile app or a public Git repository. Store it in an environment variable (WHATIXO_API_KEY). If it leaked, click Regenerate key: the old one stops working immediately.

2. Authenticate your requests

Send the key in the x-api-key header of every request:

-H "x-api-key: wtx_7c1e9a4b2d8f…"

The standard Authorization header is also accepted:

-H "Authorization: Bearer wtx_7c1e9a4b2d8f…"

Without a key or with an invalid key, the API returns 401. If the subscription is suspended, it returns 402 with the code API_ACCOUNT_SUSPENDED.

3. Your first call

Let’s send “Hello” to your own number:

curl -X POST https://api.whatixo.com/api/whatsapp/messages/send \
  -H "x-api-key: $WHATIXO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "deviceId": "8f2c1a7e-4b9d-4e21-9a6f-3c5d7e1b2a90",
    "to": "243812345678",
    "text": "Hello from the Whatixo API 👋"
  }'

Response:

{ "success": true, "message": "Transmis avec succès" }

Conventions

Phone numbers

In international format without the + or leading zero: 243812345678 (DR Congo), 2250701020304 (Côte d’Ivoire), 14155550123 (USA). Spaces, dashes, parentheses and “+” are stripped automatically: "+243 81 234 5678" is accepted.

For a group, pass its WhatsApp ID (JID) ending in @g.us, obtained from the group list.

Response format

A successful response contains "success": true and the requested data. An error returns a 4xx/5xx HTTP code and a readable message:

{ "success": false, "error": "L'appareil n'est pas connecté." }

Quotas

Every message sent through the API counts toward your plan’s monthly quota, like messages sent from the app.

Endpoint list

ResourceEndpointPurpose
MessagesPOST /whatsapp/messages/sendText, image, video, audio, voice note, document
ContactsPOST /whatsapp/contactsList CRM contacts
POST /whatsapp/contacts/infoRead a contact
POST /whatsapp/contacts/upsertCreate or update a contact
POST /whatsapp/contacts/checkCheck whether numbers have WhatsApp
POST /whatsapp/contacts/avatarA number’s profile picture
GroupsPOST /whatsapp/groups/createCreate a group
POST /whatsapp/groups/listList groups
POST /whatsapp/groups/membersList members
POST /whatsapp/groups/members/{add|remove|promote|demote}Manage members and admins
POST /whatsapp/groups/settings/{name|description}Rename, change the description
Status & sessionPOST /whatsapp/status/publishPublish a status
POST /whatsapp/accounts/logoutDisconnect a number
Incoming webhooksPOST /webhook/{wh_id}Trigger a workflow