curl --request POST \
--url https://api.clapvo.com/chat/api/v1/public/message/send \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"from": "918495632548",
"message": {
"type": "message",
"message": "ok public"
},
"to": "918965742135"
}
'{
"success": true,
"code": "HC-1",
"name": "success_200",
"data": {
"state": "QUEUED"
},
"message": "Request was successful."
}Send a message
Send a WhatsApp message from one of your connected numbers to a recipient.
This single endpoint sends every message type — text, image, document, video, and audio. The message.type field decides which one is sent. Text messages use message.message for the text; media messages add a message.media object instead. Use the Examples dropdown in the request panel to switch between message types.
On success the message is queued for delivery and the response returns state: "PUBLISHED".
curl --request POST \
--url https://api.clapvo.com/chat/api/v1/public/message/send \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"from": "918495632548",
"message": {
"type": "message",
"message": "ok public"
},
"to": "918965742135"
}
'{
"success": true,
"code": "HC-1",
"name": "success_200",
"data": {
"state": "QUEUED"
},
"message": "Request was successful."
}Status codes
Each response returns a standard HTTP status code so you can tell what happened at a glance.| Code | Status | Description |
|---|---|---|
200 | Success | Message queued for delivery |
400 | Bad Request | Invalid or missing required parameters |
401 | Unauthorized | Invalid or expired API token |
403 | Access denied | The token lacks permission for this action |
404 | Connection not found | The from number is not a connection on your account |
Authorizations
Your Clapvo API token. Pass it in the x-api-key request header.
Body
Sender's WhatsApp number — the number the message is sent from. Must be a WhatsApp number connected to your Clapvo account. Use international format with the country code and no leading +, spaces, or dashes (e.g. 918495632548 for +91 84956 32548).
"918495632548"
Recipient's WhatsApp number — the number the message is sent to. Use the same international format as from: country code, no leading +, spaces, or dashes.
"918965742135"
The message content. Its fields change with message.type: text messages use type + message, while media messages use type + a media object.
Hide child attributes
Hide child attributes
What kind of message to send. This controls the rest of the payload:
message— plain text. Put the text inmessage.message; nomedia.image— a photo. Include amediaobject.document— a file such as a PDF. Include amediaobject.video— a video clip. Include amediaobject.audio— an audio clip or voice note. Include amediaobject.
message, image, document, video, audio The text body of the message. Required for the message (text) type — this is the text the recipient receives. Not used for media types; put any visible text in the media object's caption instead.
"ok public"
The file to attach. Required for image, document, video, and audio types; omit it for text messages.
Hide child attributes
Hide child attributes
The file name shown to the recipient, including its extension (e.g. .jpg, .pdf, .mp4, .mp3). Required.
"pdf-test.pdf"
A publicly accessible URL Clapvo downloads the file from before sending. Must be reachable without authentication. Required.
"https://clapvo-space.nyc3.cdn.digitaloceanspaces.com/.../pdf_test_1782191111069.pdf"
Optional text shown beneath the media (ignored for audio). Send an empty string "" for no caption.
Response
Success — message queued for delivery.
Whether the request succeeded.
true
Clapvo status code.
"HC-1"
Machine-readable status name.
"success_200"
Hide child attributes
Hide child attributes
The delivery state of the message. QUEUED means Clapvo has accepted your request and added the message to the sending queue — messages are dispatched one by one, so this confirms receipt, not final delivery. To verify whether a message was actually sent, check your API logs in Clapvo.
"QUEUED"
Human-readable status message.
"Request was successful."