---
title: "Get Call Quality Metrics"
method: GET
path: "/developer/call-quality-metrics"
tags: ["Developer", "Developer - Call Quality"]
---

# Get Call Quality Metrics

`GET /developer/call-quality-metrics`

## Request

- Base URL: `https://api.openintake.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.openintake.ai/developer/call-quality-metrics`
- Auth: none declared

Get time-bucketed call quality metrics across all customers.

Buckets by Call.created_at (UTC date_trunc) so quality maps to when the
call happened, not when it was graded. Rates are null (not 0) when the
denominator is 0 so charts can show gaps instead of fake zeros.

## Query parameters

- `period` string
- `customer_id` string, uuid, nullable: Filter to one customer; omit for all customers

## Response `200`

Successful Response

- CallQualityMetricsResponse: Time-bucketed call quality metrics from the grading system
  - `period` string, required: Requested period: 7d|30d|90d|all
  - `bucket` string, required: Bucket granularity used: day|week|month
  - `customer_id` string, uuid, nullable: Customer filter applied, or null for all customers
  - `summary` CallQualitySummary, required: Whole-window grading aggregates
    - `total_calls` integer, required
    - `graded_calls` integer, required
    - `graded_pct` number, nullable, required
    - `quality_a` integer, required
    - `quality_b` integer, required
    - `quality_c` integer, required
    - `quality_f` integer, required
    - `quality_ungraded` integer, required
    - `gpa` number, nullable, required
    - `goal_accomplished_pct` number, nullable, required
    - `caller_hung_up_pct` number, nullable, required
  - `buckets` CallQualityBucket[]: Chronological, gap-filled buckets
    - `bucket_start` string, date-time, required: Inclusive start of the bucket (UTC)
    - `total_calls` integer, required
    - `graded_calls` integer, required
    - `quality_a` integer, required
    - `quality_b` integer, required
    - `quality_c` integer, required
    - `quality_f` integer, required
    - `quality_ungraded` integer, required
    - `gpa` number, nullable: Mean of A=4/B=3/C=2/F=0 over graded calls; null if none graded
    - `goal_accomplished` integer, required
    - `goal_not_accomplished` integer, required
    - `goal_accomplished_pct` number, nullable: Null when no calls have goal data
    - `caller_hung_up` integer, required
    - `caller_hung_up_pct` number, nullable: Null when no calls are graded
    - `graded_pct` number, nullable: Null when the bucket has no calls

## Other responses

- `422`: Validation Error

---

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