Skip to main content
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

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 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.
Last modified on October 9, 2026