---
title: "Send interactive button message"
method: POST
path: "/messages/interactive/button"
tags: ["Messages"]
---

# Send interactive button message

`POST /messages/interactive/button`

Sends up to 3 reply buttons.

Requires an open service window: the recipient must have messaged the business in the last 24 hours. Use `POST /messages/template` to reach recipients outside that window.

## Request body

- object
  - `from` string, required — WhatsApp id of the sender phone number
  - `to` string, required — Recipient phone number, digits only, including country code
  - `interactive` object, required
    - `type` 'button'
    - `header` object
      - `type` 'text' | 'image' | 'video' | 'document', required
      - `text` string
    - `body` object, required
      - `text` string
    - `footer` object
      - `text` string
    - `action` object, required
      - `buttons` object[], required — Up to 3 reply buttons
        - `type` string, required
        - `reply` object, required
          - `id` string, required
          - `title` string, required

## Response `200`

Message sent successfully

- object
  - `id` string, uuid, required — Id of the created message

## Other responses

- `400` — Bad request — invalid input data, or the message was rejected by the WhatsApp Cloud API (e.g. invalid template)
- `401` — Unauthorized
- `404` — Sender phone number not found or not linked to a WhatsApp Business Account

## Changes

- **2026-08-07** `30bd33ee45c9` — 3 info
  - added the media type `application/json` for the response with the status `400`
  - added the media type `application/json` for the response with the status `401`
  - added the media type `application/json` for the response with the status `404`
- **2026-07-28** `8ccfb9a461e2` — 6 breaking, 1 warning, 6 info
  - the request property `interactive/action/buttons` became required
  - the `type` request property const value `button` was added
  - removed the enum value `button` of the request property `interactive/type`
  - the `from` request property's minLength was increased from `0` to `1`
  - …9 more

[Change history](https://skmtc.dev/indigohive/apis/cogfy-messenger-public-api/changes/messages/interactive/button/post.md)

---

[API](https://skmtc.dev/indigohive/apis/cogfy-messenger-public-api.md) · [All operations](https://skmtc.dev/indigohive/apis/cogfy-messenger-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/indigohive/cogfy-messenger-public-api/revisions/30bd33ee45c9/schema)
