---
title: "List Calls"
method: GET
path: "/v1/calls"
tags: ["Calls"]
---

# List Calls

`GET /v1/calls`

Retrieve all calls with optional filtering and pagination.

## Query parameters

- `limit` integer
- `offset` integer
- `customer_id` string
- `from_number` string
- `to_number` string
- `bot_uid` string
- `from_date` string, date-time
- `to_date` string, date-time
- `call_status` 'registered' | 'ongoing' | 'ended' | 'error'
- `call_type` 'phonecall' | 'webcall'

## Response `200`

List of calls retrieved successfully

- ListCallsResponse
  - `calls` CallResponse[], required
    - `call_type` 'phonecall' | 'webcall', required — Type of call
    - `from_number` string, required — Originating phone number
    - `to_number` string, required — Destination phone number
    - `direction` 'inbound' | 'outbound', required — Call direction
    - `call_id` string, required — Unique call identifier
    - `agent_id` string, required — Bot/agent identifier
    - `call_status` 'registered' | 'ongoing' | 'ended' | 'error', required — Current call status
    - `customer_id` string — Customer identifier
    - `telephony_identifier` object — Telephony system identifiers
    - `start_timestamp` integer — Call start time (Unix timestamp in milliseconds)
    - `end_timestamp` integer — Call end time (Unix timestamp in milliseconds)
    - `duration_ms` integer — Call duration in milliseconds
    - `transcript` array[] — Call transcript as array of [speaker, message] pairs
      - string[] — Transcript entry with [speaker, message] format
    - `recording_url` string — URL to call recording
    - `latency` object — Latency metrics for different components
      - `e2e_min_latency` number — Minimum end-to-end latency in seconds
      - `e2e_median_latency` number — Median end-to-end latency in seconds
      - `e2e_p90_latency` number — 90th percentile end-to-end latency in seconds
      - `llm_min_latency` number — Minimum LLM processing latency in seconds
      - `llm_median_latency` number — Median LLM processing latency in seconds
      - `llm_p90_latency` number — 90th percentile LLM processing latency in seconds
      - `tts_min_latency` number — Minimum text-to-speech latency in seconds
      - `tts_median_latency` number — Median text-to-speech latency in seconds
      - `tts_p90_latency` number — 90th percentile text-to-speech latency in seconds
    - `call_analysis` object — Post-call analysis results including summary and success metrics
      - `summary` string — AI-generated summary of the call
      - `is_successful` boolean — Whether the call was deemed successful
      - `success_evaluation` string — Success evaluation result (e.g., 'good', 'excellent', 'poor')
      - `extracted_data` object, nullable — Structured data extracted from the call based on post-call settings
    - `call_cost` object — Detailed cost breakdown for the call
      - `total_cost` number — Total cost of the call in USD
      - `llm_cost` number — Cost attributed to LLM usage in USD
      - `tts_cost` number — Cost attributed to text-to-speech in USD
      - `stt_cost` number — Cost attributed to speech-to-text in USD
    - `dynamic_variables` object — Send dynamic variables in key value pairs to replace in the prompt.
  - `pagination` Pagination, required
    - `limit` integer, required — Number of items per page
    - `offset` integer, required — Number of items skipped
    - `total` integer, required — Total number of items
    - `has_more` boolean, required — Whether there are more items

## Other responses

- `400` — Bad request - invalid parameters
- `401` — Unauthorized - missing or invalid API key
- `500` — Internal server error

---

[API](https://skmtc.net/openmicai/apis/openmic-v1-external-api.md) · [All operations](https://skmtc.net/openmicai/apis/openmic-v1-external-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/openmicai/openmic-v1-external-api/revisions/71c32e6ffd95/schema)
