How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

SendPulse WhatsApp Chatbot API

WhatsApp Business chatbots — bots, subscribers, variables, flows, campaigns, chats and pre-approved template messages.

SendPulse WhatsApp Chatbot API is one of 19 APIs that SendPulse publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Chatbots, WhatsApp, and Messaging. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an API reference.

This API exposes 46 operations across 46 paths, organized into 10 resource areas, and defines 12 schemas. It is described by OpenAPI 3.1.2, at version 0.0.1.

Requests are made against a single base URL, https://api.sendpulse.com/whatsapp.

46 operations 46 paths 12 schemas 16 GET27 POST3 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.2
API Version
0.0.1
Base URL
https://api.sendpulse.com/whatsapp
Authentication
HTTP Bearer, OAuth 2.0, OAuth 2.0
Resource Areas
10

Authentication & Security 3

SendPulse WhatsApp Chatbot API declares 3 security schemes for authenticating requests. It accepts HTTP bearer tokens (API Key) (apiKey). It supports OAuth 2.0 (outh2) using the clientCredentials flow. It supports OAuth 2.0 (oauth2) using the clientCredentials flow. By default, every request must be authenticated.

  • apiKey — Static API Key authentication. A long-lived token generated manually in the SendPulse account settings.
  • outh2 — OAuth 2.0 Client Credentials flow for temporary access tokens.
  • oauth2 — OAuth 2.0 Client Credentials flow for temporary access tokens.

Paths & Operations 46

Across 46 paths, the API surfaces 46 operations — 16 GET, 27 POST, 3 PUT. They span 10 resource areas: contacts, flows, triggers, bots, chats, variables, campaigns, account, templates, tags. Each is listed below with its method, path, parameters, and response codes.

contacts 31

(subscribers)

POST
/contacts
Create new contact
createContact body → 200
GET
/contacts/get
Get contact info via a contact ID
getContactById 1 param → 200
GET
/contacts/getByPhone
Get contact info by phone number
getContactByPhone 2 params → 200
GET
/contacts/getByTag
Get a list of contacts by tag
getContactsByTag 4 params → 200
GET
/contacts/getByVariable
Get contacts by variable
getContactsByVariable 6 params → 200
PUT
/contacts/mark-read
Mark messages as read
markContactMessagesAsRead 1 param → 200
PUT
/contacts/mark-unread
Mark a chat with the contact as unread
markContactChatUnread 1 param → 200
POST
/contacts/send
Send a message to a contact
sendContactMessage body → 200
POST
/contacts/sendByPhone
Send a free message to a contact by phone number
sendMessageToContactByPhone body → 200
POST
/contacts/sendTemplate
Send a template message to the specified contact
sendTemplateToContact body → 200
POST
/contacts/sendTemplateByPhone
Send a template message to a contact by phone number
sendTemplateByPhone body → 200
POST
/contacts/sendTyping
Send typing indicator
sendContactTyping body → 200
POST
/contacts/setVariable
Assign a variable to contact
setContactVariable body → 200
POST
/contacts/deleteVariable
Delete a variable the selected contact
deleteContactVariable body → 200
POST
/contacts/setTag
Assign a tag to contact
setContactTag body → 200
POST
/contacts/deleteTag
Remove a tag from a contact
deleteContactTag body → 200
POST
/contacts/disable
Disable contact
disableContact body → 200
POST
/contacts/enable
Enable contact
enableContact body → 200
POST
/contacts/delete
Delete contact
deleteContact body → 200
GET
/contacts/getPauseAutomation
Get remaining time for automation pause
getContactPauseAutomation 1 param → 200
POST
/contacts/setPauseAutomation
Pause autoflows for a contact
setPauseAutomation body → 200
POST
/contacts/deletePauseAutomation
Resume autoflows for a contact
deletePauseAutomation body → 200
GET
/contacts/notes
Get a list of contact's operator notes
getContactNotes 2 params → 200
POST
/contacts/createNote
Send operator note
createContactNote body → 200
POST
/contacts/updateNote
Update operator note
updateContactNote body → 200
POST
/contacts/deleteNote
Update operator note
deleteContactNote body → 200
POST
/contacts/operators/assign
Assign a responsible for the chat.
assignContactOperator body → 200
POST
/contacts/operators/unAssign
Unassign responsible operators for the chat.
unAssignContactOperators body → 200
POST
/contacts/setName
Set the contact's name
setContactName body → 200
POST
/contacts/openChat
Open chat for a contact
openContactChat body → 200
POST
/contacts/closeChat
Close chat for a contact
closeContactChat body → 200
flows 3
GET
/flows
Get a list of flows
listFlows 3 params → 200
POST
/flows/run
Run a flow by its ID
runFlow body → 200
POST
/flows/runByTrigger
Run a flow by trigger keywords
runFlowByTrigger body → 200
triggers 1

(keywords)

GET
/triggers
Get a list of triggers
getTriggers 3 params → 200
bots 2
GET
/bots
Get a list of connected bots
listBots 2 params → 200
GET
/bots/statistics
Get general statistics info by bot
getBotStatistics 1 param → 200
chats 3
GET
/chats
Get a list of chats
getChats 3 params → 200
GET
/chats/messages
Get a list of messages
getChatMessages 5 params → 200
PUT
/chats/react
React to a message
reactToChatMessage body → 200
variables 1
GET
/variables
Get a list of variables
getBotVariables 3 params → 200
campaigns 2

(broadcasts)

POST
/campaigns/send
Send campaign
sendCampaign body → 200
POST
/campaigns/sendTemplate
Send a campaign by template
sendTemplateCampaign body → 200
account 1
GET
/account
Get account info
getAccount → 200
templates 1
GET
/templates
Get a template list
getTemplateList 1 param → 200
tags 1
GET
/tags
Get a list of tags
listTags 3 params → 200

Schemas 12

The contract defines 12 schemas that model the data the API accepts and returns. The most detailed are Template (10 properties), Message (10 properties), Contact (10 properties), Trigger (9 properties). Each schema is shown below with its type and property counts.

SuccessResponse
object
2 properties
Account
object
2 properties
Bot
object
5 properties
Contact
object
10 properties
Variable
object
8 properties
Flow
object
6 properties
Trigger
object
9 properties
Campaign
object
7 properties
Chat
object
3 properties
Message
object
10 properties
Template
object
10 properties
Tag
object
4 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

sendpulse-whatsapp-openapi.yml Raw ↑

Other APIs SendPulse publishes across the network.

SendPulse Bulk Email API
SendPulse SMTP API
SendPulse SMS API
SendPulse CRM Public API
SendPulse Automation 360 API
SendPulse Chatbots Service API
SendPulse Telegram Chatbot API
SendPulse Facebook Messenger Chatbot API
SendPulse Instagram Chatbot API
SendPulse Viber Chatbot API
SendPulse TikTok Chatbot API
SendPulse LiveChat API
Where this information came from

This is an independent, third-party profile of SendPulse WhatsApp Chatbot API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.