---
title: "Create Workflow"
method: POST
path: "/workflows"
tags: ["Workflows"]
---

# Create Workflow

`POST /workflows`

Create a workflow programmatically

Available only to Enterprise-plan workspaces and first-party clients.

## Request body

- object
  - `name` string — Workflow name, up to 200 characters. Defaults to "Untitled workflow"
  - `description` string — Optional description
  - `steps` unknown[], required — Ordered steps, each `{ key, type, config }`. The first step must be a trigger or data source
    - unknown
  - `status` string — `draft`, `active`, `paused` or `archived`. Defaults to `draft`
  - `metadata` object — Your own metadata. Server-managed keys (`health`, `poll`, `share`, `schema`) are ignored

## Response `200`

Successful response

- object

## Other responses

- `400` — The request was malformed or a parameter was invalid.
- `401` — Authentication is required and was not supplied.
- `403` — The API key is missing, invalid, or not permitted to perform this action.
- `404` — The requested route or resource does not exist.
- `429` — The workspace rate limit was exceeded. Retry after the interval given by the Retry-After header.
- `500` — An unexpected error occurred on our side.

---

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