---
title: "List violations (findings)"
method: GET
path: "/v1/trace/violations"
tags: ["Trace"]
---

# List violations (findings)

`GET /v1/trace/violations`

## Request

- Base URL: `https://api.pyai.com`
- URL: `https://api.pyai.com/v1/trace/violations`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`

Cursor-paginated drill-down of every fired rule across scorecards. Filter by `rule_id`, `severity`, or `interaction_id`. Requires the `trace:read` scope.

## Query parameters

- `rule_id` string
- `severity` 'low' | 'medium' | 'high' | 'critical'
- `interaction_id` string
- `limit` integer
- `cursor` string

## Response `200`

Violations

- object
  - `object` string
  - `data` TraceViolation[]
    - `object` string
    - `id` string
    - `interaction_id` string: call_id
    - `agent_id` string, nullable
    - `rule_id` string
    - `pack_id` string, nullable
    - `severity` 'low' | 'medium' | 'high' | 'critical'
    - `action_taken` 'pass' | 'flag' | 'modify' | 'block'
    - `citation` string: Cited regulation, e.g. '47 CFR § 64.1200(b)(1)'.
    - `reason` string: Plain-English explanation.
    - `at_t` number, nullable: Seconds since call start.
  - `has_more` boolean
  - `next_cursor` string, nullable

## Other responses

- `401`: Missing or invalid API key (`code: unauthorized`)

---

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