Send a message
POST /v1/messages requires to and kind, plus the matching payload: text, template, reaction, location, contacts or interactive. Image, audio, video, document and sticker use media. The reference lists each field and validation rule.
For media, supply an id or link. Audio does not accept caption/filename; video does not accept filename. Use replyToMessageId to reply to a message.
The response uses Watahub’s format, not Meta’s full response. messageId contains the wamid when Meta returns one. Track delivery through webhooks.
Upload and download
Upload withPOST /v1/media using multipart/form-data, or POST /v1/media/{id} with a phone number ID. Outside the path, use a documented phone selector such as X-Phone-Number-Id.
GET /v1/media/{id} returns a temporary Meta URL, not bytes. That URL requires the number’s Meta token. Prefer GET /v1/media/{mediaId}/content to download through Watahub without exposing that token.
Only media uploaded or received by your tenant is accessible. Do not assume /v1 metadata includes Meta’s MIME type, checksum or file size.