Skip to main content
GET /calls requires calls:read, from and to ISO timestamps with offsets, and an increasing interval of at most 366 days. The start is inclusive and the end is exclusive. Optional filters are listId, ownerId, after and limit. GET /calls/{id} uses the call SID, not the numeric row ID from collection data. A call outside your credential’s scope returns the same 404 as a missing call. Responses include owner, direction, call status, disposition, talk time, original list attribution, and permitted evidence.

Delayed or restricted evidence

Recording and transcript states are restricted without recordings:read and transcripts:read, respectively. With permission, each is available or unavailable. Authorized recording reads include url; transcript reads include segments:[{speaker,text}]. Unavailable can mean delayed, uncaptured or removed evidence. Re-fetch the call after recording.available, transcript.available or a later call update event. A stored recording reference does not prove that a provider-hosted URL is publicly playable. Never send provider credentials to a browser. A collection cursor discovers increasing row IDs; it does not discover every later disposition or transcript. Use changes and webhooks to re-fetch updated resources. Historical rows without established workspace attribution remain excluded until a reviewed backfill.

List attribution

The call response’s listId follows the original session, not the contact’s current list membership. Calls without a retained session/list link can have null list attribution. Moving a contact does not rewrite its prior calls’ list attribution.

Compare lists or owners

GET /analytics/summary requires analytics:read and accepts:
  • startDate and endDate: inclusive calendar days, up to 366 days.
  • timezone: IANA timezone, default UTC.
  • Optional listId and ownerId.
  • groupBy: list (default), owner or none.
  • conversationThresholdSeconds: 1–3,600, default 120.
The response includes the resolved half-open UTC range, threshold and groups. Each group reports calls, connected, conversations, talkTimeSeconds, connectRate, conversationRate and verifiedConversions:null. Connects count accepted calls with positive local/provider talk time, or a non-voicemail call with positive provider talk time. Conversations use those conditions at or above the threshold. Rates divide by all calls in the group; these are call rates, not unique-contact conversion rates. Join bookings, payments or sales from their authoritative system to calculate verified business conversion. A positive disposition alone is not proof of a sale.