WhatsAble
API v1Conversations

List conversations

gethttps://api.whatsable.app/v1/conversations
Build a request to copy

This page never sends a request. Fill in the fields, then copy the request and run it from your server.

Request
curl -X GET 'https://api.whatsable.app/v1/conversations'

Lists the conversations on the numbers this key may use, the latest last_message_at first. The order changes as messages arrive, so paging can skip or repeat a conversation. To follow changes, poll with updated_after.

Authorization

bearerAuth
headerAuthorizationBearer <nfy_live_<32 characters>>

An API key from Settings > API keys, sent as Authorization: Bearer <key>.

Query Parameters

limit?integer

How many items to return, 1 to 100.

Range1 <= value <= 100
Default25
cursor?string

The next_cursor of the previous page. An expired or malformed cursor answers 400 invalid_cursor.

Length1 <= length <= 512
number_id?string
Length1 <= length <= 64
contact_id?string
Length1 <= length <= 64
updated_after?string

Only conversations updated after this instant. For polling.

Formatdate-time

Response Body

A page of conversations, the latest message first.

application/json
  1. response
object*string
data*array<>
has_more*boolean

True when another page follows this one.

next_cursor*|

Pass as cursor to read the next page. Null on the last page. Valid for 24 hours.

Example Request
curl -X GET 'https://api.whatsable.app/v1/conversations'
Example Response
{  "object": "list",  "data": [    {      "object": "conversation",      "id": "cm2v8c1a00001qz8h4t5u6v7w",      "number_id": "cm2v8a1b20002qz8h9i0j1k2l",      "contact_id": "cm2v8k1a00001qz8h8x9y0z1a",      "last_message_at": "2026-10-20T19:51:21Z",      "last_inbound_at": "2026-10-20T18:00:00Z",      "window_expires_at": "2026-10-21T18:00:00Z",      "window_open": true,      "unread_count": 2,      "ai": {        "bot_id": "cm2v8b1a00001qz8h3j4k5l6m",        "status": "active"      },      "created_at": "2026-09-01T12:00:00Z",      "updated_at": "2026-10-20T19:51:21Z"    }  ],  "has_more": true,  "next_cursor": "string"}