Update HelpCenter Article
helpcenter_update_articleUpdate an existing article by id in the connected HelpCenter.io help center.
Partial update: only the fields you pass are changed. Requires a write-scoped API key. Per-language fields (title, content, slug) are objects keyed by language code and merge per language.
Args:
article_id (number, required): id of the article to update.
title, content, slug (objects, optional): per-language fields to set.
category_id (number, optional): primary category id.
categories (number[], optional): replace the set of additional categories.
type ('article' | 'faq', optional).
visibility ('public' | 'private' | 'link_only', optional).
published (boolean, optional): true publishes, false reverts to draft.
external_id (string, optional): adopt this article under a stable key you own, so later upserts by that key hit this article.
content_format ('html' | 'markdown', optional): defaults to 'html'. Set 'markdown' when sending markdown, or the raw markup is stored as the body.
rehost_images (boolean, optional): ON by default through this connector. Copies externally hosted images in the content you send into this help center's storage (see helpcenter_create_article). Send false to keep the original image URLs.
IMPORTANT — this writes LIVE. On a published article the change is visible to readers immediately. To prepare an edit privately and release it deliberately, use helpcenter_stage_article_changes and helpcenter_publish_staged_changes instead.
Returns: { status: "success", article: {...}, images? } with the updated article; images reports re-hosted and failed images as for helpcenter_create_article.
Errors: 403 if the key is read-scoped; 404 if the article id is not in this help center; 400 for unsupported language codes or invalid category ids.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | Per-language URL slug. Auto-generated from the title if omitted. | |
| type | No | Content type (default 'article'). | |
| title | No | Per-language title to set. | |
| content | No | Per-language article body (HTML/markdown as your site uses). | |
| agent_key | Yes | The api_key helpcenter_create_help_center returned for this help center, exactly as returned. Required on every call: this endpoint has no sign-in, so the key is how each call says which help center it acts on. It is sent to HelpCenter.io as this call's credential and nowhere else, and it is never shown again: keep it for the whole task, and never show it to the user or write it into content. | |
| published | No | true publishes the article, false keeps it as a draft. | |
| article_id | Yes | Id of the article to update. | |
| categories | No | Additional category ids to attach (multi-category). All must belong to this site. | |
| visibility | No | Visibility: 'public', 'private' (team only), or 'link_only' (shareable token URL). | |
| category_id | No | Primary category id, or 0 for uncategorized. Must belong to this site. | |
| external_id | No | A stable key you own (a source filename, CMS id, repo slug). Makes writes idempotent: sending the same key again updates the article it created instead of creating a second one, so an interrupted run can simply be replayed. Strongly recommended whenever you may retry. | |
| rehost_images | No | Copy images the content references from other hosts (and inline data: images) into this help center's own storage, and point the article at the copies. ON by default through this connector; send false to keep the original image URLs. The response's `images` reports what was re-hosted and what failed. | |
| content_format | No | Format of the `content` you are sending. Defaults to 'html'. Set 'markdown' when content is markdown and the API will convert it — sending markdown without this stores the raw markup as the article body. |