Skip to content

Guides

Calls

Read call activity — filtered lists, statuses, per-assistant summaries, bulk export, and full single-call payloads.

The calls API is your read-only window into everything your assistants have handled on the phone: transcripts, summaries, analysis, cost, and recording links.

Read-only

There is no API to place calls. Calls are created by the platform when someone dials one of your phone numbers; these endpoints only read the results.

MethodPathPurpose
GET/callsList calls with filters and pagination
GET/calls/statusesDistinct call statuses seen in your tenant
GET/calls/summary-by-assistantPer-assistant call summaries
GET/calls/exportBulk export (up to 10,000 rows, lean fields)
GET/calls/{id}One call with the full payload

List calls#

GET /calls

Query paramTypeRequiredDescription
limitnumberNoPage size, max 500 (default 50)
offsetnumberNoItems to skip (default 0)
assistantIdUUIDNoOnly calls handled by this assistant
statusstringNoFilter by status (values from /calls/statuses)
dateFrom / dateToISO 8601 datetime (with offset)NoTime window, e.g. 2026-07-01T00:00:00+00:00
durationMin / durationMaxnumberNoCall duration bounds
sortBystartedAt | createdAtNoSort key (default startedAt)
searchstringNoFree-text search
bash
curl "https://core-api.heysadie.ai/calls?assistantId=ASSISTANT_ID&dateFrom=2026-07-01T00:00:00%2B00:00&limit=100" \
  -H "Authorization: ApiKey YOUR_API_KEY"

Discover statuses#

GET /calls/statuses returns the distinct status strings that actually occur in your tenant's call history — use it to build filter dropdowns rather than hard-coding values.

Terminal
curl https://core-api.heysadie.ai/calls/statuses \
  -H "Authorization: ApiKey YOUR_API_KEY"

Per-assistant summaries#

GET /calls/summary-by-assistant returns one row per assistant:

FieldDescription
assistantId / assistantNameWhich assistant
totalCallsTotal call count
avgDurationAverage duration (nullable)
successRateSuccess rate
Terminal
curl https://core-api.heysadie.ai/calls/summary-by-assistant \
  -H "Authorization: ApiKey YOUR_API_KEY"

Export calls in bulk#

GET /calls/export returns up to 10,000 calls as JSON in one response. It accepts the same filters as the list endpoint (assistantId, status, dateFrom, dateTo, durationMin, durationMax, search) but no pagination params.

Lean rows only

Export rows exclude the heavy fields — no transcript, messages, analysis, summary, or recording URL. You get identifiers, timing, status, cost, and duration. Fetch GET /calls/{id} for the full payload of any call you need in depth. Use date-range filters to stay under the 10,000-row cap on busy tenants.

Terminal
curl "https://core-api.heysadie.ai/calls/export?dateFrom=2026-07-01T00:00:00%2B00:00&dateTo=2026-08-01T00:00:00%2B00:00" \
  -H "Authorization: ApiKey YOUR_API_KEY"

Get one call#

GET /calls/{id} returns the full call record:

FieldDescription
id, cidCall identifiers
type, status, endedReasonWhat kind of call, how it ended
startedAt, endedAt, callDurationTiming
transcript, messagesFull transcript and message log
summary, analysisAI-generated summary and structured analysis
recordingUrlRecording link (when recording is enabled)
cost, costBreakdownBilling detail
customerNumberThe caller's number
assistantId, assistantNameWhich assistant handled it
supervisorAnsweredWhether a human supervisor answered (transfers)
createdAt, updatedAtRecord timestamps
Terminal
curl https://core-api.heysadie.ai/calls/CALL_ID \
  -H "Authorization: ApiKey YOUR_API_KEY"

Next steps#