Sign inGet Started

Get a WhatsApp conversation

GET
/v1/whatsapp/conversations/{conversation_id}
const conversation = await bird.whatsapp.conversations.get("wacv_01krdgeqcxet5s7t44vh8rt9mg");
console.log(conversation.control, conversation.assigned_to, conversation.labels);
प्रतिक्रिया200
{
  "id": "wacv_01krdgeqcxet5s7t44vh8rt9mg",
  "business_phone_number": "+15550001234",
  "recipient": {
    "bsuid": "US.13491208655302741918",
    "phone_number": "+15550001111",
    "display_name": "Jamie Rivera",
    "username": "jamierivera"
  },
  "inbox_status": "open",
  "control": "bird",
  "assigned_to": "usr_01krdgeqcxet5s7t44vh8rt9mg",
  "service_window": {
    "status": "open",
    "ends_at": "2026-09-23T10:35:00Z"
  },
  "last_message": {
    "id": "wam_01krdgeqcxet5s7t44vh8rt9mg",
    "direction": "outbound"
  },
  "labels": [
    "billing",
    "vip"
  ]
}

Returns one conversation's current state: who answers it right now, when its customer-service window closes, how many messages are unread, its labels, and its most recent message.

Resolving inbox work preserves the conversation. New inbound messages reopen it with the same ID. Messages are retained for 30 days. When the last one expires, the conversation and its events are deleted, and this returns 404.

पैरामीटर

conversation_idstring

Conversation identifier. Starts with wacv_.

Response Payload

id
string
आवश्यक

Conversation ID.

business_phone_number
nullable string
आवश्यक

Your WhatsApp business phone number this conversation runs on, in E.164 format. It stays the same when you remove the number and connect it again. Null when Bird holds no phone number for it.

recipient
object
आवश्यक

The other side of the conversation: the contact, or the group it takes place in. A group conversation carries group_id and null contact identity fields.

चाइल्ड एट्रिब्यूट दिखाएँ
inbox_status
string
आवश्यक

Whether the conversation needs attention in the workspace inbox. Set it to resolved when the work is finished. A new inbound message reopens the same conversation. Changing inbox status preserves message history and does not change the channel's permission to send messages or mark messages read.

Possible values: open, resolved

control
string
आवश्यक

Who answers this conversation right now. You take and release control in the dashboard inbox.

Possible values (may grow over time): bird, meta_business_agent

assigned_to
nullable string
आवश्यक

The user this conversation is assigned to. Null when unassigned. Assignment is not rechecked against workspace membership on read, so it can still name a user whose access was removed.

service_window
nullable object
आवश्यक

Customer-service window for a contact. Null for group conversations.

चाइल्ड एट्रिब्यूट दिखाएँ
last_message
nullable object
आवश्यक

A pointer to the most recent message in this conversation. It names the message; read its content through the conversation's message list. Null when the conversation has no message yet.

चाइल्ड एट्रिब्यूट दिखाएँ
last_message.id
string
आवश्यक

ID of the message.

last_message.direction
string
आवश्यक

inbound for a message received from the contact, outbound for one your workspace or the agent sent.

Possible values: outbound, inbound

last_message.created_at
string
आवश्यक

The message's created_at: when it was accepted (outbound) or received (inbound). The conversation list is ordered by it. It only moves forward: a message that arrives late and belongs earlier in the conversation does not pull it back.

unread_count
integer
आवश्यक

Number of inbound messages the workspace has not acknowledged. Shared across the workspace. Sending a reply does not mark messages read.

labels
array of string
आवश्यक

Workspace labels on this conversation. Labels do not change read state or inbox status.

created_at
string
आवश्यक

When Bird opened this conversation.

updated_at
string
आवश्यक

When this conversation last changed.

इस विषय के लिए दस्तावेज़, गाइड और उदाहरणों के साथ आगे बढ़ें।