---
title: "Publish a workflow"
method: POST
path: "/hub/workflows/publish"
tags: ["Workflows"]
---

# Publish a workflow

`POST /hub/workflows/publish`

## Request

- Base URL: `https://api.quiva.ai`
- URL: `https://api.quiva.ai/hub/workflows/publish`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/quivaworks/apis/quiva-ai-gateway-3/docs/hub/workflows/publish/post.ts> (a function with typed inputs; its response is checked against the schema)

Makes the workflow executable and wires up any schedule triggers.

## Request body

- PublishWorkflowRequest
  - `subject` string, required: Draft subject: ms.hub.config.workflow.draft.{collection}.{flow}
  - `commit` string: Commit message

## Response `200`

Workflow published successfully

- SuccessResponse
  - `message` string: Success message

## Other responses

- `400`: Bad request

## Changes

- **2026-11-12** `8730377687f9`: 1 breaking, 1 info
  - added the pattern `^ms\.hub\.config\.workflow\.draft\.` to the request property `subject`
  - added the new optional request property `commit`

[Operation history](https://skmtc.dev/quivaworks/apis/quiva-ai-gateway-3/changes/hub/workflows/publish/post.md)

---

[API](https://skmtc.dev/quivaworks/apis/quiva-ai-gateway-3.md) - [All operations](https://skmtc.dev/quivaworks/apis/quiva-ai-gateway-3/llms.txt) - [OpenAPI document](https://skmtc.dev/quivaworks/apis/quiva-ai-gateway-3/revisions/f80cd5f3ac1c?raw)
