Skip to content

Guides

Conversations

Read messaging activity across web chat, SMS, and WhatsApp — filtered lists, statuses, summaries, and export.

Conversations are the messaging counterpart to calls: every web-chat, SMS, or WhatsApp exchange an assistant handles becomes a conversation record. Like calls, this surface is read-only — conversations are created by inbound traffic on your channels, and these endpoints let you list, inspect, and export them.

MethodPathPurpose
GET/conversationsList conversations with filters and pagination
GET/conversations/statusesDistinct conversation statuses in your tenant
GET/conversations/summary-by-assistantPer-assistant conversation counts
GET/conversations/exportBulk export (up to 10,000 rows)
GET/conversations/{id}One conversation with full detail

List conversations#

GET /conversations

Query paramTypeRequiredDescription
limitnumberNoPage size, max 500 (default 50)
offsetnumberNoItems to skip (default 0)
assistantIdUUIDNoOnly conversations handled by this assistant
channelweb | sms | whatsappNoFilter by messaging channel
statusstringNoFilter by status (values from /conversations/statuses)
dateFrom / dateToISO 8601 datetime (with offset)NoTime window
sortBystartedAt | createdAtNoSort key (default startedAt)
searchstringNoFree-text search
bash
curl "https://core-api.heysadie.ai/conversations?channel=sms&limit=100" \
  -H "Authorization: ApiKey YOUR_API_KEY"

Conversation fields#

FieldDescription
id, conversationIdRecord and conversation identifiers
assistantId, assistantNameWhich assistant handled it
channelweb, sms, or whatsapp
customerIdentifierWho the customer is on that channel (e.g. their number)
status, endedReasonLifecycle state and how it ended
startedAt, closedAtTiming
lastInboundAt, lastOutboundAtLast message in each direction
transcript, messagesThe message history
summary, analysisAI-generated summary and structured analysis
cost, costBreakdownBilling detail — returned by the detail route only

Discover statuses#

GET /conversations/statuses returns the distinct status strings occurring in your tenant, for building filters.

Terminal
curl https://core-api.heysadie.ai/conversations/statuses \
  -H "Authorization: ApiKey YOUR_API_KEY"

Per-assistant summaries#

GET /conversations/summary-by-assistant returns one row per assistant with assistantId, assistantName, and count (the number of conversations).

Terminal
curl https://core-api.heysadie.ai/conversations/summary-by-assistant \
  -H "Authorization: ApiKey YOUR_API_KEY"

Export conversations in bulk#

GET /conversations/export returns up to 10,000 conversations as JSON. It accepts the list filters (assistantId, channel, status, dateFrom, dateTo, search) but no pagination — narrow with date ranges on busy tenants.

Terminal
curl "https://core-api.heysadie.ai/conversations/export?channel=whatsapp&dateFrom=2026-07-01T00:00:00%2B00:00" \
  -H "Authorization: ApiKey YOUR_API_KEY"

Get one conversation#

GET /conversations/{id} returns the full record, including cost and costBreakdown, which the list routes omit.

Terminal
curl https://core-api.heysadie.ai/conversations/CONVERSATION_ID \
  -H "Authorization: ApiKey YOUR_API_KEY"

Next steps#

  • Assistants — enable the SMS channel with PATCH /assistants/{id}/sms-enabled.
  • Calls — the equivalent view for voice.