> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mallary.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Saved Drafts

> Save unfinished posts, then publish or schedule them when ready.

Saved drafts are available to all users. This applies to the dashboard, API, MCP, CLI, Claude connector, ChatGPT plugin, and OpenClaw.

Save a post without publishing it or choosing a date. You can leave the text, media, or platforms unfinished. Draft saves do not count toward your posting allowance. Publishing later uses your current plan and account settings.

## Dashboard

Open Compose, choose **Schedule/Draft**, and check **Save as draft**. The orange Post button changes to **Save Draft** with a clock icon. Click it to save; clicking it again updates the same draft. Uncheck **Save as draft** when you want to post or schedule. Find drafts mixed with your other posts in **Posts**, in list, grid, or calendar view. Drafts are ordered by the date they were first saved; editing does not change that date. The calendar shows a draft on that day in your browser timezone. Choose **Edit draft** to change it, save again, or choose Post or Schedule. Delete removes the saved draft; it does not delete uploaded media.

Move or delete a profile's unpublished drafts before deleting that connection profile. You can move a draft by changing its profile in Compose or updating its `profile_id` through the API.

If a draft changed in another tab, reload it before saving. If a submission response was lost, reloading shows the original publishing jobs.

## API

```bash theme={null}
# Save unfinished content. Use your normal bearer authentication.
curl -X POST https://mallary.ai/api/v1/drafts \
  -H "Authorization: Bearer $MALLARY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"message":"An idea for next week","profile_id":"ProfilePublic1"}'
```

The save response contains `data.id`, `data.revision`, and `data.status: "draft"`. Read it with `GET /api/v1/drafts/{id}`. Use `PATCH` to edit and `DELETE` to delete, with `expected_revision` in the JSON body. List drafts with `GET /api/v1/drafts?profile_id=ProfilePublic1&page=1&per_page=20`.

Only `POST /api/v1/drafts/{id}/submit` publishes. Send `{"expected_revision":2}` to publish now, or add `scheduled_at` and an optional `scheduled_timezone` to schedule. Read the draft first and use its actual revision. Repeat the exact submission revision and schedule to recover the same jobs after a lost response. Change neither value on a retry.

Upload media first and use its `https://files.mallary.ai/...` URL. Uploaded media has a public URL even while the draft is unpublished. Saves reject schedule fields. Supplied lists and `platform_options` replace their saved values; omitted fields stay unchanged.

## MCP, Claude, and ChatGPT

The draft tools are `mallary_create_draft`, `mallary_list_drafts`, `mallary_get_draft`, `mallary_update_draft`, `mallary_delete_draft`, and `mallary_submit_draft`.

Ask your AI: "Save this as a draft in Mallary. Do not publish or schedule it." This asks it to store the post in your account. "Write a draft here" only asks for text in the chat. Saving a draft never gives permission to publish it.

Read before editing, deleting, or submitting. Writes need `mallary.publish`; reads need `mallary.read`. ChatGPT submission needs both scopes so it can check the saved content first. Saved drafts are available to all users across all surfaces, including Free and Starter accounts. Publishing and scheduling keep their normal rules.

The Claude connector shares the standard MCP tools. ChatGPT uses its existing plugin endpoint; new tools become available after OpenAI's tool checks. If the draft tools are not shown in your chat yet, use the dashboard or API.

## CLI and OpenClaw

Use [draft commands](/cli-reference/drafts) in CLI version 0.2.18 or later. The OpenClaw skill distinguishes saving in Mallary from writing text in a chat, and requires a separate clear request to publish or schedule a saved draft.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.