---
title: "Execute a workflow synchronously"
method: POST
path: "/workflow/run"
---

# Execute a workflow synchronously

`POST /workflow/run`

Executes a workflow and waits for it to complete before returning the result

## Request body

- object
  - `workflowName` string, required — The name of the workflow to execute
  - `input` unknown, required
  - `workflowId` string — (Optional) The workflowId to use. Must be unique
  - `taskQueue` string — The name of the task queue to send the workflow to
  - `timeout` number — (Optional) The max time to wait for the execution, defaults to 30s

## Response `200`

The workflow result

- object
  - `workflowId` string — The workflow execution id
  - `output` unknown
  - `trace` TraceInfo — An object with information about the trace generated by the execution
    - `destinations` object — File destinations for trace data
      - `local` string, nullable, required — Absolute path to local trace file, or null if not saved locally
      - `remote` string, nullable, required — Remote trace location (e.g., S3 URI), or null if not saved remotely
  - `status` 'completed' | 'failed' — The workflow execution status
  - `error` string, nullable — Error message if workflow failed, null otherwise

## Other responses

- `400` — Invalid request body or query (validation failed)
- `404` — Workflow execution, workflow type, or catalog not found
- `408` — Synchronous execution timed out before workflow completed
- `500` — Internal server error (e.g. Temporal connection failure)
- `503` — Catalog workflow unavailable (worker not running or still starting). Retry-After header may be set.

## Changes

- **2026-03-13** `0f0e49049ef1` — 3 breaking, 4 warning, 12 info
  - the response's body type changed from no type to `object` for status `400`
  - the response property `trace/destinations/local` became nullable for the status `200`
  - the response property `trace/destinations/remote` became nullable for the status `200`
  - removed the request property `catalog`
  - …15 more

[Change history](https://skmtc.dev/growthxai/apis/output-ai-api/changes/workflow/run/post.md)

---

[API](https://skmtc.dev/growthxai/apis/output-ai-api.md) · [All operations](https://skmtc.dev/growthxai/apis/output-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/growthxai/output-ai-api/revisions/cf3be024b66f/schema)
