Skip to main content
POST

Authorizations

token
string
header
required

Body

application/json
number
string
required

ID of the chat the message will be sent to. Can be a phone number in international format, a group ID (@g.us), a user ID (with @s.whatsapp.net or @lid) or a channel/newsletter ID (@newsletter).

Example:

"5511999999999"

type
enum<string>
required

Media type (image, video, videoplay, document, audio, myaudio, ptt, ptv, sticker)

Available options:
image,
video,
videoplay,
document,
audio,
myaudio,
ptt,
ptv,
sticker
Example:

"image"

file
string
required

URL or base64 of the file

Example:

"https://exemplo.com/imagem.jpg"

text
string

Descriptive text (caption) - accepts placeholders

Example:

"Look at this photo!"

docName
string

Filename (only for documents)

Example:

"relatorio.pdf"

thumbnail
string

HTTP/HTTPS URL, Data URL, or base64 image for image, video, videoplay, ptv, and document. Up to 1 MiB and 4096 px per dimension. Takes priority over the automatic thumbnail; documents without this field do not get an automatic thumbnail.

Example:

"https://exemplo.com/thumb.jpg"

mimetype
string

File MIME type (optional, automatically detected)

Example:

"application/pdf"

replyid
string

ID of the message to reply to

Example:

"3EB0538DA65A59F6D8A251"

mentions
string

Numbers to mention (comma separated)

Example:

"5511999999999,5511888888888"

readchat
boolean

Marks chat as read after sending

Example:

true

readmessages
boolean

Marks latest received messages as read

Example:

true

delay
integer

Delay in milliseconds before sending; during delay 'Typing...' or 'Recording audio...' will appear

Example:

1000

forward
boolean

Marks the message as forwarded on WhatsApp

Example:

true

track_source
string

Message tracking source

Example:

"chatwoot"

track_id
string

ID for message tracking (accepts duplicate values)

Example:

"msg_123456789"

async
boolean

If true, sends the message asynchronously via the internal queue

Example:

false

viewOnce
boolean

Recommended for view-once media on compatible types (image, video, videoplay, ptv, audio, myaudio, ptt). On incompatible types, the field is silently ignored.

Example:

false

Response

Media sent successfully

Represents a message exchanged in the system

id
string<uuid>

Internal unique message ID (format r + 7 random hex characters)

messageid
string

Original message ID at the provider

chatid
string

Related conversation ID

sender
string

Message sender ID

senderName
string

Sender's display name

isGroup
boolean
default:false

Indicates whether it is a group message

fromMe
boolean
default:false

Indicates whether the message was sent by the user

messageType
string

Message content type

source
string

Message source platform

messageTimestamp
integer
default:0

Original message timestamp in milliseconds

status
string

Message lifecycle status. Common examples: Queued, Canceled, Failed, Sent, Delivered, Read. In group messages, it follows the most advanced participant: Delivered when at least one received it, Read when at least one read it, and Played when at least one listened to it.

text
string
default:""

Original message text

quoted
string
default:""

ID of the quoted/replied message

edited
string
default:""

Message edit history

reaction
string
default:""

ID of the reacted message

vote
string
default:""

Poll and list voting data

convertOptions
string
default:""

Conversion of message options, list, poll and buttons

buttonOrListid
string
default:""

ID of the selected button or list item

owner
string
default:""

Message owner

error
string
default:""

Error message if sending failed

content

Raw message content (serialized JSON or text)

wasSentByApi
boolean

Indicates whether the message was sent via API

pinned
boolean

Message pinned in the conversation (pin and unpin also arrive in messages_update, types Pinned and Unpinned)

sendFunction
string

Function used to send the message (when sent via API)

sendPayload

Payload used in the send when available. Base64 media data is omitted.

fileURL
string

Message file URL or reference

callPeer
object

Known contact associated with a call, when available in messageType: call.

send_folder_id
string

Folder associated with the send (when applicable)

track_source
string

Tracking source

track_id
string

Tracking ID (may repeat)

ai_metadata
object

Record of an AI round. The full one (request to the model, response, and outcome) is stored once, on the contact's last message that the round replied to, even when nothing went out (error, discarded response). Each message sent by the AI carries only agent_id and turn (the id of that contact message).

sender_pn
string | null

Sender's resolved PN JID (when available)

sender_lid
string | null

Sender's original LID (when available)

sender_image_preview_url
string<uri>

Temporary preview URL of the sender, when known. Hydration in this version fills in messages received in groups; the field may be omitted. It does not trigger a photo query to WhatsApp during listing.

response
object