from retab import MIMEData, Retab
client = Retab()
document = MIMEData(
filename="invoice.pdf",
url="https://my-bucket.s3.us-east-1.amazonaws.com/documents/invoice.pdf",
)
# Run with documents only
run = client.workflows.runs.create(
workflow_id="wf_abc123xyz",
documents={
"start_document-block-1": document,
}
)
# Run with documents and JSON inputs
run = client.workflows.runs.create(
workflow_id="wf_abc123xyz",
documents={
"start_document-block-1": document,
},
json_inputs={
"start-json-block-1": {"customer_id": "cust_123", "priority": "high"},
}
)
print(f"Run started: {run.id}")
print(f"Lifecycle: {run.lifecycle.status}")
import { Retab } from "@retab/node";
const client = new Retab({ apiKey: process.env.RETAB_API_KEY });
const document = {
filename: "invoice.pdf",
url: "https://my-bucket.s3.us-east-1.amazonaws.com/documents/invoice.pdf",
};
// Run with documents only
const run = await client.workflows.runs.create(
"wf_abc123xyz",
{
"start_document-block-1": document,
},
);
// Run with documents and JSON inputs
const run2 = await client.workflows.runs.create(
"wf_abc123xyz",
{
"start_document-block-1": document,
},
{
"start-json-block-1": { customer_id: "cust_123", priority: "high" },
},
);
console.log(`Run started: ${run.id}`);
console.log(`Lifecycle: ${run.lifecycle.status}`);
console.log(`Second run started: ${run2.id}`);
package main
import (
"context"
"fmt"
"log"
retab "github.com/retab-dev/retab/clients/go"
)
func main() {
ctx := context.Background()
client, err := retab.NewClient("")
if err != nil {
log.Fatal(err)
}
// Run with documents only
document := retab.MIMEData{
Filename: "invoice.pdf",
URL: "https://my-bucket.s3.us-east-1.amazonaws.com/documents/invoice.pdf",
}
run, err := client.Workflows.Runs.Create(ctx, &retab.WorkflowRunsCreateParams{
WorkflowID: "wf_abc123xyz",
Documents: &map[string]any{
"start_document-block-1": document,
},
})
if err != nil {
log.Fatal(err)
}
// Run with documents and JSON inputs
run2, err := client.Workflows.Runs.Create(ctx, &retab.WorkflowRunsCreateParams{
WorkflowID: "wf_abc123xyz",
Documents: &map[string]any{
"start_document-block-1": document,
},
JSONInputs: &map[string]any{
"start-json-block-1": map[string]any{
"customer_id": "cust_123",
"priority": "high",
},
},
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("Run started: %s\n", run.ID)
fmt.Printf("Lifecycle: %v\n", run.Lifecycle.Status())
_ = run2
}
require 'retab'
client = Retab::Client.new(api_key: ENV['RETAB_API_KEY'])
document = {
filename: 'invoice.pdf',
url: 'https://my-bucket.s3.us-east-1.amazonaws.com/documents/invoice.pdf',
}
# Run with documents only
run = client.workflows.runs.create(
workflow_id: 'wf_abc123xyz',
documents: {
'start_document-block-1' => document,
},
)
# Run with documents and JSON inputs
run = client.workflows.runs.create(
workflow_id: 'wf_abc123xyz',
documents: {
'start_document-block-1' => document,
},
json_inputs: {
'start-json-block-1' => { customer_id: 'cust_123', priority: 'high' },
},
)
puts "Run started: #{run.id}"
puts "Lifecycle: #{run.lifecycle.status}"
use retab::models::CreateWorkflowRunRequest;
use retab::resources::workflow_runs::CreateParams;
use retab::{MimeData, Retab};
use std::collections::HashMap;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = Retab::new(std::env::var("RETAB_API_KEY")?);
let document = MimeData::new(
"invoice.pdf",
"https://my-bucket.s3.us-east-1.amazonaws.com/documents/invoice.pdf",
);
// Run with documents only
let request = CreateWorkflowRunRequest::new("wf_abc123xyz")
.with_document("start_document-block-1", document);
let run = client
.workflows().runs()
.create(CreateParams::new(request))
.await?;
// Run with JSON inputs
let mut json_inputs: HashMap<String, serde_json::Value> = HashMap::new();
json_inputs.insert(
"start-json-block-1".into(),
serde_json::json!({"customer_id": "cust_123", "priority": "high"}),
);
let _run = client
.workflows().runs()
.create(CreateParams::new(CreateWorkflowRunRequest {
workflow_id: "wf_abc123xyz".into(),
documents: None,
json_inputs: Some(json_inputs),
..CreateWorkflowRunRequest::new("wf_abc123xyz")
}))
.await?;
println!("Run started: {}", run.id);
Ok(())
}
<?php
require 'vendor/autoload.php';
use Retab\Client;
$client = new Client(apiKey: getenv('RETAB_API_KEY'));
$run = $client->workflows()->runs()->create(
workflowId: 'wf_abc123xyz',
documents: [
'start_document-block-1' => [
'filename' => 'invoice.pdf',
'url' => 'https://my-bucket.s3.us-east-1.amazonaws.com/documents/invoice.pdf',
],
],
jsonInputs: [
'start-json-block-1' => ['customer_id' => 'cust_123', 'priority' => 'high'],
],
);
print_r($run);
using System;
using System.Collections.Generic;
using Retab;
using RetabClient = Retab.Retab;
var apiKey = Environment.GetEnvironmentVariable("RETAB_API_KEY")!;
var client = new RetabClient(apiKey);
var result = await client.Workflows.Runs.CreateAsync(
new WorkflowRunsCreateOptions
{
WorkflowId = "wf_abc123xyz",
Documents = new Dictionary<string, WorkflowRunDocumentInput>
{
["start_document-block-1"] = MimeData.FromUrl(new Uri("https://my-bucket.s3.us-east-1.amazonaws.com/documents/invoice.pdf")),
},
}
);
Console.WriteLine(result);
import com.retab.RetabClient;
public final class Example {
public static void main(String[] args) throws Exception {
RetabClient client = new RetabClient(System.getenv("RETAB_API_KEY"));
var result = client.workflows().runs().create("wf_abc123", null, null, null, null);
System.out.println(result);
}
}
# Run with documents only
curl -X 'POST' \
'https://api.retab.com/v1/workflows/runs' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <your-api-key>' \
-d '{
"workflow_id": "wf_abc123xyz",
"documents": {
"start_document-block-1": {
"filename": "invoice.pdf",
"url": "https://my-bucket.s3.us-east-1.amazonaws.com/documents/invoice.pdf"
}
}
}'
# Run with documents and JSON inputs
curl -X 'POST' \
'https://api.retab.com/v1/workflows/runs' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <your-api-key>' \
-d '{
"workflow_id": "wf_abc123xyz",
"documents": {
"start_document-block-1": {
"filename": "invoice.pdf",
"url": "https://my-bucket.s3.us-east-1.amazonaws.com/documents/invoice.pdf"
}
},
"json_inputs": {
"start-json-block-1": {
"customer_id": "cust_123",
"priority": "high"
}
}
}'
{
"id": "run_abc123xyz",
"workflow": {
"workflow_id": "wf_abc123xyz",
"version_id": "ver_abc123xyz"
},
"trigger": { "type": "api" },
"lifecycle": { "status": "running" },
"timing": {
"created_at": "2024-01-15T10:30:00Z",
"started_at": "2024-01-15T10:30:00Z",
"completed_at": null
},
"inputs": {
"documents": {
"start_document-block-1": {
"id": "file_123",
"filename": "invoice.pdf",
"mime_type": "application/pdf"
}
},
"json_data": {}
}
}
{
"detail": "Missing input documents for start_document blocks: Invoice Input, Receipt Input"
}
{
"detail": "Workflow not found"
}
Run Workflow
Create a fresh workflow run.
from retab import MIMEData, Retab
client = Retab()
document = MIMEData(
filename="invoice.pdf",
url="https://my-bucket.s3.us-east-1.amazonaws.com/documents/invoice.pdf",
)
# Run with documents only
run = client.workflows.runs.create(
workflow_id="wf_abc123xyz",
documents={
"start_document-block-1": document,
}
)
# Run with documents and JSON inputs
run = client.workflows.runs.create(
workflow_id="wf_abc123xyz",
documents={
"start_document-block-1": document,
},
json_inputs={
"start-json-block-1": {"customer_id": "cust_123", "priority": "high"},
}
)
print(f"Run started: {run.id}")
print(f"Lifecycle: {run.lifecycle.status}")
import { Retab } from "@retab/node";
const client = new Retab({ apiKey: process.env.RETAB_API_KEY });
const document = {
filename: "invoice.pdf",
url: "https://my-bucket.s3.us-east-1.amazonaws.com/documents/invoice.pdf",
};
// Run with documents only
const run = await client.workflows.runs.create(
"wf_abc123xyz",
{
"start_document-block-1": document,
},
);
// Run with documents and JSON inputs
const run2 = await client.workflows.runs.create(
"wf_abc123xyz",
{
"start_document-block-1": document,
},
{
"start-json-block-1": { customer_id: "cust_123", priority: "high" },
},
);
console.log(`Run started: ${run.id}`);
console.log(`Lifecycle: ${run.lifecycle.status}`);
console.log(`Second run started: ${run2.id}`);
package main
import (
"context"
"fmt"
"log"
retab "github.com/retab-dev/retab/clients/go"
)
func main() {
ctx := context.Background()
client, err := retab.NewClient("")
if err != nil {
log.Fatal(err)
}
// Run with documents only
document := retab.MIMEData{
Filename: "invoice.pdf",
URL: "https://my-bucket.s3.us-east-1.amazonaws.com/documents/invoice.pdf",
}
run, err := client.Workflows.Runs.Create(ctx, &retab.WorkflowRunsCreateParams{
WorkflowID: "wf_abc123xyz",
Documents: &map[string]any{
"start_document-block-1": document,
},
})
if err != nil {
log.Fatal(err)
}
// Run with documents and JSON inputs
run2, err := client.Workflows.Runs.Create(ctx, &retab.WorkflowRunsCreateParams{
WorkflowID: "wf_abc123xyz",
Documents: &map[string]any{
"start_document-block-1": document,
},
JSONInputs: &map[string]any{
"start-json-block-1": map[string]any{
"customer_id": "cust_123",
"priority": "high",
},
},
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("Run started: %s\n", run.ID)
fmt.Printf("Lifecycle: %v\n", run.Lifecycle.Status())
_ = run2
}
require 'retab'
client = Retab::Client.new(api_key: ENV['RETAB_API_KEY'])
document = {
filename: 'invoice.pdf',
url: 'https://my-bucket.s3.us-east-1.amazonaws.com/documents/invoice.pdf',
}
# Run with documents only
run = client.workflows.runs.create(
workflow_id: 'wf_abc123xyz',
documents: {
'start_document-block-1' => document,
},
)
# Run with documents and JSON inputs
run = client.workflows.runs.create(
workflow_id: 'wf_abc123xyz',
documents: {
'start_document-block-1' => document,
},
json_inputs: {
'start-json-block-1' => { customer_id: 'cust_123', priority: 'high' },
},
)
puts "Run started: #{run.id}"
puts "Lifecycle: #{run.lifecycle.status}"
use retab::models::CreateWorkflowRunRequest;
use retab::resources::workflow_runs::CreateParams;
use retab::{MimeData, Retab};
use std::collections::HashMap;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = Retab::new(std::env::var("RETAB_API_KEY")?);
let document = MimeData::new(
"invoice.pdf",
"https://my-bucket.s3.us-east-1.amazonaws.com/documents/invoice.pdf",
);
// Run with documents only
let request = CreateWorkflowRunRequest::new("wf_abc123xyz")
.with_document("start_document-block-1", document);
let run = client
.workflows().runs()
.create(CreateParams::new(request))
.await?;
// Run with JSON inputs
let mut json_inputs: HashMap<String, serde_json::Value> = HashMap::new();
json_inputs.insert(
"start-json-block-1".into(),
serde_json::json!({"customer_id": "cust_123", "priority": "high"}),
);
let _run = client
.workflows().runs()
.create(CreateParams::new(CreateWorkflowRunRequest {
workflow_id: "wf_abc123xyz".into(),
documents: None,
json_inputs: Some(json_inputs),
..CreateWorkflowRunRequest::new("wf_abc123xyz")
}))
.await?;
println!("Run started: {}", run.id);
Ok(())
}
<?php
require 'vendor/autoload.php';
use Retab\Client;
$client = new Client(apiKey: getenv('RETAB_API_KEY'));
$run = $client->workflows()->runs()->create(
workflowId: 'wf_abc123xyz',
documents: [
'start_document-block-1' => [
'filename' => 'invoice.pdf',
'url' => 'https://my-bucket.s3.us-east-1.amazonaws.com/documents/invoice.pdf',
],
],
jsonInputs: [
'start-json-block-1' => ['customer_id' => 'cust_123', 'priority' => 'high'],
],
);
print_r($run);
using System;
using System.Collections.Generic;
using Retab;
using RetabClient = Retab.Retab;
var apiKey = Environment.GetEnvironmentVariable("RETAB_API_KEY")!;
var client = new RetabClient(apiKey);
var result = await client.Workflows.Runs.CreateAsync(
new WorkflowRunsCreateOptions
{
WorkflowId = "wf_abc123xyz",
Documents = new Dictionary<string, WorkflowRunDocumentInput>
{
["start_document-block-1"] = MimeData.FromUrl(new Uri("https://my-bucket.s3.us-east-1.amazonaws.com/documents/invoice.pdf")),
},
}
);
Console.WriteLine(result);
import com.retab.RetabClient;
public final class Example {
public static void main(String[] args) throws Exception {
RetabClient client = new RetabClient(System.getenv("RETAB_API_KEY"));
var result = client.workflows().runs().create("wf_abc123", null, null, null, null);
System.out.println(result);
}
}
# Run with documents only
curl -X 'POST' \
'https://api.retab.com/v1/workflows/runs' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <your-api-key>' \
-d '{
"workflow_id": "wf_abc123xyz",
"documents": {
"start_document-block-1": {
"filename": "invoice.pdf",
"url": "https://my-bucket.s3.us-east-1.amazonaws.com/documents/invoice.pdf"
}
}
}'
# Run with documents and JSON inputs
curl -X 'POST' \
'https://api.retab.com/v1/workflows/runs' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <your-api-key>' \
-d '{
"workflow_id": "wf_abc123xyz",
"documents": {
"start_document-block-1": {
"filename": "invoice.pdf",
"url": "https://my-bucket.s3.us-east-1.amazonaws.com/documents/invoice.pdf"
}
},
"json_inputs": {
"start-json-block-1": {
"customer_id": "cust_123",
"priority": "high"
}
}
}'
{
"id": "run_abc123xyz",
"workflow": {
"workflow_id": "wf_abc123xyz",
"version_id": "ver_abc123xyz"
},
"trigger": { "type": "api" },
"lifecycle": { "status": "running" },
"timing": {
"created_at": "2024-01-15T10:30:00Z",
"started_at": "2024-01-15T10:30:00Z",
"completed_at": null
},
"inputs": {
"documents": {
"start_document-block-1": {
"id": "file_123",
"filename": "invoice.pdf",
"mime_type": "application/pdf"
}
},
"json_data": {}
}
}
{
"detail": "Missing input documents for start_document blocks: Invoice Input, Receipt Input"
}
{
"detail": "Workflow not found"
}
workflow_id belongs
in the request body, not in the URL.
The response returns immediately with lifecycle.status set to "running" or
"pending" — use the Get Run endpoint to check for updates.
Workflows can accept two types of inputs:
- documents: File inputs for Document (start) blocks
- json_inputs: JSON data for JSON Input (start_json) blocks
url may be a data: URL carrying inline base64 content, a Retab
storage URL (https://storage.retab.com/...) returned by the file upload
endpoint, or an HTTPS URL on one of the supported object-storage hosts listed in
Files — Azure Blob Storage, Google Cloud Storage, Amazon
S3 and Cloudflare R2 — which Retab fetches server-side. URLs on any other host
are rejected with a 400; upload the file to Retab first and pass the returned
storage URL instead.
from retab import MIMEData, Retab
client = Retab()
document = MIMEData(
filename="invoice.pdf",
url="https://my-bucket.s3.us-east-1.amazonaws.com/documents/invoice.pdf",
)
# Run with documents only
run = client.workflows.runs.create(
workflow_id="wf_abc123xyz",
documents={
"start_document-block-1": document,
}
)
# Run with documents and JSON inputs
run = client.workflows.runs.create(
workflow_id="wf_abc123xyz",
documents={
"start_document-block-1": document,
},
json_inputs={
"start-json-block-1": {"customer_id": "cust_123", "priority": "high"},
}
)
print(f"Run started: {run.id}")
print(f"Lifecycle: {run.lifecycle.status}")
import { Retab } from "@retab/node";
const client = new Retab({ apiKey: process.env.RETAB_API_KEY });
const document = {
filename: "invoice.pdf",
url: "https://my-bucket.s3.us-east-1.amazonaws.com/documents/invoice.pdf",
};
// Run with documents only
const run = await client.workflows.runs.create(
"wf_abc123xyz",
{
"start_document-block-1": document,
},
);
// Run with documents and JSON inputs
const run2 = await client.workflows.runs.create(
"wf_abc123xyz",
{
"start_document-block-1": document,
},
{
"start-json-block-1": { customer_id: "cust_123", priority: "high" },
},
);
console.log(`Run started: ${run.id}`);
console.log(`Lifecycle: ${run.lifecycle.status}`);
console.log(`Second run started: ${run2.id}`);
package main
import (
"context"
"fmt"
"log"
retab "github.com/retab-dev/retab/clients/go"
)
func main() {
ctx := context.Background()
client, err := retab.NewClient("")
if err != nil {
log.Fatal(err)
}
// Run with documents only
document := retab.MIMEData{
Filename: "invoice.pdf",
URL: "https://my-bucket.s3.us-east-1.amazonaws.com/documents/invoice.pdf",
}
run, err := client.Workflows.Runs.Create(ctx, &retab.WorkflowRunsCreateParams{
WorkflowID: "wf_abc123xyz",
Documents: &map[string]any{
"start_document-block-1": document,
},
})
if err != nil {
log.Fatal(err)
}
// Run with documents and JSON inputs
run2, err := client.Workflows.Runs.Create(ctx, &retab.WorkflowRunsCreateParams{
WorkflowID: "wf_abc123xyz",
Documents: &map[string]any{
"start_document-block-1": document,
},
JSONInputs: &map[string]any{
"start-json-block-1": map[string]any{
"customer_id": "cust_123",
"priority": "high",
},
},
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("Run started: %s\n", run.ID)
fmt.Printf("Lifecycle: %v\n", run.Lifecycle.Status())
_ = run2
}
require 'retab'
client = Retab::Client.new(api_key: ENV['RETAB_API_KEY'])
document = {
filename: 'invoice.pdf',
url: 'https://my-bucket.s3.us-east-1.amazonaws.com/documents/invoice.pdf',
}
# Run with documents only
run = client.workflows.runs.create(
workflow_id: 'wf_abc123xyz',
documents: {
'start_document-block-1' => document,
},
)
# Run with documents and JSON inputs
run = client.workflows.runs.create(
workflow_id: 'wf_abc123xyz',
documents: {
'start_document-block-1' => document,
},
json_inputs: {
'start-json-block-1' => { customer_id: 'cust_123', priority: 'high' },
},
)
puts "Run started: #{run.id}"
puts "Lifecycle: #{run.lifecycle.status}"
use retab::models::CreateWorkflowRunRequest;
use retab::resources::workflow_runs::CreateParams;
use retab::{MimeData, Retab};
use std::collections::HashMap;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = Retab::new(std::env::var("RETAB_API_KEY")?);
let document = MimeData::new(
"invoice.pdf",
"https://my-bucket.s3.us-east-1.amazonaws.com/documents/invoice.pdf",
);
// Run with documents only
let request = CreateWorkflowRunRequest::new("wf_abc123xyz")
.with_document("start_document-block-1", document);
let run = client
.workflows().runs()
.create(CreateParams::new(request))
.await?;
// Run with JSON inputs
let mut json_inputs: HashMap<String, serde_json::Value> = HashMap::new();
json_inputs.insert(
"start-json-block-1".into(),
serde_json::json!({"customer_id": "cust_123", "priority": "high"}),
);
let _run = client
.workflows().runs()
.create(CreateParams::new(CreateWorkflowRunRequest {
workflow_id: "wf_abc123xyz".into(),
documents: None,
json_inputs: Some(json_inputs),
..CreateWorkflowRunRequest::new("wf_abc123xyz")
}))
.await?;
println!("Run started: {}", run.id);
Ok(())
}
<?php
require 'vendor/autoload.php';
use Retab\Client;
$client = new Client(apiKey: getenv('RETAB_API_KEY'));
$run = $client->workflows()->runs()->create(
workflowId: 'wf_abc123xyz',
documents: [
'start_document-block-1' => [
'filename' => 'invoice.pdf',
'url' => 'https://my-bucket.s3.us-east-1.amazonaws.com/documents/invoice.pdf',
],
],
jsonInputs: [
'start-json-block-1' => ['customer_id' => 'cust_123', 'priority' => 'high'],
],
);
print_r($run);
using System;
using System.Collections.Generic;
using Retab;
using RetabClient = Retab.Retab;
var apiKey = Environment.GetEnvironmentVariable("RETAB_API_KEY")!;
var client = new RetabClient(apiKey);
var result = await client.Workflows.Runs.CreateAsync(
new WorkflowRunsCreateOptions
{
WorkflowId = "wf_abc123xyz",
Documents = new Dictionary<string, WorkflowRunDocumentInput>
{
["start_document-block-1"] = MimeData.FromUrl(new Uri("https://my-bucket.s3.us-east-1.amazonaws.com/documents/invoice.pdf")),
},
}
);
Console.WriteLine(result);
import com.retab.RetabClient;
public final class Example {
public static void main(String[] args) throws Exception {
RetabClient client = new RetabClient(System.getenv("RETAB_API_KEY"));
var result = client.workflows().runs().create("wf_abc123", null, null, null, null);
System.out.println(result);
}
}
# Run with documents only
curl -X 'POST' \
'https://api.retab.com/v1/workflows/runs' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <your-api-key>' \
-d '{
"workflow_id": "wf_abc123xyz",
"documents": {
"start_document-block-1": {
"filename": "invoice.pdf",
"url": "https://my-bucket.s3.us-east-1.amazonaws.com/documents/invoice.pdf"
}
}
}'
# Run with documents and JSON inputs
curl -X 'POST' \
'https://api.retab.com/v1/workflows/runs' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <your-api-key>' \
-d '{
"workflow_id": "wf_abc123xyz",
"documents": {
"start_document-block-1": {
"filename": "invoice.pdf",
"url": "https://my-bucket.s3.us-east-1.amazonaws.com/documents/invoice.pdf"
}
},
"json_inputs": {
"start-json-block-1": {
"customer_id": "cust_123",
"priority": "high"
}
}
}'
{
"id": "run_abc123xyz",
"workflow": {
"workflow_id": "wf_abc123xyz",
"version_id": "ver_abc123xyz"
},
"trigger": { "type": "api" },
"lifecycle": { "status": "running" },
"timing": {
"created_at": "2024-01-15T10:30:00Z",
"started_at": "2024-01-15T10:30:00Z",
"completed_at": null
},
"inputs": {
"documents": {
"start_document-block-1": {
"id": "file_123",
"filename": "invoice.pdf",
"mime_type": "application/pdf"
}
},
"json_data": {}
}
}
{
"detail": "Missing input documents for start_document blocks: Invoice Input, Receipt Input"
}
{
"detail": "Workflow not found"
}
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Create a new workflow run from a workflow id, an optional version selector, and optional inputs.
Workflow id for the fresh run.
Mapping of start_document block IDs to their input documents.
Show child attributes
Show child attributes
Mapping of start-json block IDs to their input JSON data.
Workflow version to run: 'production', 'draft', or a pinned version id like 'ver_...'. Only valid for fresh-run creation.
"production"
"draft"
"ver_abc123def456"
User-defined metadata to associate with this workflow run.
Show child attributes
Show child attributes
Automatic source policy for extractions created by this run. Located prevents automatic paid citations.
Show child attributes
Show child attributes
Response
Successful Response
A single execution of a workflow.
Unique ID for this run
ID of the workflow that was run
Content-addressed workflow version used for this run.
What started this run
Show child attributes
Show child attributes
The run has been created but execution has not started.
- PendingRun
- RunningRun
- AwaitingReviewRun
- CompletedTerminal
- ErrorTerminal
- CancelledTerminal
Show child attributes
Show child attributes
All timing information
Show child attributes
Show child attributes
Input payloads supplied at run creation time
Show child attributes
Show child attributes
User-defined metadata associated with this workflow run.
Show child attributes
Show child attributes