---
title: "Send list"
description: "Send interactive list messages on WhatsApp."
---

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

# Send list

Show a scrollable menu when you have more options than buttons allow — support menus, product picks, or any flow with several choices.

## At a glance

| Item | Detail |
| --- | --- |
| `type` | `list` |
| Channel support | Official and unofficial |
| Unofficial | May be delivered as formatted fallback text |
| Structure | `sections[]` with `rows[]` (`id`, `title`, optional `description`) |

## Request body

| Field | Required | Description |
| --- | --- | --- |
| `channel_id` | Yes | Sender channel ID |
| `to` | Yes | Recipient phone number |
| `type` | Yes | `list` |
| `content.body` | Yes | Message text |
| `content.button_text` | Yes | Label on the list open button |
| `content.sections` | Yes | Array of sections with `title` and `rows` |

## Example

### cURL

```bash
curl -X POST "https://api.wazapin.com/v1/messages" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
"channel_id": "wzp_abc123",
"to": "6281234567890",
"type": "list",
"content": {
  "body": "Pilih menu yang kamu mau",
  "button_text": "Lihat menu",
  "sections": [
    {
      "title": "Menu utama",
      "rows": [
        {"id": "menu_1", "title": "Cek pesanan", "description": "Lihat status order"},
        {"id": "menu_2", "title": "Hubungi CS", "description": "Butuh bantuan"}
      ]
    }
  ]
}
  }'
```
### TypeScript

```typescript
import { WazapinClient, listMessage } from "@wazapin/sdk";

const wazapin = new WazapinClient({ apiKey: process.env.WAZAPIN_API_KEY! });

await wazapin.messages.send(
  listMessage({
channel_id: "wzp_abc123",
to: "6281234567890",
body: "Pilih menu yang kamu mau",
button: "Lihat menu",
sections: [
  {
    title: "Menu utama",
    rows: [
      { id: "menu_1", title: "Cek pesanan", description: "Lihat status order" },
      { id: "menu_2", title: "Hubungi CS", description: "Butuh bantuan" },
    ],
  },
],
  }),
);
```
### Python

```python
import requests

requests.post(
"https://api.wazapin.com/v1/messages",
headers={"X-Api-Key": "YOUR_API_KEY", "Content-Type": "application/json"},
json={
    "channel_id": "wzp_abc123",
    "to": "6281234567890",
    "type": "list",
    "content": {
        "body": "Pilih menu yang kamu mau",
        "button_text": "Lihat menu",
        "sections": [
            {
                "title": "Menu utama",
                "rows": [
                    {"id": "menu_1", "title": "Cek pesanan", "description": "Lihat status order"},
                    {"id": "menu_2", "title": "Hubungi CS", "description": "Butuh bantuan"},
                ],
            }
        ],
    },
},
timeout=30,
).raise_for_status()
```

:::info
When the user replies, see [Handle inbound text](/guides/handle-inbound-text) or [Handle interactive replies](/guides/handle-interactive-replies).
:::

Source: https://docs.wazapin.id/getting-started/send-list/index.mdx
