Docs
ChangelogالعربيةDashboard
DocumentationAPI reference
API referenceGet call insights
  • Introduction
  • Authentication
    • GETVerify API key
  • Agents
    • POSTCreate agent
    • GETList agents
    • GETGet agent
    • PUTUpdate agent
    • DELDelete agent
    • GETList agent voices
    • POSTSet system tools and call transfer
    • POSTLink analysis groups to an agent
    • GETList analysis groups for an agent
  • Tools
    • POSTCreate tool
    • GETList tools
    • GETGet tool
    • PUTUpdate tool
    • DELDelete tool
    • POSTLink a tool to an agent
    • DELUnlink a tool from an agent
    • GETList tools for an agent
    • GETList agents for a tool
  • Analysis groups
    • POSTCreate analysis group
    • GETList analysis groups
    • GETGet analysis group
    • PUTUpdate analysis group
    • DELDelete analysis group
    • POSTLink an agent to an analysis group
    • POSTLink agents to an analysis group
    • GETList agents for an analysis group
    • DELUnlink an analysis group from an agent
  • Knowledge bases
    • POSTCreate knowledge base
    • GETList knowledge bases
    • GETGet knowledge base
    • PATCHUpdate knowledge base
    • DELDelete knowledge base
  • Documents
    • POSTAdd PDF document
    • POSTAdd a spreadsheet
    • PUTReplace a spreadsheet
    • POSTAdd text document
    • POSTAdd URL document
    • GETList documents
    • GETGet document
    • DELDelete document
  • Calls
    • POSTCreate outbound call
    • GETGet call
    • POSTSearch calls
    • POSTGet call analytics
    • POSTExport calls
    • GETGet recording download URL
    • POSTCreate outbound call (legacy path)
  • Web calls
    • POSTCreate web call
    • POSTCreate web call (legacy path)
  • SIP inbound
    • POSTCreate SIP inbound trunk
    • GETList SIP inbound trunks
    • GETGet SIP inbound trunk
    • DELDelete SIP inbound trunk
  • SIP outbound
    • POSTCreate SIP outbound trunk
    • GETList SIP outbound trunks
    • GETGet SIP outbound trunk
    • DELDelete SIP outbound trunk
  • Agent inbound links
    • POSTLink an agent to an inbound trunk
    • GETList agent inbound links
    • DELDelete agent inbound link
  • Text to speech
    • POSTGenerate speech
    • POSTGenerate speech (quick)
    • GETList voices
    • GETGet voice
    • POSTClone a voice
    • DELDelete cloned voice
  • Speech to text
    • POSTTranscribe an audio file
    • GETGet transcription job
    • GETList transcription jobs
    • WSStream speech to text
  • Contacts
    • POSTCreate contact
    • GETList contacts
    • GETSearch contacts
    • GETGet contact
    • PATCHUpdate contact
    • GETList conversations for a contact
  • Conversations
    • GETList conversations
    • POSTFilter conversations
    • POSTList conversations by contact
    • GETGet conversation
    • GETList conversation messages
    • POSTSend a message
    • POSTSend a message with an attachment
    • GETList conversation attachments
    • POSTAssign conversation
    • POSTChange conversation status
    • POSTChange conversation priority
    • POSTMark conversation as seen
  • Tickets
    • POSTCreate ticket
    • GETList tickets
    • GETCount tickets
    • POSTFilter tickets
    • POSTList tickets by contact
    • GETGet ticket
    • GETList ticket messages
    • POSTAdd a ticket message
    • POSTAdd a ticket message with attachments
    • POSTAssign ticket
    • POSTChange ticket status
    • POSTChange ticket priority
    • POSTChange ticket type
    • POSTCreate ticket inbox
    • GETList ticket inboxes
    • PATCHUpdate ticket inbox
    • DELDelete ticket inbox
  • WhatsApp
    • POSTConnect a WhatsApp number
    • GETList WhatsApp inboxes
    • GETGet WhatsApp inbox
    • PATCHUpdate WhatsApp inbox
    • DELDelete WhatsApp inbox
    • POSTCreate WhatsApp conversation
    • GETList WhatsApp conversations
    • POSTFilter WhatsApp conversations
    • POSTList WhatsApp conversations by contact
    • POSTAssign an agent to a WhatsApp number
    • GETGet the agent on a WhatsApp number
    • DELRemove the agent from a WhatsApp number
    • POSTGet WhatsApp analytics
  • Instagram
    • GETList Instagram accounts
    • GETGet Instagram account
    • DELDelete Instagram account
    • GETList Instagram conversations
    • POSTFilter Instagram conversations
    • POSTList Instagram conversations by contact
    • POSTAssign an agent to an Instagram account
    • GETGet the agent on an Instagram account
    • DELRemove the agent from an Instagram account
  • TikTok
    • GETList TikTok accounts
    • GETGet TikTok account
    • DELDelete TikTok account
    • GETList TikTok conversations
    • POSTFilter TikTok conversations
    • POSTList TikTok conversations by contact
    • POSTAssign an agent to a TikTok account
    • GETGet the agent on a TikTok account
    • DELRemove the agent from a TikTok account
  • Analytics
    • POSTGet insights overview
    • POSTGet agent performance
    • POSTGet call insights
    • POSTGet WhatsApp insights
    • GETGet credit usage
    • GETGet AI insights

