Skip to navigation

Get Run Analysis

Fetch delivery, quality and cost analysis for a workflow run.

Three independent blocks, each carrying its own status so one unavailable block never blanks the others:

  • audio — delivered vs replaced audio duration per locale. “Replaced” counts persisted non-delivered takes only; discarded takes and split-line concat entries are excluded so nothing is double counted.
  • validators — one entry per validator NODE (not per kind: two validators of the same kind on different generators are legal and may carry different thresholds), with per-locale scores read from each line’s DELIVERED take.
  • credits — per-node breakdown of the run’s charge, mirroring the ledger. Amounts are unrounded decimal STRINGS; the run-level floor and minimum are applied once at settlement and reported separately as charged, which is the balance debit PLUS overage_credits — the remainder billed against the next invoice when a paid plan’s balance ran out mid-run.

The run block’s duration_ms is ACTIVE duration — wall-clock (completed_at - started_at) minus time the run spent paused — and paused_ms reports that excluded paused total (POD-417).

Scores here can differ from GET /runs/{run_id}/overview: that endpoint reads each line’s last take and is frozen on those semantics, while this one reads the take actually delivered. When a retry produced a worse clip and an earlier one won, the two legitimately disagree.

Related sub-resources:

  • GET /runs/{run_id} — full run record including the raw definition snapshot.
  • GET /runs/{run_id}/status — volatile status fields only; for polling.
  • GET /runs/{run_id}/overview — pre-aggregated metrics and node state map.
  • GET /runs/{run_id}/data — paginated script+audio rows for a data table.

Authentication

AuthorizationBearer
Clerk JWT token
OR
AuthorizationBearer

Onepin live API key (op_live_...). Test and public keys are reserved in Phase 1.

Path parameters

workflow_idstringRequiredformat: "uuid"
run_idstringRequiredformat: "uuid"

Headers

X-Workspace-Idstring or nullOptional

Response

Successful Response
dataobject
metaobject

Errors

422
Unprocessable Entity Error