---
title: "List phone calls"
method: GET
path: "/cases/{case_id}/phone-calls"
tags: ["Phone Calls"]
---

# List phone calls

`GET /cases/{case_id}/phone-calls`

## Request

- Base URL: `https://api.example.com/v1`
- URL: `https://api.example.com/v1/cases/{case_id}/phone-calls`
- Auth: none declared

List all phone calls made for a case, including recordings and AI-generated summaries.

## Query parameters

- `page` integer
- `per_page` integer
- `status` 'initiated' | 'ringing' | 'in_progress' | 'completed' | 'failed' | 'no_answer' | 'busy' | 'cancelled'
- `institution_contact_id` string
- `sort_by` 'created_at' | 'duration_seconds'
- `sort_order` 'asc' | 'desc'

## Response `200`

List of phone calls.

- object
  - `data` PhoneCall[]
    - `id` string
    - `institution_contact_id` string, nullable: Reference to the institution contact called.
    - `to_number` string
    - `from_number` string: Twilio-provisioned number used for the call.
    - `status` 'initiated' | 'ringing' | 'in_progress' | 'completed' | 'failed' | 'no_answer' | 'busy' | 'cancelled'
    - `direction` 'outbound'
    - `duration_seconds` integer, nullable
    - `started_at` string, date-time, nullable
    - `ended_at` string, date-time, nullable
    - `recording_url` string, uri, nullable: URL to the call recording audio file.
    - `recording_duration_seconds` integer, nullable
    - `recording_status` 'processing' | 'completed' | 'failed' | 'null', nullable
    - `transcript` string, nullable: Full transcript of the call.
    - `summary` string, nullable: AI-generated summary of the call contents and outcomes.
    - `action_items` object[]: AI-extracted action items from the call.
      - `description` string
      - `completed` boolean
    - `called_by` string, nullable: User ID of the person who initiated the call.
    - `twilio_call_sid` string, nullable: Twilio Call SID for reference.
    - `notes` string, nullable
    - `created_at` string, date-time
    - `updated_at` string, date-time
  - `meta` PaginationMeta
    - `page` integer
    - `per_page` integer
    - `total_count` integer
    - `total_pages` integer
    - `next_cursor` string, nullable: Opaque cursor for fetching the next page. Pass as the `cursor` query parameter. Null when on the last page.
    - `has_more` boolean: Whether more results exist beyond this page.

## Other responses

- `404`: Resource not found.

---

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