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

# Changelog

> What changed in the GetReply API.

**26 October 2026**

v1.1

* One customer id: every `/v1/contacts/{customer}` route and every send takes a phone number or a WhatsApp username id. Contacts carry `customer` too.
* Messages and `message.*` webhooks: `campaign_id`, `campaign_reference`, `text` and `media` (Inbox replies included).
* `GET /v1/campaigns/{id}/messages`: up to 1,000 a page, and `cursor` to read them all in order.
* `POST /v1/messages/test`: a template test, priced and charged like a test in the app.
* `GET /v1/contacts/{customer}/messages`: one chat, both directions, newest first.
* New events: `plan.ended`, `key.disabled`, `daily_limit.reached`, `webhook.disabled`; `campaign.paused` says why.
* `POST /v1/webhooks/{id}/enable`: switches a webhook on after a test event gets a 2xx.
* The Inbox: assign, close and reopen chats; `GET /v1/team`; notes; saved replies.
* `POST /v1/media`: upload a file once and send it by `media_id`.
* `GET` and `PATCH /v1/profile`, `POST /v1/audiences`, `POST /v1/contacts/bulk`, `GET /v1/wallet/transactions`.
* Location and link button messages, quoting a message (`reply_to`) and marking a message as read (`POST /v1/messages/{id}/read`).
* Contact cards, stickers, reactions, the typing indicator and blocking are in the API but not available yet (`not_available` until they are).
* New errors: `webhook_test_failed`, `not_available`, `not_in_last_24h`, `media_type_not_allowed`.

**24 October 2026**

v1

The first version of the GetReply API: templates, OTPs, replies, files and buttons; message status and webhooks with signatures; account, number, usage and prices; templates, contacts and campaigns; the Developer tab in the app. Customers with a WhatsApp username: message objects, `message.*` webhooks and `message.received` include `customer` (`phone`, `user_id` — WhatsApp's business-scoped user ID — and `username`); `phone` can be null for a customer who shared no number, and then `to` / `from` are null too, as is a contact's `phone`. Existing phone-based endpoints are unchanged; an OTP needs a phone number (`invalid_number` otherwise).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.