Home/Developers
Build on WhatsApp with the BotPulsar API
Send messages, manage contacts and conversations, and get notified the moment a customer replies — a scoped REST API with signed webhooks, the same one the BotPulsar app itself runs on.
The BotPulsar API lets an integration create contacts, start conversations, and
send WhatsApp messages using a scoped API key, and subscribe a webhook to receive
delivery status and inbound replies in real time. Every request is HTTPS, versioned under
/api/v1/, and answers {"error":{"code":...,"details":...}} on
failure.
Three ways to integrate
Same workspace, same WhatsApp number — choose by how much control you need.
One call from your app
ERP, billing or CRM that just needs to send a template. POST a number and
a template; contact and conversation are handled for you.
Full control
Contacts, conversations, messages, API campaigns, automations and webhooks — build an inbox, a bot or a sync job.
No code
Zapier, Make, n8n or Google Sheets: an HTTP request with two headers is all it takes.
From zero to a delivered message
-
Create or find a contact
POST /api/v1/contacts/with a phone number. Calling it twice with the same number returns the existing contact instead of duplicating it. -
Start a conversation
POST /api/v1/conversations/with that contact and the channel to send from. Calling it twice returns the existing open conversation. -
Send the message
POST /api/v1/conversations/{id}/messages/with the text, or a template name if it's the first message in a new 24-hour window.
What's live today
BotPulsar is opening its API surface in stages. Here's exactly what an API key can and can't do right now.
Live with an API key
Contacts (create, read, update) · Conversations (create, read) · Messages (text, template and media; read history) · Templates (read approved templates and variables) · API campaigns (create, send, metrics) · Automation triggers · Webhooks (subscribe, rotate secret, delivery log, replay) · One-call Simple send API.
Dashboard-only for now
Media upload/download, analytics, listing automations, and creating or editing single templates don't accept API keys yet — they're scope names already reserved (see Authentication) but no endpoint checks them today. Manage those from the BotPulsar dashboard.
Where to go next
Quickstart
Get an API key and send your first message, with copy-pasteable curl.
Authentication
The Authorization header, X-Tenant-ID, and every scope explained.
API reference
Every endpoint with scope, fields, curl and response.
Simple send API
One key, one call — the easiest way to send from an ERP, billing app or CRM.
Webhooks
Subscribe to events and verify the signature on every delivery.
Code examples
Python, Node.js, PHP, Google Sheets, Zapier, Make and n8n.
Errors & rate limits
The error envelope, status codes, and how throttling responds.
Postman collection
Import every endpoint and try it with your key in a minute.
Interactive reference
Every endpoint and field, generated from the live OpenAPI schema.
Partner API
For software vendors giving each customer their own WhatsApp number.
Talk to us
Need a scope that isn't live yet, or higher rate limits? Ask.
Common questions
Do I need my own Meta Business Account to use the API?
Yes. BotPulsar connects to a WhatsApp Business Account (WABA) you or your customer owns in Meta Business Manager — the API sends and reads messages through that connection, it does not replace it. Connect a channel from the dashboard before calling the API against it.
Can external partners send WhatsApp messages through the API today?
Yes, with a scoped API key: create or look up a contact, create a conversation, then send a message. See the Quickstart for the three calls in order.
Is this the same API the BotPulsar app itself uses?
It's the same endpoints, authenticated a different way. The product UI signs in as a person and gets a session; an API integration authenticates as a scoped API key tied to one workspace, with only the scopes you grant it.
What can't I do with an API key yet?
Media upload and download, analytics, listing automations, and creating or editing individual templates are not opened to API keys yet — use the dashboard for those (an image or document you send by API is picked from your Media library by id). Contacts, conversations, messages, template reads, API campaigns, automation triggers and webhooks are live.
I just want my ERP or billing app to send a WhatsApp message. What is the easiest way?
Use the Simple send API: one key, one call. POST /api/v1/partner-api/workspace/messages/ with to, a template (or text) and an idempotency_key. It finds or creates the contact and conversation for you and needs no X-Tenant-ID.
Can I use it from Zapier, Make, n8n or Google Sheets?
Yes — any tool that can make an HTTPS request with custom headers works, and any tool that can receive a webhook can listen for replies. The Code examples page has step-by-step recipes and a Postman collection to try every call first.
I use AiSensy today. Do I have to rewrite my integration?
Usually not. The API campaign send endpoint accepts AiSensy's field names (campaignName, userName, templateParams), so you change the URL and the key.
Is there a sandbox or test mode?
No separate sandbox — API keys are scoped to a real workspace and a real connected WhatsApp number. Meta's own 24-hour session window and template rules apply the same way they do in the dashboard, so test with a number you control before going live.
Where do I get help if a call isn't behaving as documented?
Email support@botpulsar.com with the request's X-Botpulsar-Delivery or response error.code, and which endpoint — that's enough for us to find the exact request server-side.