Analytics

Get call insights

Returns call analytics for a time range: totals by call type, connected and not connected calls, average duration, who ended the call, callers who hung up early, the agent's response time, and daily, status, hourly and day-by-hour (heatmap) breakdowns.

POST
https://api.nabrah.ai/api/ext/insights/voice
Get call insights
curl --request POST \
  --url 'https://api.nabrah.ai/api/ext/insights/voice' \
  --header 'X-API-Key: <your-api-key>' \
  --header 'Content-Type: application/json' \
  --data '{
  "start": "2026-11-01T00:00:00+03:00",
  "end": "2026-11-12T23:59:59+03:00",
  "tz": "Asia/Riyadh"
}'
{
  "totals": {
    "total": 0,
    "inbound": 0,
    "outbound": 0,
    "web": 0
  },
  "connected": 0,
  "not_connected": {
    "no_answer": 0,
    "busy": 0,
    "failed": 0
  },
  "avg_duration_seconds": 0,
  "ended_by": {
    "customer": 0,
    "agent": 0,
    "no_response": 0,
    "time_limit": 0,
    "voicemail": 0,
    "transfer": 0,
    "not_recorded": 0
  },
  "hung_up_early": {
    "count": 0,
    "recorded": 0
  },
  "response_time": {
    "p50_seconds": 0,
    "p95_seconds": 0,
    "turns": 0,
    "calls": 0
  },
  "daily": [
    {
      "date": "string",
      "inbound": 0,
      "outbound": 0,
      "web": 0
    }
  ],
  "statuses": {
    "completed": 0,
    "no_answer": 0,
    "busy": 0,
    "failed": 0
  },
  "hourly": [
    {
      "hour": 0,
      "inbound": 0,
      "outbound": 0,
      "web": 0
    }
  ],
  "heatmap": [
    {
      "weekday": 0,
      "hour": 0,
      "count": 0
    }
  ],
  "unavailable": [
    "string"
  ]
}

How the numbers work

Same as the dashboard

These are the numbers shown on the Insights pages of the dashboard, for the same range and filters.

Who is counted

Counts follow the access of the member who created the API key. A key made by a member limited to some WhatsApp numbers only sees those numbers.

unavailable

Lists the parts that could not be loaded this time (for example "whatsapp" or "tickets"). Those parts come back empty; retry later for them.

Caching

Results are cached for 15 minutes, or 1 minute when the range includes today.

Errors

422 when the range or time zone is not valid. 503 with insights_timeout when the query takes too long; try a shorter range.

Authorization

X-API-Keystringheaderrequired

Your workspace API key. Create one in the dashboard under API keys.

Body

application/json
startstring (ISO 8601)required

Start of the range, with a time zone offset, e.g. 2026-11-01T00:00:00+03:00.

endstring (ISO 8601)required

End of the range. Must be after start, at most 366 days later, and not after the end of today in tz.

tzstringrequired

IANA time zone used for daily and hourly buckets, e.g. Asia/Riyadh.

agent_idstring (UUID)

Only count conversations handled by this agent.

channelstring

"all" (default), "voice" or "whatsapp".

Example
{
  "start": "2026-11-01T00:00:00+03:00",
  "end": "2026-11-12T23:59:59+03:00",
  "tz": "Asia/Riyadh"
}

Response

200

Successful Response

application/json

422

Validation Error

application/json

PreviousGet agent performanceNextGet WhatsApp insights
© 2026 Nabrah. All rights reserved.
ChangelogPrivacy PolicyTerms of Service