Call WhatsApp from your code

Create a key, check your connection, and run an existing WhatSync tool.

1. Create an API key

API keys and webhooks are part of the Max plan. Sign in and open Developers. Create a key named for your integration. Read and send are selected by default; add group permission for group tools. Copy the key once and store it as WHATSYNC_API_KEY in your server or workflow credentials.

2. Check your account

curl https://whatsync.app/api/v1/me \
  -H "Authorization: Bearer $WHATSYNC_API_KEY"

The response identifies your account, connected numbers, readiness, key name and scopes. Choose a channel explicitly when both personal WhatsApp (channel qr) and the Business API (channel business) are connected.

3. Discover your tools

curl https://whatsync.app/api/v1/tools \
  -H "Authorization: Bearer $WHATSYNC_API_KEY"

This lists only tools your key may use, with JSON Schemas for their inputs. See the generated tool reference.

4. Send one message

curl -X POST https://whatsync.app/api/v1/tools/send_message \
  -H "Authorization: Bearer $WHATSYNC_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: my-first-send-001" \
  -d '{"channel":"qr","phoneNumber":"15550000001","text":"Received"}'

Replace the example number with your intended recipient. Reuse the same idempotency key and input if the request is retried. A personal WhatsApp number can send 50 messages a day through the API, to protect it from a WhatsApp ban; the official Business API has no WhatSync daily limit. Business templates use channel=business, templateName, templateLanguage, templateParameters and recipientOptInConfirmed=true; free-form Business replies require an incoming customer message within 24 hours. Provider acceptance is separate from delivery.