Send a document
POST /v1/messages/document — any file, sent as an attachment.
Notes
- Set
filename. It is the name the recipient sees and the name they get if they save the file. Without it the name is taken from the link, which is often something likedownload.phpor a long signed-URL blob. filenameis capped at 255 characters. Slashes (/and\) and control characters are rejected, as are.and..on their own. Nothing is silently rewritten — an unsafe name comes back as400 invalid_request.captionis shown with the file and capped at 1,024 characters.mime_typeis an optional hint such asapplication/pdf.
Example — an invoice
Authorizations
Your API key, sent in an apikey request header. Never in the URL, never as a Bearer token.
Body
Which of your connected numbers to send FROM. Copy it from your numbers screen in the portal, or from GET /v1/instances. It must belong to your account.
"3f9c1a2b-7d4e-4c81-9f0a-2b6d5e8c1a34"
The recipient, with country code and no leading zero — for example 919876543210. Spaces, dashes, brackets and a leading + are accepted and stripped; 6 to 15 digits must remain.
"919876543210"
A public http(s) link to the file. There is no upload endpoint — we fetch the file from this link, so it must be reachable from the internet and be a direct link to the file itself, not a preview or share page. Private, internal and loopback addresses are refused, as are links containing a username or password.
2048"https://example.com/receipt-2043.png"
The name the recipient sees, for example invoice-2043.pdf. Up to 255 characters. Slashes and control characters are rejected, as are . and ... If you omit it, the name is taken from the link.
255"invoice-2043.pdf"
Text shown with the file. Up to 1,024 characters.
1024"Your receipt"
Optional content-type hint such as application/pdf. It is checked for the shape type/subtype only — we do not verify it matches the file. Usually you can leave it out.
128"application/pdf"
Send this message as a reply, quoting an earlier one. Use the data.message_id returned by a previous send.
128"3EB0C1D2F4A5B6C7D8E9"
Set true when the quoted message is one you sent from this number. Only valid together with quoted_message_id.