Skip to main content
POST
/
api
/
v1
/
messages
/
send
/
document
Send Document Message
curl --request POST \
  --url https://api.example.com/api/v1/messages/send/document \
  --header 'Content-Type: application/json' \
  --data '
{
  "phone_number": "<string>",
  "whatsapp_account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'
{
  "success": true,
  "message_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "status": "<string>",
  "run_id": "<string>"
}

Documentation Index

Fetch the complete documentation index at: https://docs.wazzapi.com/llms.txt

Use this file to discover all available pages before exploring further.

Headers

Authorization
string | null

Body

application/json

Request to send a direct message.

phone_number
string
required

Recipient phone number in E.164 or local WhatsApp format.

Required string length: 5 - 50
whatsapp_account_id
string<uuid>
required
content
string | null

Message text body. Required unless template_id supplies the content.

Minimum string length: 1
template_id
string<uuid> | null
custom_variables
Custom Variables · object

Template variables merged into the outgoing content before queueing.

message_type
string
default:text

Outbound object type. Supported values: text, image, video, voice, document, location, contact.

media_type
string | null

Optional media type hint, typically image, video, document, or audio.

media_url
string | null

Publicly fetchable URL for media/document payloads.

caption
string | null

Optional caption for image, video, and document messages.

latitude
number | null

Latitude for location messages.

longitude
number | null

Longitude for location messages.

location_title
string | null

Display label sent with a location pin.

location_address
string | null

Optional address or fallback label for location messages.

contacts
Contacts · object[] | null

Contact cards for contact messages. The first item is serialized to a vCard for delivery.

contact_id
string<uuid> | null
scheduled_for
string<date-time> | null

Optional future delivery time. When set, the API returns status=scheduled instead of queueing immediately.

validate_phone
boolean
default:false

When true, validate the destination phone before accepting the request.

status_callback_url
string | null

Reserved callback URL for downstream status delivery integrations.

Response

Successful Response

Response from sending a message.

success
boolean
required
message_id
string<uuid>
required
status
string
required
run_id
string | null