Call Intelligence
Who was speaking, how the call sounded, and what we learned about them.
Three analyzers run over a call and produce three different kinds of answer. Speaker recognition says whether the voice on the line is one we have heard before on this number. Voice insights describe how the call sounded — tone, talk-over, hold, line quality — rather than what was said. Profiles are what reading the transcript taught us about the people involved, kept as evidence and resolved rather than overwritten. Each runs during the call and again over the recording afterwards, so the same endpoint answers during and after.
Call intelligence
Everything the analyzers found on one finished call, in a single read. A section is null when its analyzer is switched off for the organization or has not finished.
/api/v1/calls/{callId}/intelligencePath parameters
| Parameter | Type | Description |
|---|---|---|
callIdrequired | string | Platform call id. |
Responses
{"data": {"callId": "5f1c…","engine": "realtime","status": "completed","speakers": [{"voiceprintId": "9ab2…","status": "returning","displayName": "Maria","normalizedScore": 4.21,"threshold": 3.616,"priorCallCount": 3,"previousCallAt": "2026-09-02T16:41:09.000Z"}],"voice": {"source": "recording","summary": {"callerTone": "tense","callerTalkShare": 0.38,"agentSlowReplies": 2,"longestSilenceSeconds": 7.4}},"profiles": {"status": "done","people": [{"id": "1c7d…","displayName": "Maria Alvarez","callCount": 4}],"place": {"id": "bb01…","displayName": "Riverside Family Practice"}}},"meta": {"requestId": "req_8f21…"}}
curl -X GET "https://voice.evryhealth.com/api/v1/calls/{callId}/intelligence" \-H "Authorization: Bearer YOUR_API_KEY"
Live intelligence
What the analyzers know about a call that is still running, read from the same place the live agent's own tools read. A finished call answers with nulls here and its full record from the endpoint above.
/api/v1/calls/{callId}/intelligence/livePath parameters
| Parameter | Type | Description |
|---|---|---|
callIdrequired | string | Platform call id. |
Responses
{"data": {"callId": "5f1c…","live": true,"speaker": {"known": true,"name": "Maria","timesSpokenBefore": 3,"lastSpokeAt": "2026-09-02T16:41:09.000Z"},"voice": {"live": true,"updatedAt": "2026-09-15T14:02:11.412Z","summary": {"callerTone": "tense","voicemail": false}}},"meta": {"requestId": "req_…"}}
curl -X GET "https://voice.evryhealth.com/api/v1/calls/{callId}/intelligence/live" \-H "Authorization: Bearer YOUR_API_KEY"
List people
Everyone the organization has spoken to, most recently heard first. People are built from calls rather than from a contact list.
/api/v1/peopleQuery parameters
| Parameter | Type | Description |
|---|---|---|
search | string | Match on the resolved name. |
limit | number | Up to 200. Default: |
cursor | string | From meta.pagination.nextCursor. |
Responses
{"data": {"people": [{"type": "person","id": "1c7d…","displayName": "Maria Alvarez","callCount": 4,"lastSeenAt": "2026-09-15T14:02:11.000Z"}]},"meta": {"requestId": "req_…","pagination": {"nextCursor": null,"limit": 50}}}
curl -X GET "https://voice.evryhealth.com/api/v1/people" \-H "Authorization: Bearer YOUR_API_KEY"
Get a person
Every attribute held about one person, with the confidence and the number of independent observations behind it, plus the people they work with.
/api/v1/people/{personId}Path parameters
| Parameter | Type | Description |
|---|---|---|
personIdrequired | string | Person id. |
Responses
{"data": {"person": {"type": "person","id": "1c7d…","displayName": "Maria Alvarez","callCount": 4,"facts": [{"attribute": "role","value": "Practice manager","isCurrent": true,"confidence": 0.82,"supportCount": 3,"sources": ["transcript","contact"]}],"relations": [{"relation": "works_at","direction": "out","otherType": "place","otherName": "Riverside Family Practice"}]},"colleagues": [{"id": "77aa…","displayName": "Dan Whitfield"}]},"meta": {"requestId": "req_…"}}
curl -X GET "https://voice.evryhealth.com/api/v1/people/{personId}" \-H "Authorization: Bearer YOUR_API_KEY"
List places
The far ends of the numbers called — a practice, a household, a person's own line. Places are what tie people together.
/api/v1/placesQuery parameters
| Parameter | Type | Description |
|---|---|---|
search | string | Match on the resolved name. |
limit | number | Up to 200. Default: |
cursor | string | From meta.pagination.nextCursor. |
Responses
{"data": {"places": [{"type": "place","id": "bb01…","displayName": "Riverside Family Practice","phoneKey": "+15125550147","kind": "business","callCount": 12}]},"meta": {"requestId": "req_…","pagination": {"nextCursor": null,"limit": 50}}}
curl -X GET "https://voice.evryhealth.com/api/v1/places" \-H "Authorization: Bearer YOUR_API_KEY"
Get a place
One place and the people reached there.
/api/v1/places/{placeId}Path parameters
| Parameter | Type | Description |
|---|---|---|
placeIdrequired | string | Place id. |
Responses
{"data": {"place": {"type": "place","id": "bb01…","displayName": "Riverside Family Practice"},"people": [{"id": "1c7d…","name": "Maria Alvarez"}]},"meta": {"requestId": "req_…"}}
curl -X GET "https://voice.evryhealth.com/api/v1/places/{placeId}" \-H "Authorization: Bearer YOUR_API_KEY"
Voice history
Every call one recognized voice has been heard on. The embedding itself is never served: it is the biometric identifier, and a copy of it is only useful for identifying someone somewhere else.
/api/v1/voiceprints/{voiceprintId}Path parameters
| Parameter | Type | Description |
|---|---|---|
voiceprintIdrequired | string | Voiceprint id. |
Responses
{"data": {"history": [{"callId": "5f1c…","decidedAt": "2026-09-15T14:02:11.000Z","status": "returning"}]},"meta": {"requestId": "req_…"}}
curl -X GET "https://voice.evryhealth.com/api/v1/voiceprints/{voiceprintId}" \-H "Authorization: Bearer YOUR_API_KEY"
Erase a voice
Delete the voice and every embedding taken from it. A real delete rather than a flag, because this is how an erasure request is serviced. The call-level match rows remain: they record that a recognition happened and carry no biometric content once the vectors are destroyed.
/api/v1/voiceprints/{voiceprintId}Path parameters
| Parameter | Type | Description |
|---|---|---|
voiceprintIdrequired | string | Voiceprint id. |
Responses
{"data": {"erased": true},"meta": {"requestId": "req_…"}}
curl -X DELETE "https://voice.evryhealth.com/api/v1/voiceprints/{voiceprintId}" \-H "Authorization: Bearer YOUR_API_KEY"