

## Base URL

| URL | Description |
|-----|-------------|
| https://graph.facebook.com |  |

## APIs

| Method | Endpoint |
|--------|----------|
| POST | [/&#123;Version&#125;/&#123;Phone-Number-ID&#125;/messages](#post-version-phone-number-id-messages) |

&lt;jumplink id=&quot;post-version-phone-number-id-messages&quot;&gt;&lt;/jumplink&gt;
## POST /&#123;Version&#125;/&#123;Phone-Number-ID&#125;/messages

Send Message.

Send Message.

### Header Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| User-Agent | string |  | The user agent string identifying the client software making the request. |
| Authorization | string | ✓ | Bearer token for API authentication. This should be a valid access token obtained through the appropriate OAuth flow or system user token. |
| Content-Type | One of &quot;application/json&quot;, &quot;application/x-www-form-urlencoded&quot;, &quot;multipart/form-data&quot; | ✓ | Media type of the request body |

### Request Body (Optional)

**Content Type**: `application/json`

**Schema**: [Message](#message)

### Responses

**200**

Send Test Message / Send Text Message / Send Reply to Text Message / Send Reply with Reaction Message / Send Image Message by ID / Send Reply to Image Message by ID / Send Image Message by URL / Send Reply to Image Message by URL / Send Audio Message by ID / Send Reply to Audio Message by ID / Send Audio Message By URL / Send Reply to Audio Message by URL / Send Document Message by ID / Send Reply to Document Message by ID / Send Document Message by URL / Send Reply to Document Message by URL / Send Sticker Message By ID / Send Reply to Sticker Message by ID / Send Sticker Message By URL / Send Reply to Sticker Message by URL / Send Video Message By ID / Send Reply to Video Message by ID / Send Video Message By URL / Send Reply to Video Message by URL / Send Contact Message / Send Reply to Contact Message / Send Location Messages / Send Reply to Location Message / Send Message Template Text / Send Message Template Media / Send Interactive Message Template / Send List Message / Send Reply to List Message / Send Reply Button / Send Single Product Message / Example response / Example response / Send Draft Flow by Name / Send Draft Flow by ID / Send Published Flow by Name / Send Published Flow by ID / Send Flow Template Message / Send typing indicator and read receipt / Send Sample Text message / Send Sample Shipping Confirmation Template / Send Sample Issue Resolution Template

**Content Type**: `application/json`

**Schema**: [MessageResponsePayload](#messageresponsepayload)


# Components

## Schemas

&lt;jumplink id=&quot;basemessageproperties&quot;&gt;&lt;/jumplink&gt;
### BaseMessageProperties

Common properties shared by all message types

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| messaging_product | string | ✓ |  |
| recipient_type | One of &quot;individual&quot;, &quot;group&quot; | ✓ | The type of recipient. |
| to | string | ✓ | The recipient&#039;s phone number for individual messages, and group-id for group message. |
| type | string | ✓ | The type of message |
| context | [MessageContext](#messagecontext) |  |  |

&lt;jumplink id=&quot;messagecontext&quot;&gt;&lt;/jumplink&gt;
### MessageContext

Context information for replying to a message

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| message_id | string |  | The ID of the message to which this message is a reply. |

&lt;jumplink id=&quot;mediaobject&quot;&gt;&lt;/jumplink&gt;
### MediaObject

A media object. Either `id` or `link` is required.

**Type**: object

&lt;jumplink id=&quot;message&quot;&gt;&lt;/jumplink&gt;
### Message

&lt;jumplink id=&quot;textmessage&quot;&gt;&lt;/jumplink&gt;
### TextMessage

&lt;jumplink id=&quot;audiomessage&quot;&gt;&lt;/jumplink&gt;
### AudioMessage

&lt;jumplink id=&quot;videomessage&quot;&gt;&lt;/jumplink&gt;
### VideoMessage

&lt;jumplink id=&quot;documentmessage&quot;&gt;&lt;/jumplink&gt;
### DocumentMessage

&lt;jumplink id=&quot;imagemessage&quot;&gt;&lt;/jumplink&gt;
### ImageMessage

&lt;jumplink id=&quot;locationmessage&quot;&gt;&lt;/jumplink&gt;
### LocationMessage

&lt;jumplink id=&quot;stickermessage&quot;&gt;&lt;/jumplink&gt;
### StickerMessage

&lt;jumplink id=&quot;reactionmessage&quot;&gt;&lt;/jumplink&gt;
### ReactionMessage

&lt;jumplink id=&quot;interactivemessage&quot;&gt;&lt;/jumplink&gt;
### InteractiveMessage

&lt;jumplink id=&quot;interactiveobject&quot;&gt;&lt;/jumplink&gt;
### InteractiveObject

An object containing the content for an interactive message.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| type | One of &quot;button&quot;, &quot;call_permission_request&quot;, &quot;catalog_message&quot;, &quot;list&quot;, &quot;product&quot;, &quot;product_list&quot;, &quot;flow&quot; | ✓ | The type of interactive message to send. |
| header | [HeaderObject](#headerobject) |  |  |
| body | [BodyObject](#bodyobject) |  |  |
| footer | [FooterObject](#footerobject) |  |  |
| action | [ActionObject](#actionobject) | ✓ |  |

&lt;jumplink id=&quot;headerobject&quot;&gt;&lt;/jumplink&gt;
### HeaderObject

Header content displayed on top of a message. Required for &#039;product_list&#039; type. Cannot be set for &#039;product&#039; type.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| type | One of &quot;text&quot;, &quot;video&quot;, &quot;image&quot;, &quot;document&quot; | ✓ | The header type. |
| text | string |  | Text for the header. Required if &#039;type&#039; is &#039;text&#039;. Emojis supported, no markdown. |
| sub_text | string |  | Optional sub-text for the header. Emojis supported, no markdown. |
| document | [MediaObject](#mediaobject) |  | Contains the media object for this document. Required if &#039;type&#039; is &#039;document&#039;. |
| image | [MediaObject](#mediaobject) |  | Contains the media object for this image. Required if &#039;type&#039; is &#039;image&#039;. |
| video | [MediaObject](#mediaobject) |  | Contains the media object for this video. Required if &#039;type&#039; is &#039;video&#039;. |

&lt;jumplink id=&quot;bodyobject&quot;&gt;&lt;/jumplink&gt;
### BodyObject

An object with the body of the message. Optional for &#039;product&#039; type, required for other interactive message types.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| text | string | ✓ | The content of the message body. Emojis and markdown are supported. |

&lt;jumplink id=&quot;footerobject&quot;&gt;&lt;/jumplink&gt;
### FooterObject

An object with the footer of the message. Optional.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| text | string | ✓ | The footer content. Emojis, markdown, and links are supported. |

&lt;jumplink id=&quot;actionobject&quot;&gt;&lt;/jumplink&gt;
### ActionObject

Action you want the user to perform after reading the message. Its structure varies by interactive message type.

**Type**: object

&lt;jumplink id=&quot;sectionobject&quot;&gt;&lt;/jumplink&gt;
### SectionObject

A section object, used in List Messages and Multi-Product Messages.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| title | string |  | Title of the section. Required if the message has more than one section. Max 24 characters. |
| product_items | array of [Product_items](#object-product_items-1) |  | Array of product objects. |
| rows | array of [Rows](#object-rows-2) |  | Contains a list of rows. |

&lt;jumplink id=&quot;templatemessage&quot;&gt;&lt;/jumplink&gt;
### TemplateMessage

&lt;jumplink id=&quot;contactsmessage&quot;&gt;&lt;/jumplink&gt;
### ContactsMessage

&lt;jumplink id=&quot;contactobject&quot;&gt;&lt;/jumplink&gt;
### ContactObject

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| addresses | array of [AddressObject](#addressobject) |  | Full contact address(es) |
| birthday | string (date) |  | Date of birth (YYYY-MM-DD format) |
| emails | array of [EmailObject](#emailobject) |  | Contact email address(es) |
| name | [NameObject](#nameobject) |  | Contact name object |
| org | [OrganizationObject](#organizationobject) |  | Contact organization information |
| phones | array of [PhoneObject](#phoneobject) |  | Contact phone number(s) |
| urls | array of [UrlObject](#urlobject) |  | Contact URL(s) |

**Additional Properties**: Not allowed

&lt;jumplink id=&quot;addressobject&quot;&gt;&lt;/jumplink&gt;
### AddressObject

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| city | string |  | City name |
| country | string |  | Full country name |
| country_code | string |  | Two-letter ISO country code |
| state | string |  | State abbreviation |
| street | string |  | Street address |
| type | One of &quot;HOME&quot;, &quot;WORK&quot; |  | Address type |
| zip | string |  | ZIP code |

**Additional Properties**: Not allowed

&lt;jumplink id=&quot;emailobject&quot;&gt;&lt;/jumplink&gt;
### EmailObject

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| email | string (email) | ✓ | Email address |
| type | One of &quot;HOME&quot;, &quot;WORK&quot; |  | Email type |

**Additional Properties**: Not allowed

&lt;jumplink id=&quot;nameobject&quot;&gt;&lt;/jumplink&gt;
### NameObject

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| first_name | string |  | First name |
| formatted_name | string |  | Formatted full name |
| last_name | string |  | Last name |
| middle_name | string |  | Middle name |
| prefix | string |  | Name prefix |
| suffix | string |  | Name suffix |

**Additional Properties**: Not allowed

&lt;jumplink id=&quot;organizationobject&quot;&gt;&lt;/jumplink&gt;
### OrganizationObject

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| company | string |  | Company name |
| department | string |  | Department name |
| title | string |  | Job title |

**Additional Properties**: Not allowed

&lt;jumplink id=&quot;phoneobject&quot;&gt;&lt;/jumplink&gt;
### PhoneObject

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| phone | string | ✓ | Phone number |
| type | One of &quot;HOME&quot;, &quot;WORK&quot; |  | Phone type |
| wa_id | string |  | WhatsApp ID |

**Additional Properties**: Not allowed

&lt;jumplink id=&quot;urlobject&quot;&gt;&lt;/jumplink&gt;
### UrlObject

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| type | One of &quot;HOME&quot;, &quot;WORK&quot; |  | URL type |
| url | string (uri) | ✓ | URL |

**Additional Properties**: Not allowed

&lt;jumplink id=&quot;messageresponsepayload&quot;&gt;&lt;/jumplink&gt;
### MessageResponsePayload

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| contacts | array of [Contacts](#object-contacts-3) |  |  |
| messages | array of [Messages](#object-messages-4) |  |  |
| messaging_product | string |  |  |

&lt;jumplink id=&quot;markmessagerequestpayload&quot;&gt;&lt;/jumplink&gt;
### MarkMessageRequestPayload

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| message_id | string | ✓ |  |
| messaging_product | string | ✓ |  |
| status | string | ✓ |  |

&lt;jumplink id=&quot;markmessageresponsepayload&quot;&gt;&lt;/jumplink&gt;
### MarkMessageResponsePayload

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| success | boolean |  |  |

## Inline Object Definitions

&lt;jumplink id=&quot;object-product_items-1&quot;&gt;&lt;/jumplink&gt;
### Product_items

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| product_retailer_id | string | ✓ | Unique identifier of the product in a catalog. |

&lt;jumplink id=&quot;object-rows-2&quot;&gt;&lt;/jumplink&gt;
### Rows

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| id | string | ✓ | Unique row identifier. |
| title | string | ✓ | Row title. |
| description | string |  | Optional row description. |

&lt;jumplink id=&quot;object-contacts-3&quot;&gt;&lt;/jumplink&gt;
### Contacts

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| input | string |  |  |
| wa_id | string |  |  |

&lt;jumplink id=&quot;object-messages-4&quot;&gt;&lt;/jumplink&gt;
### Messages

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| id | string |  |  |
| message_status | One of &quot;accepted&quot;, &quot;held_for_quality_assessment&quot;, &quot;paused&quot; |  | The status of a WhatsApp message: - `accepted`: The message has been accepted by WhatsApp and is being processed - `held_for_quality_assessment`: The message is being held for quality assessment before delivery - `paused`: The message delivery has been paused |

## Authentication

| Scheme | Type | Location |
|--------|------|----------|
| bearerAuth | HTTP Bearer | Header: `Authorization` |

### Usage Examples

- **bearerAuth**: Include `Authorization: Bearer your-token-here` in request headers

### Global Authentication Requirements

All endpoints require: bearerAuth
