---
title: "Publish a flow"
method: POST
path: "/v1/flows/{flowId}/publish"
tags: ["flows"]
---

# Publish a flow

`POST /v1/flows/{flowId}/publish`

## Request

- Base URL: `https://api.flowral.app`
- URL: `https://api.flowral.app/v1/flows/{flowId}/publish`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (client credentials, token URL `https://api.flowral.app/v1/oauth/token`, scopes: `flows:write`)

Makes the flow readable by anyone with its link, with no account and nothing to accept. The public view never includes assignees, comments, uploaded files or task notes, and its items cannot be opened. Returns the flow, including its publicUrl.

## Path parameters

- `flowId` string, required

## Response `200`

SUCCESS

- FlowSummary: A flow without its tasks — what list endpoints return.
  - `id` string, required
  - `name` string, required
  - `description` string, nullable
  - `archived` boolean, required
  - `public` boolean: Whether this flow is published — readable by anyone with its link, with no account. Assignees, comments and files are never included in the public view.
  - `publicUrl` string, nullable: The published link, or null when the flow is private.
  - `dueDate` string, date-time: The date the flow is meant to land, if one is set.
  - `taskCount` integer
  - `doneCount` integer
  - `readyCount` integer: Tasks that can be started right now.
  - `createdAt` string, date-time
  - `updatedAt` string, date-time

## Other responses

- `401`: UNAUTHORIZED
- `403`: FORBIDDEN
- `404`: NOT_FOUND
- `429`: RATE_LIMITED

---

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