Conversations

Conversations represent the interactions between your agents and your customers. Every conversation holds the complete history of messages exchanged. They include threads from every channel: WhatsApp, Instagram, Facebook, and chats created by the Chat API .

Available endpoints

MethodEndpointDescription
POST/v1/search/conversations Search conversations by text, meaning, and advanced filters
GET/v1/conversations/{id} Get a specific conversation
GET/v1/conversations List every conversation
PATCH/v1/conversations/{id} Update the owners and status of a conversation

How IDs work

Every conversation exposes three identifiers with distinct roles:

FieldWhat it identifies
idUnique, canonical document ID of the conversation. Use it in GET /v1/conversations/{id} and PATCH /v1/conversations/{id} to operate on a specific thread.
conversationIdChat thread ID. In the Chat API, each new conversation gets a distinct chat_<uuid>. It does not identify the client.
clientIdID of the attributed client. The same client can have several conversationId values and conversations across channels or agents.

To get every conversation of a client across all their channels, use GET /v1/clients/{clientId}/conversations .

Statuses and closing conversations

The status field describes the operational stage (initiated, active, finished, spam, or expired).

Expiring a conversation is a form of closing (isFinished): the final status can end up as finished or expired depending on whether the customer ever replied. On external channels (WhatsApp, Instagram, and Messenger/Facebook) expired is terminal; internal Platica chats can be reopened, either with a PATCH to status: "active" or automatically when they receive a new message through the Chat API .