Messages

Send a PTV (round video note)

Sends a PTV — a round "video note" that plays inside a circle, without caption. Supply the video as base64 or an HTTP(S) URL; non-MP4 sources are converted to MP4 automatically. For best results use a short (≤60s), ideally square clip. Replies are supported via 'quoted'. Migration-friendly field aliases are accepted: 'phone' (→number), 'ptv' (→videoUrl when it is an http URL, otherwise →video), and 'delayMessage' (→delay).

POST
/send/ptv

Sends a PTV — a round "video note" that plays inside a circle, without caption. Supply the video as base64 or an HTTP(S) URL; non-MP4 sources are converted to MP4 automatically. For best results use a short (≤60s), ideally square clip. Replies are supported via 'quoted'. Migration-friendly field aliases are accepted: 'phone' (→number), 'ptv' (→videoUrl when it is an http URL, otherwise →video), and 'delayMessage' (→delay).

Authorization

bearerAuth
AuthorizationBearer <token>

Per-user API token (UUID v4) sent as Authorization: Bearer <token>. Identifies the tenant and user.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/send/ptv" \  -H "Content-Type: application/json" \  -d '{    "number": "5511999999999",    "videoUrl": "https://cdn.example.com/clips/nota.mp4",    "generateThumbnail": true  }'
{  "success": true,  "message_id": "3EB0XXXX5A6B7C8D9E0F",  "timestamp": "2026-06-19T14:18:02Z",  "status": "sent",  "chat_jid": "5511999999999@s.whatsapp.net",  "metadata": {    "device_id": "device-7f3a",    "user_id": "usr_01H9",    "processing_time_ms": 3120,    "video_size_bytes": 1048576,    "video_format": "video/mp4",    "video_duration_seconds": 8,    "upload_time_ms": 1900,    "was_converted": false,    "quoted_message_found": false,    "sent_at": "2026-06-19T14:18:02Z"  }}
{  "success": false,  "error": "validation failed",  "error_code": "VALIDATION_ERROR",  "timestamp": "2026-06-15T12:00:00Z"}
{  "success": false,  "error": "validation failed",  "error_code": "VALIDATION_ERROR",  "timestamp": "2026-06-15T12:00:00Z"}
{  "success": false,  "error": "validation failed",  "error_code": "VALIDATION_ERROR",  "timestamp": "2026-06-15T12:00:00Z"}
{  "success": false,  "error": "validation failed",  "error_code": "VALIDATION_ERROR",  "timestamp": "2026-06-15T12:00:00Z"}