using Retab;using RetabClient = Retab.Retab;var apiKey = Environment.GetEnvironmentVariable("RETAB_API_KEY")!;var client = new RetabClient(apiKey);var result = await client.Workflows.Evals.GetAsync("eval_abc123");Console.WriteLine(result);
import com.retab.RetabClient;import com.retab.workflowevals.WorkflowEvalsApi;public final class Example { public static void main(String[] args) throws Exception { RetabClient client = new RetabClient(System.getenv("RETAB_API_KEY")); var result = new WorkflowEvalsApi(client).get("eval_abc123"); System.out.println(result); }}
{ "detail": "Workflow eval not found: wfnodeeval_hsLEQiM61ez9Piv147MWk"}
Evals
Get Workflow Eval
Retrieve a single workflow eval.
Identified by eval_id. Returns the eval with its target block,
assertion, input source, and latest-run summaries. Returns 404 if no eval
with that ID exists.
GET
/
v1
/
workflows
/
evals
/
{eval_id}
from retab import Retabclient = Retab()workflow_eval = client.workflows.evals.get( eval_id="wfnodeeval_hsLEQiM61ez9Piv147MWk",)print(workflow_eval.assertion.condition)print(workflow_eval.schema_drift)
import { Retab } from "@retab/node";const client = new Retab({ apiKey: process.env.RETAB_API_KEY });const workflowEval = await client.workflows.evals.get("wfnodeeval_hsLEQiM61ez9Piv147MWk");console.log(workflowEval.assertion.condition);console.log(workflowEval.schemaDrift);
using Retab;using RetabClient = Retab.Retab;var apiKey = Environment.GetEnvironmentVariable("RETAB_API_KEY")!;var client = new RetabClient(apiKey);var result = await client.Workflows.Evals.GetAsync("eval_abc123");Console.WriteLine(result);
import com.retab.RetabClient;import com.retab.workflowevals.WorkflowEvalsApi;public final class Example { public static void main(String[] args) throws Exception { RetabClient client = new RetabClient(System.getenv("RETAB_API_KEY")); var result = new WorkflowEvalsApi(client).get("eval_abc123"); System.out.println(result); }}
{ "detail": "Workflow eval not found: wfnodeeval_hsLEQiM61ez9Piv147MWk"}
Fetch a single workflow eval by id. The response refreshes the eval’s
validation_status and schema-drift state against the current workflow draft
before returning, so the caller always sees the latest staleness.
from retab import Retabclient = Retab()workflow_eval = client.workflows.evals.get( eval_id="wfnodeeval_hsLEQiM61ez9Piv147MWk",)print(workflow_eval.assertion.condition)print(workflow_eval.schema_drift)
import { Retab } from "@retab/node";const client = new Retab({ apiKey: process.env.RETAB_API_KEY });const workflowEval = await client.workflows.evals.get("wfnodeeval_hsLEQiM61ez9Piv147MWk");console.log(workflowEval.assertion.condition);console.log(workflowEval.schemaDrift);
using Retab;using RetabClient = Retab.Retab;var apiKey = Environment.GetEnvironmentVariable("RETAB_API_KEY")!;var client = new RetabClient(apiKey);var result = await client.Workflows.Evals.GetAsync("eval_abc123");Console.WriteLine(result);
import com.retab.RetabClient;import com.retab.workflowevals.WorkflowEvalsApi;public final class Example { public static void main(String[] args) throws Exception { RetabClient client = new RetabClient(System.getenv("RETAB_API_KEY")); var result = new WorkflowEvalsApi(client).get("eval_abc123"); System.out.println(result); }}
Execution status and verdict outcome are exposed as separate fields.
The summary is written on terminal-state transitions, so in practice
status is one of completed | error | cancelled and outcome is
populated when status == "completed".
Execution status and verdict outcome are exposed as separate fields.
The summary is written on terminal-state transitions, so in practice
status is one of completed | error | cancelled and outcome is
populated when status == "completed".
Execution status and verdict outcome are exposed as separate fields.
The summary is written on terminal-state transitions, so in practice
status is one of completed | error | cancelled and outcome is
populated when status == "completed".