Call the createDocument MCP tool
Author a NEW Reachium document from markdown YOU write (you write the content; this only saves it, there is no server-side generation). For a lead-magnet resource, pull getPlaybook("content", "document-anatomy") BEFORE writing: the document type ladder, the conversion anatomy (CTA at top, copy-paste blocks per framework), and the quality checklist live there, and getBrandProfile supplies the real proof points and links to write from. Pass publish:true to make it a public /p/ page immediately, shareable outside Reachium and required before attachResourceToPost will accept it; leave it unset (or false) to save a private draft (updateDocument can revise it later, publish it with publish:true, and take a published page offline again with unpublish:true). A private draft shows up in a later getDocuments call marked status private_draft (the default listing includes your own private drafts). For a lead-magnet resource, publish is NOT required: pass this document_id straight into createLeadMagnetCampaign together with a hook post - that tool does the document/keyword/post binding itself and delivers the resource over a private per-lead link. An unpublished hook (draft, planned, approved, or scheduled) arms when it publishes; an ALREADY-PUBLISHED Reachium post works too and back-enrolls everyone who already commented the keyword once the campaign activates. Alternatively, attachResourceToPost binds a document to an EXISTING post OUTSIDE the campaign flow; unlike createLeadMagnetCampaign it DOES require publish:true (it only accepts public, non-admin-restricted documents), and publishing a post bound only that way does not by itself arm any funnel, since no campaign is linked. Markdown up to 60000 characters. Returns document_id, title, is_public, public_url (null when not published; a workspace with no booking slug gets one auto-generated from its name at first publish, and in the rare case that fails, public_url is null and a warning says the page is unreachable), and ui_url. If publish:true fails, the document is not left as a draft: the whole row is rolled back, so retry by sending content_markdown again. publish:true is two-step: that FIRST call (no confirm_token) returns a preview and a confirm_token and creates NOTHING; call again with the same title and content_markdown plus confirm_token to actually create and publish. Creating a private draft (publish unset or false) stays single-call, no confirm_token needed.
Called through the Actions bridge: the response is that tool's own result, wrapped as { data: <tool result> } under HTTP 200. Billing, daily-cap, and confirm-step outcomes are embedded INSIDE data, never remapped to an HTTP status (see the templated /api/v1/actions/{toolName} operation above for the full protocol, and x-mcp-actions for this tool's machine-readable scope/cap/confirm_behavior fields). Authentication, request-shape, and optional idempotency-protocol failures still use their documented non-200 statuses.
Request
- Base URL: https://app.reachium.io
- URL: https://app.reachium.io/api/v1/actions/createDocument
- Auth: HTTP bearer
Headers
Optional caller-generated key (8-200 characters: letters, digits, dot, underscore, colon, or hyphen). A final tool result is replayed for the same key and body. An ambiguous result remains 409 under that key; reconcile external state before using a new key. Reuse with a different body returns 422.
Request body
Response
The result of calling this tool.
Changes
No recorded changes to this operation across all 1 revision of this API.