---
title: "Get Call Pipeline Summary"
method: GET
path: "/api/v1/voice-agents/calls/{voice_call_id}/pipeline-summary"
tags: ["voice-agent-metrics"]
---

# Get Call Pipeline Summary

`GET /api/v1/voice-agents/calls/{voice_call_id}/pipeline-summary`

## Request

- Base URL: `https://api.getanana.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getanana.com/api/v1/voice-agents/calls/{voice_call_id}/pipeline-summary`
- Auth: none declared

Aggregate pipeline latency metrics for a single voice call.

## Path parameters

- `voice_call_id` string, uuid, required

## Response `200`

Successful Response

- CallPipelineMetricsSummary: Per-call aggregate pipeline metrics for the Insights tab.
  - `avg_eou_delay_ms` integer, nullable
  - `avg_llm_ttft_ms` integer, nullable
  - `avg_tts_ttfb_ms` integer, nullable
  - `avg_e2e_latency_ms` integer, nullable
  - `turn_count` integer
  - `eou` StageLatencyStat: Distribution of one pipeline stage's latency (avg + percentiles). Percentiles come from Postgres ``percentile_cont`` over the same rows the average is computed on. Latency is a tail problem — the average hides the slow turns callers actually feel — so p95/p99 are the numbers that matter.
    - `avg_ms` integer, nullable
    - `p50_ms` integer, nullable
    - `p95_ms` integer, nullable
    - `p99_ms` integer, nullable
  - `llm_ttft` StageLatencyStat: Distribution of one pipeline stage's latency (avg + percentiles). Percentiles come from Postgres ``percentile_cont`` over the same rows the average is computed on. Latency is a tail problem — the average hides the slow turns callers actually feel — so p95/p99 are the numbers that matter.
    - `avg_ms` integer, nullable
    - `p50_ms` integer, nullable
    - `p95_ms` integer, nullable
    - `p99_ms` integer, nullable
  - `tts_ttfb` StageLatencyStat: Distribution of one pipeline stage's latency (avg + percentiles). Percentiles come from Postgres ``percentile_cont`` over the same rows the average is computed on. Latency is a tail problem — the average hides the slow turns callers actually feel — so p95/p99 are the numbers that matter.
    - `avg_ms` integer, nullable
    - `p50_ms` integer, nullable
    - `p95_ms` integer, nullable
    - `p99_ms` integer, nullable
  - `e2e` StageLatencyStat: Distribution of one pipeline stage's latency (avg + percentiles). Percentiles come from Postgres ``percentile_cont`` over the same rows the average is computed on. Latency is a tail problem — the average hides the slow turns callers actually feel — so p95/p99 are the numbers that matter.
    - `avg_ms` integer, nullable
    - `p50_ms` integer, nullable
    - `p95_ms` integer, nullable
    - `p99_ms` integer, nullable
  - `perceived` StageLatencyStat: Distribution of one pipeline stage's latency (avg + percentiles). Percentiles come from Postgres ``percentile_cont`` over the same rows the average is computed on. Latency is a tail problem — the average hides the slow turns callers actually feel — so p95/p99 are the numbers that matter.
    - `avg_ms` integer, nullable
    - `p50_ms` integer, nullable
    - `p95_ms` integer, nullable
    - `p99_ms` integer, nullable
  - `avg_prompt_tokens` integer, nullable
  - `avg_prompt_cached_tokens` integer, nullable
  - `cache_hit_rate` number, nullable

## Other responses

- `422`: Validation Error

## Changes

> 55 revisions in range; 1 not diffed.

- **2026-09-03** `d65b8fefae34`: 2 info
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status

[Operation history](https://skmtc.dev/getanana/apis/cleon-api/changes/api/v1/voice-agents/calls/:voice_call_id/pipeline-summary/get.md)

---

[API](https://skmtc.dev/getanana/apis/cleon-api.md) · [All operations](https://skmtc.dev/getanana/apis/cleon-api/llms.txt) · [OpenAPI document](https://skmtc.dev/getanana/apis/cleon-api/revisions/4d9d38769a75?raw)
