---
title: "Publish Workflow"
method: POST
path: "/api/v1/workflow/{workflow_id}/publish"
tags: ["main"]
---

# Publish Workflow

`POST /api/v1/workflow/{workflow_id}/publish`

## Request

- Base URL: `https://app.dograh.com`
- URL: `https://app.dograh.com/api/v1/workflow/{workflow_id}/publish`
- Auth: none declared

Publish the current draft version of a workflow.

Drafts are allowed to be incomplete (so the editor can save mid-edit),
but a published version is what runtime executes — so this is the gate
where the full DTO + graph + trigger-conflict checks must pass.

## Path parameters

- `workflow_id` integer, required

## Headers

- `authorization` string, nullable
- `X-API-Key` string, nullable

## Request body

- PublishWorkflowRequest
  - `version_name` string, nullable
  - `change_description` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `404`: Not found
- `422`: Validation Error

## Changes

- **2026-11-03** `faa00cf76fcb`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/dograh/apis/dograh-api/changes/api/v1/workflow/:workflow_id/publish/post.md)

---

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