v106

latestOpenAPI 3.1.0raw.githubusercontent.com2026-08-02160524464.6 KB
Runs

Create Run

Creates a new workflow run in submitted status from a self-contained manifest.

post/api/v1/runs

Request body

versioninteger required

Manifest schema version.

run_idstring nullable

Optional pre-generated run ID to use instead of allocating a new ULID.

parent_idstring nullable

Optional orchestration parent run ID. Fork and rewind lineage use separate fields and should not set this value.

titlestring nullable

Optional explicit run title. The server trims leading/trailing whitespace, rejects blank values, rejects control characters and newline characters, and requires at most 100 characters.

cwdstring required

CLI working directory at invocation time.

workflowsobject required

Example request

{
  "version": 1,
  "run_id": "01HV6D7S5YF4Z4B2M7K4N0Q6T9",
  "parent_id": "01HV6D7S5YF4Z4B2M7K4N0Q6T8",
  "title": "Add rate limiting to auth endpoints",
  "cwd": "/tmp/project",
  "git": {
    "origin_url": "https://github.com/acme/my-app.git",
    "branch": "feature/foo",
    "sha": "abc123def"
  },
  "target": {
    "identifier": "smoke",
    "path": ".fabro/workflows/smoke/workflow.fabro"
  }
}

Response

Run created

idstring required
parent_idstring nullable

Current orchestration parent run ID, if linked.

children_countinteger required

Number of runs currently linked to this run as their orchestration parent.

titlestring required
goalstring required
labelsobject required
source_directorystring nullable required
size'XS' | 'S' | 'M' | 'L' | 'XL' required

Run size bucket derived from current best-effort billed usage.

superseded_bystring nullable required

Run ID that superseded this run via rewind, if any.

retried_fromstring nullable required

Source run ID when this run was created by manual retry.

Example response

{
  "repository": {
    "name": "fabro-sh/fabro",
    "origin_url": "https://github.com/fabro-sh/fabro.git"
  },
  "lifecycle": {
    "error": {
      "message": "Stage 'apply-changes' exceeded maximum retries."
    }
  },
  "timing": {
    "wall_time_ms": 420000,
    "inference_time_ms": 120000,
    "tool_time_ms": 60000,
    "active_time_ms": 180000
  },
  "diff": {
    "files_changed": 42,
    "additions": 567,
    "deletions": 234
  },
  "pull_request": {
    "owner": "fabro-sh",
    "repo": "fabro",
    "number": 123,
    "html_url": "https://github.com/fabro-sh/fabro/pull/123"
  },
  "current_question": {
    "text": "Accept or push for another round?"
  }
}