---
title: "Generate a flow from a natural-language description (AI)"
method: POST
path: "/flows/generate"
tags: ["Flows"]
---

# Generate a flow from a natural-language description (AI)

`POST /flows/generate`

## Request

- Base URL: `https://www.sociahive.com/api/v1`
- URL: `https://www.sociahive.com/api/v1/flows/generate`
- Auth: one of:
  - API key in header `X-API-Key`
  - OAuth 2 (authorization code, authorization URL `/api/oauth/authorize`, token URL `/api/oauth/token`, scopes: `flows:write`)

Uses GPT-4o to build a complete flow. Costs 15 AI credits. Returns the generated flow with all nodes and edges.

## Request body

- object
  - `description` string, required
  - `account_id` string, required: MongoDB ObjectId (24-character hex string)
  - `platform_user_id` string, required
  - `platform` 'instagram' | 'messenger' | 'whatsapp' | 'linkedin' | 'twitter' | 'tiktok' | 'telegram' | 'threads' | 'youtube' | 'bluesky' | 'pinterest' | 'facebook': Connected-account platform identifier

## Response `200`

Server-sent event stream. Emits `progress` / `flow` / `error` events; it is NOT a JSON flow body.

## Other responses

- `400`: Bad request — invalid parameters
- `401`: Authentication required — provide X-API-Key or Bearer token
- `403`: Insufficient scope for this operation
- `429`: Rate limit exceeded
- `500`: Internal server error

---

[API](https://skmtc.dev/sociahive/apis/sociahive-api.md) · [All operations](https://skmtc.dev/sociahive/apis/sociahive-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sociahive/apis/sociahive-api/revisions/791b8548d288?raw)
