Get aggregated WhatsApp conversation analytics for a date window. The request body specifies the time range (since/until) and optionally an inbox_id; if inbox_id is omitted, the analytics combine every WhatsApp number of the project. The response includes a summary of totals (conversations by status, incoming/outgoing message counts, average first-response and resolution times), time-series trend arrays, per-assignee metrics, and an inboxes breakdown with one row per WhatsApp number.
curl --request POST \
--url 'https://api.nabrah.ai/api/ext/omni_v2/whatsapp/analytics' \
--header 'X-API-Key: <your-api-key>' \
--header 'Content-Type: application/json' \
--data '{
"since": "2026-06-01T00:00:00.000Z",
"until": "2026-06-23T23:59:59.000Z",
"inbox_id": "00000000-0000-4000-8000-000000000000"
}'{
"summary": {
"total_conversations": 0,
"open_conversations": 0,
"pending_conversations": 0,
"resolved_conversations": 0,
"snoozed_conversations": 0,
"incoming_messages": 0,
"outgoing_messages": 0,
"avg_first_response_time": 0,
"avg_resolution_time": 0
},
"conversations_trend": [
{
"timestamp": 0,
"value": 0
}
],
"incoming_trend": [
{
"timestamp": 0,
"value": 0
}
],
"outgoing_trend": [
{
"timestamp": 0,
"value": 0
}
],
"assignee_metrics": [
{
"agent_id": 0,
"agent_name": "string",
"agent_email": "string",
"conversations_count": 0,
"resolved_conversations_count": 0,
"avg_first_response_time": 0,
"avg_resolution_time": 0,
"avg_reply_time": 0
}
],
"inboxes": [
{
"inbox_id": "00000000-0000-4000-8000-000000000000",
"name": "string",
"phone_number": "string",
"conversations": 0,
"resolutions": 0,
"incoming_messages": 0,
"outgoing_messages": 0,
"avg_first_response_time": 0,
"avg_resolution_time": 0
}
]
}All timestamps are ISO 8601 date-times.
The inclusive start and end of the analytics window.
sinceuntilinbox_idOptional WhatsApp inbox UUID to scope the analytics to one number. If omitted, every WhatsApp number of the project is combined: counts are summed and average times are weighted by volume. Get the value from GET /api/ext/omni_v2/whatsapp/inboxes. An inbox_id that is not one of the project's WhatsApp numbers returns 404, as does a project with no WhatsApp number connected.
inbox_idsummaryTotals for the window: conversation counts by status, incoming/outgoing message counts, and average first-response and resolution times (seconds).
total_conversationsopen_conversationspending_conversationsresolved_conversationssnoozed_conversationsincoming_messagesoutgoing_messagesavg_first_response_timeavg_resolution_timetrendsTime-series arrays of { timestamp, value } points for conversation volume and inbound/outbound message volume.
conversations_trendincoming_trendoutgoing_trendassignee_metricsPer-agent breakdown of conversation handling and timing. It always covers the whole project, even when inbox_id is sent.
agent_idagent_nameagent_emailconversations_countresolved_conversations_countavg_first_response_timeavg_resolution_timeavg_reply_timeinboxesOne row per WhatsApp number in the result, with its totals for the window.
inbox_idnamephone_numberconversationsresolutionsincoming_messagesoutgoing_messagesavg_first_response_timeavg_resolution_timeX-API-KeystringheaderrequiredYour workspace API key. Create one in the dashboard under API keys.
Scope analytics to a specific WhatsApp inbox and date window.
{
"since": "2026-06-01T00:00:00.000Z",
"until": "2026-06-23T23:59:59.000Z",
"inbox_id": "00000000-0000-4000-8000-000000000000"
}Successful Response
application/json
Validation Error
application/json