Recommended flow
Create the instance
Call
PUT /instances/create with JWT to create the instance and receive id and token.Ensure billing
Use
POST /instances/{id}/subscribe to activate the subscription (default API direct flow with a default card on file).Pair WhatsApp
Call
GET /instances/{id}/session/qr (repeat until pairing completes) or use GET /instances/{id}/session/paircode/{phone} for the phone-code flow. This starts the worker flow; there is no separate connect call.Short example
What to expect at each step
create: returns the instance token and initial commercial status.subscribe: in normal API usage, returnsmode: "direct"when the subscription is created with the default card.session/qr: when the WhatsApp account is not authenticated yet, returns aQRCodedata URL; repeat theGETuntil pairing completes.session/status: returns onlydata.connected:truewhen the instance is connected to WhatsApp (account authenticated),falseotherwise.
Cancellation and resume
- Use
PUTorDELETE /instances/{id}/cancelto cancel the instance via the public API. - Use
POST /instances/{id}/resume-subscriptionto reverse an end-of-period cancellation if you scheduled one.
After onboarding
When the instance is active and connected, you can:- configure and query the webhook;
- send messages, files, links, lists, and buttons;
- query users, groups, contacts, and message queues;
- use
session/statusto check WhatsApp connectivity and monitor queues via the queue endpoints.

