---
title: "Get Call Analysis Calls"
method: GET
path: "/call-analysis/calls"
tags: ["call-analysis"]
---

# Get Call Analysis Calls

`GET /call-analysis/calls`

## Request

- Base URL: `https://api-docs.upsmith.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api-docs.upsmith.com/call-analysis/calls`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

## Query parameters

- `started_at` string, date-time, required: Inclusive timestamp from overview.period.started_at
- `ended_at` string, date-time, required: Exclusive timestamp from overview.period.ended_at
- `sort_by` 'time' | 'agent' | 'classification' | 'booking_intent' | 'handling'
- `sort_direction` 'asc' | 'desc'
- `prioritize_booking_intent` boolean
- `exclude_booked_since` boolean
- `exclude_internal` boolean
- `bucket` 'all' | 'bookable' | 'booked' | 'not_booked' | 'booking_unknown' | 'no_intent' | 'handled' | 'not_handled' | 'irrelevant' | 'handling_unclear' | 'intent_unclear' | 'not_evaluated'
- `classification` 'booked' | 'unbooked' | 'abandoned' | 'excused' | 'not_lead' | 'other' | 'missing'
- `evaluation_status` 'no_recording' | 'pending'
- `processing_status` 'no_recording' | 'not_transcribed' | 'not_evaluated' | 'pending'
- `limit` integer
- `offset` integer
- `csr_id` string, nullable
- `reason` string, nullable: Exact saved ServiceTitan call reason name
- `reason_missing` boolean: Only calls without a saved ServiceTitan reason name; cannot be combined with reason
- `direction` 'inbound' | 'outbound': Which calls the tab reads. Its own enum rather than the ServiceTitan model's, so the public query vocabulary does not move when that mirror does.

## Headers

- `organization-id` string, nullable
- `x-user-id` string, nullable
- `timezone` string
- `x-actor-email` string, nullable
- `x-request-source` string, nullable
- `x-operation-id` string, nullable
- `x-commit-message` string, nullable
- `x-confirmation-id` string, nullable
- `x-chat-id` string, nullable

## Response `200`

Successful Response

- CallAnalysisCallsPublic
  - `sort_by` 'time' | 'agent' | 'classification' | 'booking_intent' | 'handling'
  - `sort_direction` 'asc' | 'desc'
  - `prioritize_booking_intent` boolean
  - `exclude_booked_since` boolean
  - `exclude_internal` boolean
  - `reason` string, nullable
  - `reason_missing` boolean
  - `csr_id` string, nullable
  - `started_at` string, date-time, required
  - `ended_at` string, date-time, required
  - `bucket` 'all' | 'bookable' | 'booked' | 'not_booked' | 'booking_unknown' | 'no_intent' | 'handled' | 'not_handled' | 'irrelevant' | 'handling_unclear' | 'intent_unclear' | 'not_evaluated', required
  - `classification` 'booked' | 'unbooked' | 'abandoned' | 'excused' | 'not_lead' | 'other' | 'missing', required
  - `evaluation_status` 'no_recording' | 'pending'
  - `processing_status` 'no_recording' | 'not_transcribed' | 'not_evaluated' | 'pending'
  - `items` CallAnalysisCallPublic[], required
  - `total` integer, required
  - `limit` integer, required
  - `offset` integer, required
  - `has_more` boolean, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/upsmith/apis/upsmith-api.md) - [All operations](https://skmtc.dev/upsmith/apis/upsmith-api/llms.txt) - [OpenAPI document](https://skmtc.dev/upsmith/apis/upsmith-api/revisions/86e2c2bd93af?raw)
