---
title: "Start a workflow asynchronously"
method: POST
path: "/workflow/start"
---

# Start a workflow asynchronously

`POST /workflow/start`

## 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
  - `catalog` string — The catalog (Temporal task queue) to route the execution to. Falls back to the default catalog.
  - `taskQueue` string — Deprecated alias for `catalog`. If both are sent, `catalog` wins.

## Response `200`

The workflow start result

- object
  - `workflowId` string — The id of the started workflow
  - `runId` string, nullable — The first execution's run id for this workflow

## Other responses

- `400` — Invalid request body, query, or pagination token
- `404` — Workflow execution, workflow type, or catalog not found
- `424` — Workflow dependency failed (e.g. workflow not in a terminal state, or workflow type is unsupported by the selected catalog)
- `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.

---

[API](https://skmtc.net/growthxai/apis/output-ai-api.md) · [All operations](https://skmtc.net/growthxai/apis/output-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/growthxai/output-ai-api/versions/09a49e598435/schema)
