Skip to main content
GET
List calls
Retrieve a paginated list of calls for your organization. Use Cases:
  • Display calls in external dashboards
  • Track call outcomes for commission calculations
  • Export call data for analytics
Filtering:
  • Filter by outcome, lead, closer, scheduler
  • Filter upcoming vs past calls
  • Results automatically scoped to your organization
  • Defaults to scheduled booking records. Use call_kind=intent to list intent calls.

Intent calls and form answers

An intent is a Call that records progress before a meeting is booked. A lead is the person, so its ID differs from the intent call ID. A qualified lead can have all form answers and no booked meeting. Request GET /v1/calls?lead_id=LEAD_UUID&call_kind=intent. Each result contains its Call id and form_answers in this response:
Answers preserve field identity and string, string-array or boolean values. Basic contact and internal fields are excluded. No custom answers returns []. GET /v1/calls/{id} includes the same answers; GET /v1/calls/{id}/answers remains available and returns identical data.answers. Raw form_data is retained. GraphQL exposes calls(callKind: intent, leadId: "LEAD_UUID") { edges { node { id formAnswers { fieldId label value type } } } }.
  • Intent scheduled_at is a tracking placeholder, not a booked meeting time.
  • Keep filters unchanged when following pagination cursors.
AI review. Each call carries ai_summary and a has_analysis flag. Where has_analysis is true, fetch the full review, including scores, objection handling, key moments, call journey and coaching, from GET /v1/calls/{id}/analysis. To be notified as reviews complete instead of polling this list, subscribe to the call.analysis_completed webhook.

Query Parameters

call_kind
enum<string>

Record kind. Defaults to booking. Use intent with lead_id to discover a partial lead's submitted answers; intents are not scheduled meetings.

Available options:
booking,
intent
Example:

"intent"

limit
integer

Number of results per page (1-100, values outside clamp)

Example:

50

cursor
string

Cursor for pagination

status
enum<string>

Filter by call status

Available options:
shown,
no_show,
cancelled,
rescheduled,
closed,
lost,
follow_up,
declined,
unfit
Example:

"closed"

lead_id
string

Filter by lead ID

closer_id
string

Filter by closer ID (Clerk user ID)

Pattern: ^user_[A-Za-z0-9]+$
Example:

"user_2abc123xyz"

setter_id
string

Filter by setter ID (Clerk user ID)

Pattern: ^user_[A-Za-z0-9]+$
Example:

"user_2def456uvw"

Filter by scheduler ID

is_upcoming
enum<string>

Filter for upcoming calls (true) or past calls (false). Omit for all calls.

Available options:
true,
false
Example:

"true"

Response

Successfully retrieved calls

data
object[]
required
pagination
object
required