run_id. You can see every run in the app’s run history, or read it with GET /v1/runs/{run_id}.
Wait, or run in the background
Workflows have the same pair under
/v1/workflows/{slug}. See Run a skill.
Status
What a finished run holds
- Rows: the data, one object per row, with the skill’s output fields.
- Count and time taken.
- Version: the skill version this run used (
recipe_version). - Route: how it ran (
tier_used): a fast path or the full browser steps. See Fast path. - Replay: in the app, a browser run has a step-by-step replay with screenshots, so you can see where it clicked and typed.
- Cost:
credits_chargedandcost_usd. A cloud browser is billed when it closes, so a run can answer before its final cost is known. Until thencost_finalisfalseandcost_estimate_creditsholds the expected total. Read the run again for the final number.
How far to trust the rows
Valendata never fills in a value it did not see. Each result says what it is unsure of:Why a run failed
A failed run has onetriage_kind, such as site_down, blocked, logged_out, or element_changed. Only page changes are repaired. The full list is in Keeping skills working.
Workflow runs also have a failure_class:
Skill runs follow the same rule: a run that fails on our side is refunded and marked Failed on our side — refunded.

