Skip to main content
Issue reports flag specific calls for quality review. They are created on a per-call basis via POST /v1/calls/{call_id}/issue-reports and can also be filed automatically by call grading when it detects an issue pattern. This page documents the org-wide feed — use it to build dashboards and route issues to your QA workflow.

Endpoints

Issue report object


List issue reports

Query parameters

Returns 200 OK with a paginated envelope of Issue report objects, ordered by severity (criticalwarninginfo) and then newest first:

Update a report’s status

Reports move through openacknowledgedresolved (any transition is allowed). Both update endpoints accept only status.

Single report

The path key is the report’s trace_id (not the integer id). Returns 200 OK with the updated Issue report object, or 404 if no report with that trace_id exists in your org.

Bulk

Response
Unknown trace_ids are skipped silently — updated counts the rows actually changed.

Issue clusters

Reports that share a failure mechanism are grouped into clusters — the rows on the dashboard’s Issues page. Each cluster carries a name, a failure-mode description, a fix lane, aggregate counts, and (when one exists) a summary of its latest investigation.

List issue clusters

GET /v1/issue-clusters Returns { "results": [...], "total": n, "limit": n, "offset": n }. Each cluster includes fix_lane (prompt, audio, runtime, model, config, infra, other), severity, call_count, report_count, investigation_summary, and flagged_at — when the cluster was flagged to ThunderPhone (platform-side lanes are flagged automatically; so are prompt issues whose investigation ended without a confirmed fix).

Update a cluster

PATCH /v1/issue-clusters/{cluster_id} Accepts status (open, acknowledged, resolved) and/or fix_lane with fix_lane_source. Setting a status cascades to the cluster’s reports; reclassifying onto a platform-side lane flags the cluster to ThunderPhone automatically.

Escalate a cluster

POST /v1/issue-clusters/{cluster_id}/escalate Body: { "note": "..." }. Sends the cluster to ThunderPhone with a full evidence bundle (reports, evidence values, recent investigation results). Escalating again appends your note to the open escalation. Emits the issue.escalated webhook.

Call issue reports

File a report on a specific call.

Call grading

AI-detected issues automatically produce reports here.