---
title: "Run a multi-tool pipeline over many records"
method: POST
path: "/workflow"
tags: ["Batch & workflow"]
---

# Run a multi-tool pipeline over many records

`POST /workflow`

## Request

- Base URL: `https://seqbench.com/api/v1`
- URL: `https://seqbench.com/api/v1/workflow`
- Auth: none required

Runs an ordered pipeline of tools over every record in `input`. Each step's chained output sequence feeds the next step by default; a step may instead draw from an earlier step (`from`: 0-based index) or the original record (`from`: "initial"). A step that draws from an earlier step requires that step to declare a chain output.

## Request body

- WorkflowRequest
  - `steps` WorkflowStep[], required
    - `tool` string, required: A pipeline-capable tool slug.
    - `args` object
    - `from` union: Source of this step's input. Defaults to the previous step.
      - integer: 0-based index of an earlier step.
      - 'initial': The original input record.
  - `input` string, required: Multi-FASTA text or one sequence per line.

## Response `200`

Workflow completed (individual steps may carry per-record errors).

- object
  - `ok` unknown, required
  - `result` WorkflowResult, required
    - `steps` object[], required
      - `tool` string
      - `title` string
    - `count` integer, required
    - `capped` boolean, required
    - `limit` integer, required: Maximum records per call (200).
    - `columns` string[], required: Flattened "<step>·<tool>·<key>" column headers.
    - `rows` object[], required
    - `errors` integer, required
    - `provenance` Provenance, required
      - `apiVersion` string, required
      - `tool` union, required: Tool slug, or an array of slugs (one per step) for a workflow.
        - string
        - string[]
      - `generatedAt` string, date-time, required: ISO 8601 timestamp of when the result was generated.

## Other responses

- `400`: Invalid request (bad JSON, missing steps/input, or a step is invalid).

---

[API](https://skmtc.dev/seqbench/apis/seqbench-api.md) · [All operations](https://skmtc.dev/seqbench/apis/seqbench-api/llms.txt) · [OpenAPI document](https://skmtc.dev/seqbench/apis/seqbench-api/revisions/132575216865?raw)
