List conversations with inbox analytics
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.
API key authentication - use your Zernio API key as a Bearer token
In: header
Query Parameters
datedate501 <= value <= 10011 <= value"lastMessageAt""lastMessageAt" | "firstMessageAt" | "totalMessages" | "received" | "sent" | "read" | "failed""desc""asc" | "desc"Response Body
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.listInboxConversationAnalytics({ query: { fromDate: '2026-01-15', },});console.log(data);{
"success": true,
"from": "2019-08-24",
"to": "2019-08-24",
"items": [
{
"conversationId": "string",
"mongoId": "string",
"accountId": "string",
"platform": "string",
"participantName": "string",
"participantUsername": "string",
"participantPicture": "string",
"lastMessage": "string",
"totalMessages": 0,
"received": 0,
"sent": 0,
"read": 0,
"failed": 0,
"firstMessageAt": "2019-08-24T14:15:22Z",
"lastMessageAt": "2019-08-24T14:15:22Z"
}
],
"pagination": {
"page": 0,
"limit": 0,
"total": 0,
"totalPages": 0,
"hasMore": true
}
}{
"error": "string",
"details": {}
}{
"error": "Unauthorized"
}{
"error": "string",
"details": {}
}Get YouTube video retention curve GET
Returns the audience retention curve for a single YouTube video, plus the video's duration for rendering the curve on a time axis. The curve has up to 100 points (elapsedVideoTimeRatio 0.01-1.0) aggregated over the whole date range; YouTube does not support per-day retention breakdowns. audienceWatchRatio is the absolute share of viewers watching at that point in the video and can exceed 1 (rewinds and looping, common on Shorts). relativeRetentionPerformance compares against videos of similar length (0 = worst, 0.5 = median, 1 = best). YouTube returns an empty curve for videos with very few views or before analytics processing completes (2-3 day delay). Requires yt-analytics.readonly scope (re-authorization may be needed).
Get analytics for a single conversation GET
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.