Call centers
The human side: who is staffing, and what they are handling.
Call centers are exposed because the interesting integrations sit across both halves of the platform. A call the AI could not finish is transferred to a person, a ticket raised by an AI call is worked by a person, and a customer's own systems need to see one story rather than two.
Every call here carries callId, the platform call id, which is the same id the AI side uses and the one every Call Intelligence endpoint accepts. That is the join.
List call centers#
Call centers in the key's organization that the key may read. Staffing one or having it shared is not enough on its own: the key's role needs `call_center:read` on it. A page can therefore hold fewer rows than `pageSize`; follow `nextCursor`.
/api/v1/call-centersQuery parameters
searchstring- Match the name.
statusstring- active, inactive or archived.
pagenumber- Page number.
- Default
1 pageSizenumber- Up to 200.
- Default
50
Responses
A page of call centers.
curl -X GET "https://voice.evryhealth.com/api/v1/call-centers" \-H "Authorization: Bearer YOUR_API_KEY"
{"data": {"callCenters": [{"id": "cc1…","name": "Member services","status": "active","agentCount": 24}]},"meta": {"requestId": "req_…","pagination": {"nextCursor": null,"limit": 50}}}
Agent states#
Who is staffing the call center and what state each is in right now: the read behind a wallboard or a workforce system. Working state, not personnel records.
/api/v1/call-centers/{callCenterId}/agentsPath parameters
callCenterIdstringrequired- Call center id.
Query parameters
searchstring- Match name, email or agent number.
statusstring- available, away, on_call, busy or offline.
Responses
The agents.
curl -X GET "https://voice.evryhealth.com/api/v1/call-centers/{callCenterId}/agents" \-H "Authorization: Bearer YOUR_API_KEY"
{"data": {"agents": [{"id": "ag1…","agentNumber": 108,"name": "Dan Whitfield","role": "agent","status": "on_call","statusChangedAt": "2026-09-15T14:01:02.000Z","skills": ["Spanish","Claims"]}]},"meta": {"requestId": "req_…"}}
Calls#
Queued, live and finished calls, with the timings that make service level answerable: how long the caller waited, talked, and was on hold. A key sees the calls its owner would see in the product: an agent their own calls (and the shared main-line voicemail), a supervisor of some groups those groups' calls, owners, admins and ungrouped supervisors every call.
/api/v1/call-centers/{callCenterId}/callsPath parameters
callCenterIdstringrequired- Call center id.
Query parameters
statusstring- Filter by status.
agentIdstring- Only this agent's calls. An agent-level key only ever sees its owner's own.
groupIdstring- Only calls of this agent group. Must be a group the key's owner can see.
fromstring- ISO date lower bound.
tostring- ISO date upper bound.
pagenumber- Page number.
- Default
1 pageSizenumber- Up to 200.
- Default
50
Responses
A page of calls.
curl -X GET "https://voice.evryhealth.com/api/v1/call-centers/{callCenterId}/calls" \-H "Authorization: Bearer YOUR_API_KEY"
{"data": {"calls": [{"id": "ccc1…","callId": "5f1c…","direction": "inbound","status": "completed","agentName": "Dan Whitfield","waitSeconds": 22,"talkSeconds": 184,"holdSeconds": 0}],"total": 128},"meta": {"requestId": "req_…","pagination": {"nextCursor": "2","limit": 50}}}