Everything Wazen does, from one API key.
09:4055 endpoints for messages, groups, channels, contacts, warming and webhooks, an MCP server with 52 tools for AI agents, and SDKs in four languages. Every plan gets all of it.
7 days free with every feature except number warming. No card.
Send text, photos, video, voice notes and documents.
09:41One endpoint sends any kind of message to any WhatsApp number. Messages are queued and delivered with pacing, and you can read the full history back.
- Text, image, video, audio and document messages
- Attach media by URL, or upload it as base64 up to 10 MB
- Message history you can filter by type, plus single-message lookups
- Download photos and files people send you
Run groups and channels from your code.
09:42Create groups, manage who's in them and how they behave, and post to WhatsApp channels, all through the same API.
- Create groups, add, remove, promote and demote members
- Invite links: create, revoke, look up and join
- Approve or reject join requests
- Group settings: admin-only messages, lock, disappearing messages, join approval
- Channels: create, post text and media, read posts, follow, mute and react
Check a number is on WhatsApp before you message it.
09:43Look up one number or up to 500 at once. Cleaning a list before you send keeps failed messages, and the risk to your number, down.
- Single number check with its WhatsApp ID
- Bulk check of up to 500 numbers in one request
Replies and delivery updates, pushed to your server.
09:44Subscribe a URL to the events you care about, for every number or just one. Failed deliveries are retried and every attempt is logged.
- 10 event types, from new messages to read receipts and connection changes
- HMAC-SHA256 signature on every delivery
- Automatic retries when your server returns an error
- Delivery logs, and a test delivery you can trigger for each webhook
New numbers start slowly, on purpose.
09:45WhatsApp is wary of new numbers that suddenly send a lot. Warming builds up a number's activity over 14 days, and every message, warmed or not, is paced with natural gaps. Warming is included on every paid plan.
- Start, pause, resume or cancel warming from the API or dashboard
- Daily progress, with a webhook when each day and the whole ramp completes
- Adaptive pacing on every send, free trial included
WarmingDay 14
messages a day100–200
52 WhatsApp tools for your AI agent.
09:46The built-in MCP server lets Claude, Cursor and any other MCP client do what the API does: send messages, read history, run groups and channels, and check numbers. It uses your normal API key.
MCP setup guide- Sessions (7)
- create_sessionlist_sessionsget_sessiondelete_sessionrestart_sessionget_qr_codefactory_reset_session
- Messages (3)
- send_messageget_messagesget_message
- Groups (14)
- list_groupscreate_groupget_groupupdate_groupleave_groupmanage_participantssend_group_messageget_group_inviterevoke_group_invitejoin_groupget_group_invite_infoupdate_group_settingslist_group_requestshandle_group_requests
- Channels (10)
- create_channelget_channelupdate_channeldelete_channelsend_to_channelfetch_channel_messagesfollow_channelunfollow_channelmute_channelunmute_channel
- Contacts (2)
- check_contactbulk_check_contacts
- Warming (5)
- start_warmingget_warming_statuspause_warmingresume_warmingcancel_warming
- Webhooks (5)
- list_webhookscreate_webhookupdate_webhookdelete_webhooktest_webhook
- Account (3)
- get_accountget_usagecancel_subscription
- API Keys (3)
- create_api_keylist_api_keysrevoke_api_key
Official SDKs, or plain HTTP.
09:47Install one line and send. For anything else there's an OpenAPI spec in JSON and YAML.
TypeScript / Node.js
$ npm install @wazen/sdk
@wazen/sdkPython
$ pip install wazen
wazen.NET / C#
$ dotnet add package Wazen
WazenPHP / Laravel
$ composer require wazen/sdk
wazen/sdk
Careful with your keys and your customers' messages.
09:48- Keys you control
- API keys are shown once, stored only as SHA-256 hashes, and can be revoked at any time.
- Encrypted at rest
- Message content and each number's WhatsApp login are encrypted with AES-256-GCM.
- Signed webhooks
- Every delivery carries an HMAC-SHA256 signature of its body, so you can check it came from Wazen.
- Paced sending
- Every message is queued and sent with natural gaps, so one burst from your code doesn't put your number at risk.
All 55 endpoints, on one screen.
09:49Nothing on this page is a roadmap item. Each line below is live today and documented with request, response and code examples.
Sessions
Messages
Groups
- GET
/ sessions/ :id/ groups - POST
/ sessions/ :id/ groups - GET
/ sessions/ :id/ groups/ :groupId - PUT
/ sessions/ :id/ groups/ :groupId - DELETE
/ sessions/ :id/ groups/ :groupId - POST
/ sessions/ :id/ groups/ :groupId/ participants - POST
/ sessions/ :id/ groups/ :groupId/ messages - GET
/ sessions/ :id/ groups/ :groupId/ invite - DELETE
/ sessions/ :id/ groups/ :groupId/ invite - GET
/ sessions/ :id/ groups/ :groupId/ requests - POST
/ sessions/ :id/ groups/ :groupId/ requests - PUT
/ sessions/ :id/ groups/ :groupId/ settings - GET
/ sessions/ :id/ groups/ invite-info - POST
/ sessions/ :id/ groups/ join
Channels
- POST
/ sessions/ :id/ channels - GET
/ sessions/ :id/ channels - POST
/ sessions/ :id/ channels/ :chId/ messages - GET
/ sessions/ :id/ channels/ :chId/ messages - GET
/ sessions/ :id/ channels/ :chId - PUT
/ sessions/ :id/ channels/ :chId - DELETE
/ sessions/ :id/ channels/ :chId - POST
/ sessions/ :id/ channels/ :chId/ follow - DELETE
/ sessions/ :id/ channels/ :chId/ follow - POST
/ sessions/ :id/ channels/ :chId/ mute - DELETE
/ sessions/ :id/ channels/ :chId/ mute - POST
/ sessions/ :id/ channels/ :chId/ messages/ :msgId/ react