> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hookmyapp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Send an Instagram message

> Send an Instagram customer-channel message.

Send an Instagram message through one customer's connected channel.

Use the HookMyApp channel ID (`ch_...`) when you fetch the channel token. Use the connected Instagram account ID in the gateway path. Use the inbound `sender.id` as the outbound `recipient.id`.

## Authentication

Use the returned `hmat_` channel token to send the message. Do not use an `hmok_` API key for the send call.

```bash theme={null}
Authorization: Bearer hmat_...
```

## Path parameters

<ParamField path="INSTAGRAM_ACCOUNT_ID" type="string" required>
  The connected Instagram account ID for the customer channel, from `INSTAGRAM_ACCOUNT_ID`.
</ParamField>

## Request body

<ParamField body="recipient.id" type="string" required>
  The Instagram sender ID from the inbound webhook `sender.id`.
</ParamField>

<ParamField body="message" type="object" required>
  The Instagram message payload, such as text, media attachment, quick replies, cards, reactions, or sender actions.
</ParamField>

## Example

```bash theme={null}
curl -X POST "https://gateway.hookmyapp.com/meta/v25.0/{INSTAGRAM_ACCOUNT_ID}/messages" \
  -H "Authorization: Bearer hmat_..." \
  -H "Content-Type: application/json" \
  -d '{
    "recipient": { "id": "17841400000000001" },
    "message": { "text": "Hello from HookMyApp" }
  }'
```

## Successful response

```json theme={null}
{
  "recipient_id": "17841400000000001",
  "message_id": "m_0AbCdEfGhIjKlMnOpQrSt"
}
```
