---
title: "List conversations"
method: GET
path: "/v4/whatsapp/conversations"
tags: ["WhatsApp V4"]
---

# List conversations

`GET /v4/whatsapp/conversations`

## Request

- Base URL: `https://developer.meetergo.com` (the document declares no server; this is the origin it was published from)
- URL: `https://developer.meetergo.com/v4/whatsapp/conversations`
- Auth: one of:
  - API key in header `x-meetergo-api-user-id`
  - HTTP bearer
  - HTTP bearer

Lists conversations newest-first (cursor-paginated), or returns the single conversation for an exact `phone` match.

## Query parameters

- `limit` number
- `cursor` string
- `phone` string
- `status` 'open' | 'done' | 'all'

## Response `200`

- WhatsappConversationListResource
  - `data` WhatsappConversationResource[], required
    - `id` string, required: Conversation id.
    - `phone` string, nullable: Contact phone number in E.164 format. Null when the contact has adopted a WhatsApp username and withheld their phone; use `userId`.
    - `userId` string, nullable: Business-Scoped User ID (BSUID), the stable identity used to send when no phone is known.
    - `username` string, nullable: WhatsApp @username the contact has adopted, if any.
    - `contactName` string: Contact name from the WhatsApp profile.
    - `contactId` string: Linked meetergo CRM contact id, if any.
    - `windowOpen` boolean, required: Whether the 24-hour customer-service window is currently open. When false, only template messages are accepted.
    - `windowExpiresAt` string, date-time: When the 24h window expires (ISO 8601). Absent if no window.
    - `lastMessageAt` string, date-time, required: Timestamp of the most recent message.
    - `lastMessagePreview` string: Preview text of the last message.
    - `lastMessageDirection` 'inbound' | 'outbound', required
    - `status` 'open' | 'done', required: Lifecycle status. `done` conversations are archived.
    - `labels` string[]: Conversation labels.
    - `createdAt` string, date-time, required: When the conversation was created.
  - `nextCursor` string: Cursor for the next page (pass as `cursor`). Absent on last page.

## Other responses

- `400`: The request did not validate. `message` lists the constraints that failed.
- `401`: Missing, malformed, or expired credentials.
- `403`: Authenticated, but not allowed: the plan does not include this feature, or the token is scoped away from it.
- `429`: Rate limited. Back off and retry.

---

[API](https://skmtc.dev/meetergo/apis/meetergo-platform-api.md) · [All operations](https://skmtc.dev/meetergo/apis/meetergo-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/meetergo/apis/meetergo-platform-api/revisions/b5d66cd8be67?raw)
