# CLI publishing

> Authenticate the CLI, draft posts, and publish from your terminal.

HTML version: https://blogizi.com/docs/cli-publishing
Markdown version: https://blogizi.com/docs/cli-publishing.md

The Blogizi CLI is the fastest way to draft posts grounded in your actual codebase and push them live without opening the dashboard.

## Get your API key

Dashboard → your project → **Settings → API**. Each project has a unique key. Treat it like a password — never commit it to git.

## Authenticate

```sh
blogizi auth --api-key YOUR_PROJECT_API_KEY
```

## Common commands

```sh
# Draft a new post (uses your local AI agent)
blogizi draft --keyword "your target keyword"

# Upload a local markdown file as a draft
blogizi upload path/to/my-post.md

# Publish a local markdown file
blogizi publish path/to/my-post.md
```

## How publishing works

Drafts are stored on Blogizi as `draft` status. Running `blogizi upload` saves a local file as a draft. Running `blogizi publish` (or clicking Publish in the dashboard) sets status to `published` and makes the post visible on your public blog.

> You can also create and edit posts entirely in the dashboard editor — the CLI is optional for day-to-day use once you prefer a visual workflow.

Prefer writing posts yourself in Markdown? See [Write in Markdown](/docs/markdown-frontmatter) for the frontmatter format and a CLI-only publish workflow.
