PlatformDocs
MCP server

update_blog_article

Edits a blog article by saving a new version at the same URL (Optimize add-on).

View as Markdown

Edit blog article · Changes data · Acts outside your account

Edits a blog article by saving a new version at the same URL (Optimize add-on). If the article is live, the new version goes live at once. status 'live' publishes a draft, and status 'draft' takes a live article offline. Only the fields you pass change. Uses one article from the monthly allowance; with none left it returns 400. Locked articles (guest posts, paid placements) are refused. Get articleId from list_blog_articles, and read the current text with get_blog_article first. Confirm with the user before changing a live article. Returns { article, url }.

ConnectionAccount-owner URL or OAuth (not a team member URL)

Parameters

ParameterTypeRequiredAcceptsDescription
websiteIdstringYesanyWebsite ID from list_websites.
articleIdstringYesanyArticle _id from list_blog_articles.
titlestringNoanyNew title.
htmlstringNoanyNew body as HTML (p, h2, h3, ul/ol, blockquote, img, table). Replaces the whole body.
metaDescriptionstringNoanyNew search-result description.
excerptstringNoanyNew short summary for the blog index.
categorystringNoanyNew category name.
coverImagestringNoanyNew absolute cover image URL (http/https); other values clear it.
statusstringNolive, draft'live' publishes this version now; 'draft' takes the article offline. Leave it out to keep the current state.
faqobject[]NoanyFull new FAQ list of { q, a } objects. Replaces the saved FAQ.
summarystringNoanyWhat this edit changes, shown in the version history. Default 'Edited by hand'.

Tool definition

What your assistant receives from tools/list:

{
  "name": "update_blog_article",
  "title": "Edit blog article",
  "annotations": {
    "title": "Edit blog article",
    "readOnlyHint": false,
    "destructiveHint": false,
    "idempotentHint": false,
    "openWorldHint": true
  },
  "inputSchema": {
    "type": "object",
    "properties": {
      "websiteId": {
        "type": "string",
        "description": "Website ID from list_websites."
      },
      "articleId": {
        "type": "string",
        "description": "Article _id from list_blog_articles."
      },
      "title": {
        "type": "string",
        "description": "New title."
      },
      "html": {
        "type": "string",
        "description": "New body as HTML (p, h2, h3, ul/ol, blockquote, img, table). Replaces the whole body."
      },
      "metaDescription": {
        "type": "string",
        "description": "New search-result description."
      },
      "excerpt": {
        "type": "string",
        "description": "New short summary for the blog index."
      },
      "category": {
        "type": "string",
        "description": "New category name."
      },
      "coverImage": {
        "type": "string",
        "description": "New absolute cover image URL (http/https); other values clear it."
      },
      "status": {
        "type": "string",
        "enum": [
          "live",
          "draft"
        ],
        "description": "'live' publishes this version now; 'draft' takes the article offline. Leave it out to keep the current state."
      },
      "faq": {
        "type": "array",
        "items": {
          "type": "object"
        },
        "description": "Full new FAQ list of { q, a } objects. Replaces the saved FAQ."
      },
      "summary": {
        "type": "string",
        "description": "What this edit changes, shown in the version history. Default 'Edited by hand'."
      }
    },
    "required": [
      "websiteId",
      "articleId"
    ]
  }
}

On this page