Get analytics for a single conversation
Per-conversation inbox analytics. The inbox analog of /v1/analytics/post-timeline — one conversation, daily totals, source mix.
The {conversationId} path param accepts EITHER the Mongo _id of
the Conversation document OR its platformConversationId (the
same identity used by metadata.conversationId at ingest time).
Ownership is verified in MongoDB against the caller's team
before the Tinybird query fires.
Max date range is 365 days.
API key authentication - use your Zernio API key as a Bearer token
In: header
Path Parameters
Mongo _id or platformConversationId.
Query Parameters
datedateResponse Body
application/json
application/json
application/json
application/json
application/json
import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.inboxanalytics.getInboxConversationAnalytics({ path: { conversationId: 'conversation_abc123', }, query: { fromDate: '2026-01-15', },});console.log(data);{
"success": true,
"conversationId": "string",
"mongoId": "string",
"platform": "string",
"from": "2019-08-24",
"to": "2019-08-24",
"summary": {
"received": 0,
"sent": 0,
"read": 0,
"failed": 0,
"totalMessages": 0,
"firstMessageAt": "2019-08-24T14:15:22Z",
"lastMessageAt": "2019-08-24T14:15:22Z"
},
"timeseries": [
{
"date": "2019-08-24",
"sent": 0,
"received": 0,
"read": 0,
"failed": 0
}
],
"bySource": [
{
"source": "string",
"count": 0
}
]
}{
"error": "string",
"details": {}
}{
"error": "Unauthorized"
}{
"error": "Conversation not found.",
"code": "conversation_not_found"
}{
"error": "string",
"details": {}
}List conversations with inbox analytics GET
Per-conversation listing with per-row totals + first/last message timestamps. The inbox analog of GET /v1/analytics (posts listing) — same filter shape, same pagination, same sort/order semantics. Use as the entry point for the per-conversation analytics drawer at /v1/analytics/inbox/conversations/{conversationId}. Rows are enriched with the conversation's participant info (`participantName`, `participantUsername`, `participantPicture`) and last-message preview by joining the Conversation document scoped to the caller's team. Max date range is 365 days.
Get inbox day-of-week × hour-of-day heatmap GET
Day-of-week × hour-of-day breakdown of inbox messages. Buckets are sparse — only cells with at least one event are returned; clients zero-fill the rest to render the full 7×24 grid. The `dow` field follows ClickHouse's `toDayOfWeek` convention (1 = Monday … 7 = Sunday). Max date range is 365 days.