A conversation with a contact on a connected channel
A chat represents one conversation with one contact on one channel account. Chats are returned by Search Chats, Get Chat by Chat ID (trimmed public view), chat-management endpoints, and inside every chat-related webhook payload.
Time units differ by field naming: fields ending in Timestamp / _timestamp are epoch milliseconds; fields ending in UpdateTime / MessageTime (and replyAction.created) are epoch seconds; created, updatedAt and unsubscribed.date are ISO date-time strings.
Unique identifier of the chat in Texter. Use it in every chat-scoped endpoint
title
string
Contact’s name as set in their WhatsApp account settings
displayName
string
Custom name modified in Texter. Absent if never modified. Update via Update Chat Properties
personId
string
ID of the person that owns this chat - links chats of the same person across channels
image
string
File ID of the chat’s avatar image, when available
labels
string[]
Label IDs applied to the chat. Manage via Manage Labels in Chat Example: ["urgent","billing"]
personChats
object[]
All chats of the same person (including this one) as channel references ({name, accountId, id}). Present in webhook event payloads; not included in REST search results
botState holds the active or most recent bot session; previousBotSession holds the one before it (same shape). Both can be null, and may carry additional bot-specific keys.
The pending action that runs when the contact replies to a template message. null when no reply action is armed. Set by template defaults or the Send Template MessagereplyAction parameter.
Field
Type
Description
replyAction.created
number
When the reply action was set (epoch seconds)
replyAction.expirationTime
number
How long the action remains valid, in seconds relative to created Example: 259200
replyAction.chatStatus
number
Status to apply when the contact replies (0 BOT / 2 ASSIGNED / 3 RESOLVED)
replyAction.setBotNode
string
Bot node to trigger after reply
replyAction.bot
string
Specific bot to run after reply
replyAction.replyText
string
Text automatically sent after the contact replies
replyAction.responsibleAgent
string
Agent the chat is assigned to after the reply
replyAction.responsibleDepartment
string
Department the chat is assigned to after the reply
replyAction.replyToTemplateFile
object
File ({url, name}) automatically sent after the contact replies
These may still appear in responses but should not be used in new code.
Show deprecated fields
Field
Type
Description
channel
string
Deprecated - Use channelInfo.name instead
clientPhone
string
Deprecated - Use channelInfo.id instead
clientPhoneE164
string
Deprecated - Use channelInfo.id instead
entityPhone
string
Deprecated - Use channelInfo.accountId instead
lastText
string
Deprecated - Use lastMessage.text instead
unsubscribeTime
number
Deprecated - Epoch seconds. Use unsubscribed.date instead
blockTemplates
boolean
Deprecated - Use the unsubscribed property instead
firestoreId
string
Deprecated - Pre-migration legacy ID on very old chats. Ignore
Get Chat by ID returns a trimmed view.Get Chat by Chat ID returns only the public subset of these fields (no _id, labels, crmData or displayName; botState narrowed to its id) plus lastMessageTimestamp (milliseconds). Use Search Chats for the complete record.
Used by status, template chatStatus, replyAction.chatStatus and newChatStatus on system messages. The statuses[] filter of Search Chats takes the names, not the numbers.