Example request and response for POST /v1/messages.
POST /v1/messages
Send a message through a specific channel.
application/json.to. Prefer to in new integrations.text.to for the destination phone number. to_phone is still accepted as a compatibility alias.
type valuestype | Required content fields | Notes |
|---|---|---|
text | body or text | content.text can be a string or object with body. |
image | media_url | Supports optional caption. |
video | media_url | Supports optional caption. |
audio | media_url | Audio is sent as media payload. |
document | media_url | Supports optional caption and file_name. |
template | template.name, template.language.code, template.components | Uses approved template content. |
buttons | body, buttons | Interactive buttons. |
list | body, button_text, sections | Interactive list picker. |
location | name, address, latitude, longitude | Sends a location pin. |
location_request | body or text | Asks the user to share a location. |
contact | full_name, phone | Supports optional organization. |
reaction | message_id, reaction | Supports optional from_me and participant. |
mark_as_read | message_id | Marks a provider message as read. |
image, video, audio, and document, Wazapin accepts these compatibility aliases:
| Canonical field | Accepted aliases | Notes |
|---|---|---|
media_url | media, url | Prefer media_url in public integrations. |
media_type | mediaType, type, mediatype | Usually optional because the API infers it from the top-level type. |
file_name | fileName | Useful mainly for document. |
content.body for new integrations.content.text is still accepted for backwards compatibility.content.reply_to.id. You can also include content.reply_to.participant when the provider requires it.type values such as cta_url, media_carousel, product_carousel, single_product, multi_product, catalog, link, poll, sticker, address, presence, edit_message, and delete_message.
These advanced payloads are available in the API implementation, but they are not yet covered by public getting-started guides.
text: Send text guidebuttons: Send buttons guidelist: Send list guideimage: Send image guidevideo: Send video guideaudio: Send audio guidedocument: Send document guidesticker: Send sticker guidelocation: Send location guidelocation_request: Request user location guidecontact: Send contact guidereaction: Send reaction guidemark_as_read: Mark messages as read guidetemplate: Send template guide