Skip to main content
GET
Get an interaction (the evidence view)

Authorizations

Authorization
string
header
required

Use Authorization: Bearer pyai_live_... (or pyai_test_...).

Path Parameters

id
string
required

The call_id.

Response

Interaction detail

object
string
Example:

"trace.interaction"

id
string

call_id

agent_id
string | null
product
enum<string> | null
Available options:
hear,
voice,
speak,
clone,
cue,
flow,
omni,
agents,
null
verdict
enum<string>
Available options:
PASS,
WARN,
FAIL
findings
integer
blocked_turns
integer
modified_turns
integer
packs_enforced
string
scored_at
integer

Unix ms.

source
string | null

Call origin, for example external.

audit_hash
string

Hash-chain link proving this record is unaltered (the signed-evidence guarantee).

scorecard
object

The full trace-scorecard-v0/v1 record: findings, satisfied requirements, redactions, gate health, verdict, and (scorecard-v1) the optional timeline/quality_metrics eval blocks.

tier2_findings
object[]

Tier-2 (async semantic) findings for this call, joined at read time. They arrive after the scorecard and never alter audit_hash.

timeline
object[]

scorecard-v1 per-call timeline (transcript turns + latency stamps used for eval scoring), hoisted from the scorecard for convenience. Empty [] until the engine emits it.

quality_metrics
object | null

scorecard-v1 per-call rolled-up quality metrics, hoisted from the scorecard. null until the engine emits it.

derived_metrics
object

Platform-computed rollup of the timeline into score-ready eval aggregates (TTFB, turn counts, barge detect + recovery). Always present; zero counts and null percentiles until the engine emits a timeline. Percentiles use the same method as the offline eval harness, so an online per-call score lines up with the offline benchmark.