Licences & trial
A 7-day free trial per number, then a monthly licence per number. What a slot is, and what happens when one expires.
Each WhatsApp number needs an active licence to send and receive through the API. There is no free tier; there is a 7-day free trial on every new number.
Prices
One price, in USD, per number, per month — the same whether the number is a
qr connection or a cloud_api connection, and whatever you send through it.
| Price | |
|---|---|
| A WhatsApp number in a standalone workspace | $12 |
| API access to a number that lives on a Bitrix24 portal (API add-on) | $12 |
No seats, no message caps, no per-request fees on our side. Meta's own
conversation charges for cloud_api numbers are billed by Meta to your
WhatsApp Business Account, not by us. Activation and invoices live at
https://developers.wasync.app/billing.
Slots
A slot is capacity, not a phone number, and not something you bind to a customer:
- It attaches when a number actually pairs — creating a connection record does not consume one until then.
- Deleting a connection returns its slot to the pool carrying whatever time is left on it. The next number you connect picks it up automatically.
- That is what lets you move a paid slot from a departing customer to a new one without paying twice or asking anybody to intervene.
Check GET /account before you promise capacity: slots.available is what
POST /connections can still consume with an active licence, and
slots.nextExpiry is the date you have to renew before.
The trial
A new number starts on a 7-day trial the moment it pairs — whether it paired by scanning a QR or by typing a pairing code. Pairing by code consumes nothing extra: same slot, same trial.
When the licence lapses, the connection stops being reachable: it disappears
from GET /connections, events stop being delivered, and sends answer 402.
Warm-up caps on new qr numbers
A freshly paired qr number carries 72 hours of warm-up caps on hourly send
volume. Exceeding one returns 429 warmup_limited — an hourly cap, so back off
in minutes and do not hot-loop.
That is a separate limiter from the abuse limiter, which returns
429 rate_limited. Honour Retry-After when it is present, but always keep a
default back-off of your own: the header is not guaranteed on every 409/429.