---
title: "axiom flow publish"
description: "Publish a flow document to the public marketplace"
category: reference
surfaces: [cli]
related: [reference/cli/axiom-flow]
last_reviewed: 2026-06-06
---

<!-- GENERATED by docs/scripts/gen-cli-reference — DO NOT EDIT.
     Source of truth: the cobra command definitions in cmd/axiom/cmd/.
     Regenerate from the repo root with: go run ./docs/scripts/gen-cli-reference -->

# axiom flow publish

Publish a flow document to the public marketplace

Publish a flow document — the GRAPH artifact id printed by "axiom flow save" — to
the public marketplace.

Publishing sets the flow's visibility to MARKETPLACE_FREE: every Axiom tenant can
then discover it (it becomes searchable), fork it, and import it as a subflow.
This is CLI parity with the editor's Publish action, which publishes the saved
flow document.

Pass the id from "axiom flow save", NOT the id from "axiom flow compile": the
compile id is a runtime snapshot (COMPILED_GRAPH) that never appears in catalog
search or saved-flows listings, so publishing it would strand the flow invisible.
The publish endpoint rejects a compiled-snapshot id for that reason.

```text
axiom flow save    my-flow.flow.yaml   # prints the GRAPH document id
axiom flow publish 01J…                # publish that id
axiom flow publish 01J… --yes          # skip the prompt (CI)
```

Publishing is immutable — a published flow cannot be edited or unpublished. To
iterate, edit the flow and "axiom flow save" a new document, then publish it.

Requires a prior "axiom login".

## Usage

```sh
axiom flow publish <graph-id> [flags]
```

## Flags

| Flag | Shorthand | Type | Default | Description |
|---|---|---|---|---|
| `--help` | `-h` | bool |  | help for publish |
| `--json` |  | bool |  | Emit a single JSON result object |
| `--yes` | `-y` | bool |  | Skip the confirmation prompt (for CI and scripted use) |

## See also

- [axiom flow](./axiom-flow.md) — Author and compile flows (graphs of published nodes)
