POST /v1/whatsapp/messages/document for invoices, statements, and PDFs. Point at a publicly reachable media_url; WhatsApp fetches it at send time, so it must be reachable then and serve the correct Content-Type. Needs an open 24-hour window.
Endpoint
X-API-Key (required), Content-Type: application/json.
Fields
| Field | Type | Required | Notes |
|---|---|---|---|
media_url | string | one source | Public HTTPS URL to the document. |
file_id | string | one source | Uploaded media id (first-party). Use media_url for external integrations. |
filename | string | no | Recommended — the name and icon shown to the recipient, e.g. Invoice-A1234.pdf. |
caption | string | no | Optional, up to 1024 characters. |
to + sender | — | target | Customer number (E.164) and which of your numbers to send from. sender is optional when you have one active number. |
conversation_id | uuid | alt | Alternative to to + sender: an existing thread to reply in. |
Constraints
| Formats | PDF, Word (.doc/.docx), Excel (.xls/.xlsx), plain text (.txt) |
| Max size | 100 MB |
Example
cURL
{ message_id, status: "pending" }. Then track delivery. Build and send a live request from the Send a document reference page.