Get draft
get_draftReturns the article Keytomic wrote for a content calendar topic of a site: the newest draft of the topic, with its title, slug, summary, SEO title and description, the full text as Markdown, the hero image, the word count, the publication status with the published URL, the topic’s primary keyword and scheduled day, the author saved on the article, whether this connection can edit the article, the SERP Snapshot: the top Google results for the topic’s keyword and market when the brief was written (keyword, market, check time, and each result’s rank, title, URL, domain, and whether it is on the site’s own domain), or null when none was saved, and structuredData: the structured data (JSON-LD) of the article, as Content Studio shows it. structuredData has the owner’s Structured Data Edit (edit, or null), the JSON-LD that a publish sends (sent: Keytomic’s, with the edit on top), Keytomic’s JSON-LD with no edit (keytomic), the publishing destination of the read, and liveUpdate: when a structured data save with update_draft reaches the live post. on_save: the save sends it to the live WordPress post. next_publish: the next publish of the article sends it. other_article: a newer article, such as a content refresh, publishes the post, so the edit does not reach it. seoPluginCanOverride is true for a WordPress post that Keytomic imported: when the site runs Yoast SEO, Rank Math, All in One SEO, SEOPress or The SEO Framework, the page shows that plugin’s schema instead of the structured data that Keytomic sends, so never tell the user that the live page has it. Name destinationId from the destinations section of get_project; without it, the read uses the site’s only active destination, else none, and then destination and liveUpdate are null. structuredData is null when the article cannot be published yet, for example when its text is empty. To change it, send the whole edit with update_draft just after this read: the last save wins. Only WordPress gets structured data from Keytomic. A topic without an article answers draft_not_found. When the workspace can open only some topics for now, only those can be read (see list_calendar_topics); others answer topic_not_in_plan. Makes no external calls.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"projectId": "<projectId>",
"topicId": "<topicId>"
},
"name": "get_draft"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| topicId | Yes | Topic whose article to read, from list_calendar_topics. | |
| projectId | Yes | Site to act on, from list_sites. | |
| destinationId | No | Publishing destination whose structured data to show, from the destinations section of get_project. Leave it out to use the site’s only active destination. |