Skip to content
Median
Esc
↑↓navigate↵open⌘Jpreview

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.

GET/analytics/conversations
Authorization
AuthorizationBearer token · headerrequired
`MEDIAN_KEY` from Settings under API, or an MCP OAuth access token. A key acts as the organization; a token acts as the person who approved it.
Query parameters
frominteger
The window's start, unix ms. Defaults to `days` ago.
daysinteger
Daily buckets after `from`. Default 30.
Allowed:73090
Responses
200The window, bucketed by day.
perDayinteger[]
perDayFinishedinteger[]
perDayFinishedByAgentinteger[]
totalinteger
byChannelobject
Show properties
widgetinteger
emailinteger
discordinteger
outcomesobject
Show properties
openinteger
finishedinteger
finishedByAgentinteger
finishedByPeopleinteger
funnelobject
Show properties
startedinteger
agentRepliedinteger
customerReturnedinteger
handedOffinteger
finishedinteger
resolvedinteger
closedinteger
sentimentobject
Show properties
positiveinteger
neutralinteger
negativeinteger
waitinginteger
actionsobject
What the agent reached for, then how those threads ended. `primary` is the middle column. `toOutcome` is the next split. The remaining counts overlap.
Show properties
primaryobject
Show properties
usedToolinteger
filedReportinteger
lookedUpinteger
justRepliedinteger
neverRepliedinteger
searchedinteger
usedToolinteger
filedinteger
toOutcomeobject
Show properties
usedToolobject
Show properties
byAgentinteger
byPeopleinteger
openinteger
filedReportobject
Show properties
byAgentinteger
byPeopleinteger
openinteger
lookedUpobject
Show properties
byAgentinteger
byPeopleinteger
openinteger
justRepliedobject
Show properties
byAgentinteger
byPeopleinteger
openinteger
neverRepliedobject
Show properties
byAgentinteger
byPeopleinteger
openinteger
perDayHandedOffinteger[]
perDayCustomerReturnedinteger[]
perDayByChannelobject
Show properties
widgetinteger[]
emailinteger[]
discordinteger[]
byHourinteger[]
Started per hour of the window's day, midnight first. 24 entries.
topPagesobject[]
Where conversations began, busiest pages first.
Show properties
Array of object
pathstring
countinteger
customersobject
How many different people wrote in, and how many wrote more than once.
Show properties
distinctinteger
repeatinteger
resolveTimeobject
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.
Show properties
medianinteger | null
bucketsinteger[]
cappedboolean
400The request is malformed, and the message names the field.
errorobject
Show properties
codestring
messagestring
401The bearer token is missing, revoked, or expired.
errorobject
Show properties
codestring
messagestring
429Too many requests. Wait the seconds in `Retry-After`. Limits depend on the plan. See [rate limits](/api/errors-and-limits#rate-limits).
errorobject
Show properties
codestring
messagestring
Request
curl -X GET "https://api.median.sh/v1/analytics/conversations" \
  -H "Authorization: Bearer YOUR_TOKEN"
Response
{
  "perDay": [
    0
  ],
  "perDayFinished": [
    0
  ],
  "perDayFinishedByAgent": [
    0
  ],
  "total": 0,
  "byChannel": {
    "widget": 0,
    "email": 0,
    "discord": 0
  },
  "outcomes": {
    "open": 0,
    "finished": 0,
    "finishedByAgent": 0,
    "finishedByPeople": 0
  },
  "funnel": {
    "started": 0,
    "agentReplied": 0,
    "customerReturned": 0,
    "handedOff": 0,
    "finished": 0,
    "resolved": 0,
    "closed": 0
  },
  "sentiment": {
    "positive": 0,
    "neutral": 0,
    "negative": 0,
    "waiting": 0
  },
  "actions": {
    "primary": {
      "usedTool": 0,
      "filedReport": 0,
      "lookedUp": 0,
      "justReplied": 0,
      "neverReplied": 0
    },
    "searched": 0,
    "usedTool": 0,
    "filed": 0,
    "toOutcome": {
      "usedTool": {
        "byAgent": 0,
        "byPeople": 0,
        "open": 0
      },
      "filedReport": {
        "byAgent": 0,
        "byPeople": 0,
        "open": 0
      },
      "lookedUp": {
        "byAgent": 0,
        "byPeople": 0,
        "open": 0
      },
      "justReplied": {
        "byAgent": 0,
        "byPeople": 0,
        "open": 0
      },
      "neverReplied": {
        "byAgent": 0,
        "byPeople": 0,
        "open": 0
      }
    }
  },
  "perDayHandedOff": [
    0
  ],
  "perDayCustomerReturned": [
    0
  ],
  "perDayByChannel": {
    "widget": [
      0
    ],
    "email": [
      0
    ],
    "discord": [
      0
    ]
  },
  "byHour": [
    0
  ],
  "topPages": [
    {
      "path": "string",
      "count": 0
    }
  ],
  "customers": {
    "distinct": 0,
    "repeat": 0
  },
  "resolveTime": {
    "median": 0,
    "buckets": [
      0
    ]
  },
  "capped": true
}