Skip to main content
GET
/
v1
/
workflows
/
tests
/
runs
/
{run_id}
/
results
/
{test_id}
from retab import Retab

client = Retab()

result = client.workflows.tests.runs.results.get(
    "wftestrun_q1z2",
    "wfnodetest_a",
)
print(result.verdict.status, result.outputs)
{
  "id": "wfnodetestrun_a",
  "run_id": "wftestrun_q1z2",
  "test_id": "wfnodetest_a",
  "target": { "type": "block", "block_id": "block_extract_invoice" },
  "lifecycle": { "status": "completed" },
  "timing": {
    "started_at": "2026-05-18T10:00:02Z",
    "completed_at": "2026-05-18T10:00:20Z",
    "duration_ms": 18221
  },
  "outputs": {
    "output-json-0": { "total": 1234.56, "vendor": { "name": "Acme Inc" } }
  },
  "assertion_result": {
    "assertion_id": "assert_xyz",
    "condition_kind": "equals",
    "status": "passed",
    "actual_value": 1234.56,
    "expected_value": 1234.56,
    "failure": null
  },
  "verdict": { "status": "passed" }
}

Documentation Index

Fetch the complete documentation index at: https://docs.retab.com/llms.txt

Use this file to discover all available pages before exploring further.

Fetch one result from a workflow-test run. The child key is the saved test_id, not an internal result row id.
from retab import Retab

client = Retab()

result = client.workflows.tests.runs.results.get(
    "wftestrun_q1z2",
    "wfnodetest_a",
)
print(result.verdict.status, result.outputs)
{
  "id": "wfnodetestrun_a",
  "run_id": "wftestrun_q1z2",
  "test_id": "wfnodetest_a",
  "target": { "type": "block", "block_id": "block_extract_invoice" },
  "lifecycle": { "status": "completed" },
  "timing": {
    "started_at": "2026-05-18T10:00:02Z",
    "completed_at": "2026-05-18T10:00:20Z",
    "duration_ms": 18221
  },
  "outputs": {
    "output-json-0": { "total": 1234.56, "vendor": { "name": "Acme Inc" } }
  },
  "assertion_result": {
    "assertion_id": "assert_xyz",
    "condition_kind": "equals",
    "status": "passed",
    "actual_value": 1234.56,
    "expected_value": 1234.56,
    "failure": null
  },
  "verdict": { "status": "passed" }
}

Authorizations

Api-Key
string
header
required

Path Parameters

run_id
string
required
test_id
string
required

Response

Successful Response

id
string
required
test_id
string
required
workflow_id
string
required
target
WorkflowTestBlockTarget · object
required

Public workflow-test target.

The storage layer remains block-scoped today, but the API shape names the tested entity explicitly so workflow-level targets can be added later.

source
ManualWorkflowTestSource · object
required
run_id
string | null
lifecycle
WorkflowTestRunLifecycle · object
timing
WorkflowTestRunTiming · object
verdict
Verdict · object
execution_fingerprint
string
default:""
handle_inputs_fingerprint
string
default:""
workflow_draft_fingerprint
string
default:""
block_config_fingerprint
string
default:""
outputs
Outputs · object
routing_decision
string[] | null
warnings
string[]
error
string | null
skipped
boolean
default:false
assertion_result
AssertionResult · object
verdict_summary
VerdictSummary · object