GET /analytics/conversations
Updated Oct 1, 20262 minute read
Conversation volume
How many started each day, which door they came through, how the window's conversations ended up, and what the agent reached for.
Part of Analytics.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
from | query | integer | No | The window's start, unix ms. Defaults to days ago. |
days | query | 7 | 30 | 90 | No | Daily buckets after from. Default 30. |
Responses
| Status | Description |
|---|---|
200 | The window, bucketed by day. |
400 | The request is malformed, and the message names the field. |
401 | The bearer token is missing, revoked, or expired. |
429 | Too many requests. Wait the seconds in Retry-After. Limits depend on the plan. See rate limits. |
200 body
| Field | Type | Required | Description |
|---|---|---|---|
perDay | integer[] | No | |
perDayFinished | integer[] | No | |
perDayFinishedByAgent | integer[] | No | |
total | integer | No | |
byChannel | object | No | |
byChannel.widget | integer | No | |
byChannel.email | integer | No | |
byChannel.discord | integer | No | |
outcomes | object | No | |
outcomes.open | integer | No | |
outcomes.finished | integer | No | |
outcomes.finishedByAgent | integer | No | |
outcomes.finishedByPeople | integer | No | |
funnel | object | No | |
funnel.started | integer | No | |
funnel.agentReplied | integer | No | |
funnel.customerReturned | integer | No | |
funnel.handedOff | integer | No | |
funnel.finished | integer | No | |
funnel.resolved | integer | No | |
funnel.closed | integer | No | |
sentiment | object | No | |
sentiment.positive | integer | No | |
sentiment.neutral | integer | No | |
sentiment.negative | integer | No | |
sentiment.waiting | integer | No | |
actions | object | No | What the agent reached for, then how those threads ended. primary is the middle column. toOutcome is the next split. The remaining counts overlap. |
actions.primary | object | No | |
actions.primary.usedTool | integer | No | |
actions.primary.filedReport | integer | No | |
actions.primary.lookedUp | integer | No | |
actions.primary.justReplied | integer | No | |
actions.primary.neverReplied | integer | No | |
actions.searched | integer | No | |
actions.usedTool | integer | No | |
actions.filed | integer | No | |
actions.toOutcome | object | No | |
actions.toOutcome.usedTool | object | No | |
actions.toOutcome.filedReport | object | No | |
actions.toOutcome.lookedUp | object | No | |
actions.toOutcome.justReplied | object | No | |
actions.toOutcome.neverReplied | object | No | |
perDayHandedOff | integer[] | No | |
perDayCustomerReturned | integer[] | No | |
perDayByChannel | object | No | |
perDayByChannel.widget | integer[] | No | |
perDayByChannel.email | integer[] | No | |
perDayByChannel.discord | integer[] | No | |
byHour | integer[] | No | Started per hour of the window's day, midnight first. 24 entries. |
topPages | object[] | No | Where conversations began, busiest pages first. |
topPages[].path | string | No | |
topPages[].count | integer | No | |
customers | object | No | How many different people wrote in, and how many wrote more than once. |
customers.distinct | integer | No | |
customers.repeat | integer | No | |
resolveTime | object | No | First message to last, over finished conversations: the median in milliseconds, and a histogram of under five minutes, five to thirty, thirty to two hours, two hours to a day, and longer. |
resolveTime.median | any | No | |
resolveTime.buckets | integer[] | No | |
capped | boolean | No |
Example request
curl https://api.median.sh/v1/analytics/conversations \
-H "Authorization: Bearer $BEARER_AUTH"