Skip to main content
POST
Send a video
Short demos, how-to clips, delivery proof.
There is no file upload. You host the file at a public link and we fetch it from there. See Sending media.

Notes

  • url must be a public http(s) link directly to the video file. A link to a video page — YouTube, Vimeo, a Drive preview — will not work; those serve HTML, not a file.
  • caption is shown under the video and is capped at 1,024 characters.
  • mime_type is an optional hint such as video/mp4.
  • MP4 with H.264 video and AAC audio is the combination WhatsApp handles most reliably.
  • Keep videos small. WhatsApp itself limits attachment sizes, and a large file makes the send slow and more likely to time out with 502 upstream_unavailable.

Example

cURL

Authorizations

apikey
string
header
required

Your API key, sent in an apikey request header. Never in the URL, never as a Bearer token.

Body

application/json
instance_id
string<uuid>
required

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.

Example:

"3f9c1a2b-7d4e-4c81-9f0a-2b6d5e8c1a34"

to
string
required

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.

Example:

"919876543210"

url
string
required

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.

Maximum string length: 2048
Example:

"https://example.com/receipt-2043.png"

caption
string

Text shown with the file. Up to 1,024 characters.

Maximum string length: 1024
Example:

"Your receipt"

mime_type
string

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.

Maximum string length: 128
Example:

"application/pdf"

quoted_message_id
string

Send this message as a reply, quoting an earlier one. Use the data.message_id returned by a previous send.

Maximum string length: 128
Example:

"3EB0C1D2F4A5B6C7D8E9"

quoted_from_me
boolean
default:false

Set true when the quoted message is one you sent from this number. Only valid together with quoted_message_id.

Response

Accepted for delivery.

success
boolean
data
object
request_id
string<uuid>