Skip to main content
GET
Get a run
Skill run ids start with run_. Anything else is looked up as a workflow run. While the run is going, status is queued, pending, or running. Once it ends:
  • A skill run has its rows in rows, plus count, cost, version, and the trust fields.
  • A workflow run has kind: "workflow", outputs, a per-step summary in steps, cost, and failure_class.
What each field means is in Runs. You can read a run if you started it or may see the skill or workflow. Needs runs:read for a skill run, workflows:read for a workflow run. The older GET /v1/workflow-runs/{run_id} still works for workflow runs. MCP tool: get_run, which pages the rows. See Run results.

Authorizations

Authorization
string
header
required

API key with the vd_sk_ prefix, as Authorization: Bearer vd_sk_.... Create keys in Settings → API Keys.

Path Parameters

run_id
string
required

Response

The run.

GET /v1/runs/{run_id}: status while it runs, the result once it is done.

run_id
string
required
status
string
required
skill_id
string | null
skill_slug
string | null
created_at
string<date-time> | null
execution_time_ms
integer
default:0
count
integer
default:0
error
string | null
credits_charged
number
default:0
cost_usd
number
default:0
cost_final
boolean
default:true
cost_estimate_credits
number
default:0
rows
any[]
scrape_mode_used
string | null
drifted_fields
Drifted Fields · object
unverified_fields
Unverified Fields · object
rejected_values
Rejected Values · object[]
truncated_sections
Truncated Sections · object[]
triage_kind
string | null
failure_class
string | null
credits_refunded
number
default:0
needs_user
Needs User · object | null
recipe_version
integer | null
heal_kind
string | null
tier_used
string | null
tier_timings
Tier Timings · object[]
draft_run
boolean
default:false
diagnosis
Diagnosis · object | null

Why the run came back short, and what a hint could say to fix it (POST /v1/skills/{slug}/improve).