---
title: "Create a flow"
method: POST
path: "/whatsapp/flows"
tags: ["WhatsApp Flows"]
---

# Create a flow

`POST /whatsapp/flows`

Creates a new WhatsApp Flow. New Flows are by default created in DRAFT state. You can create a new published Flow in single request by specifying flowJson and publish parameters.

## Request body

- object
  - `wabaId` string, required — WhatsApp Business Account ID.
  - `name` string, required — Flow name.
  - `categories` WhatsappFlowCategory[], required — Flow categories.
  - `flowJson` string — JSON string of the Flow structure.
  - `publish` boolean — If true, the Flow will be created in PUBLISHED state.
  - `cloneFlowId` string — ID of source Flow to clone. You must have permission to access the specified Flow.
  - `endpointUri` string — The endpoint URI for the Flow.

## Response `200`

Successfully created a flow.

- object
  - `id` string — The ID of the created Flow.
  - `success` boolean — Whether the operation was successful.

## Other responses

- `400` — Bad request. The Flow may be invalid.

---

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