Overview
Direct Send API simplifies WhatsApp Utility messaging by removing the need to pre-create templates. A single send endpoint (POST /messages) is used, and templates are generated automatically in the background from message content or from an optional caller-supplied name.
What it replaces
Standard Cloud API template messaging requires template creation, submission, and approval before sending. Direct Send lets a business send a business-initiated Utility message directly; WhatsApp auto-creates a matching template asynchronously.
Core APIs covered in this document
| # | API | Method & Endpoint | Purpose |
|---|---|---|---|
| 1 | Send Message (Direct Send) | POST /<PHONE_NUMBER_ID>/messages | Send a Utility message without a pre-approved template |
| 2 | Upload Message Samples | POST /<WABA_ID>/message_samples | Submit 3–4 sample payloads so Meta can classify and pre-build templates |
| 3 | Retrieve Direct Send Templates | GET /<WABA_ID>/message_templates?source=AUTO_GENERATED | List all templates auto-generated by Direct Send |
| 4 | Retrieve Flagged Templates | GET /<WABA_ID>/message_templates?source=AUTO_GENERATED&correct_category=... | List templates flagged as miscategorized (e.g. actually Marketing) |
Feature support matrix
| Category | Supported | Notes |
|---|---|---|
| Utility messages | Yes | Text, CTA URL button, reply buttons, mixed buttons, custom TTL, image/video/document header |
| Marketing messages | No | Not supported under Direct Send |
| Other formats | No | Address, audio, contacts, location, sticker, reaction messages; other media formats |
| Languages | All | All WhatsApp Cloud API languages supported |
Updated 18 days ago
Did this page help you?