---
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
  - `taskQueue` string — The name of the task queue to send the workflow to

## Response `200`

The workflow start result

- object
  - `workflowId` string — The id of the started workflow

## Other responses

- `400` — Invalid request body or query (validation failed)
- `404` — Workflow execution, workflow type, or catalog not found
- `500` — Internal server error (e.g. Temporal connection failure)

## Changes

- **2026-03-13** `0f0e49049ef1` — 1 breaking, 2 warning, 7 info
  - the response's body type changed from no type to `object` for status `400`
  - removed the request property `catalog`
  - removed the optional property `runId` from the response with the `200` status
  - request property `taskQueue` reactivated
  - …6 more

[Change history](https://skmtc.dev/growthxai/apis/output-ai-api/changes/workflow/start/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)
