# Update an article Updates an existing article. Only include the fields you wish to update. ### Path Parameters - id - The unique identifier of the article to update ### Request Body All fields are optional. Only provided fields will be updated: - title - The new title of the article - description - The new description of the article - body - The new HTML content of the article - formatter - Content formatter: "default" or "ai" - icon - Updated icon object for the article - parentId - New parent collection ID - authorId - ID of the new author (must be a member of the organization) - state - "live" or "draft" - if "live", publishes immediately - translations - Dictionary of updated translations keyed by locale ### Response Returns the updated article object with: - id - Unique identifier - title - Article title - description - Article description - body - Article content (HTML) - slug - URL slug - icon - Article icon (emoji or custom) - parentId - Parent collection ID - helpCenterId - ID of the help center this article belongs to - organization - Organization ID - state - Article state (live or draft) - author - Author information (name, authorId, avatarUrl) - translations - Translations for different locales - createdAt - ISO 8601 timestamp when created - updatedAt - ISO 8601 timestamp when last updated ### Errors - 404 - Article not found in your organization's help center Endpoint: PATCH /v2/help_center/articles/{id} Version: 2026-01-01.nova Security: bearerAuth ## Header parameters: - `Featurebase-Version` (string) API version for this request. Defaults to your organization's configured API version if not specified. Example: "2026-01-01.nova" ## Path parameters: - `id` (string, required) The article unique identifier Example: "1234567" ## Request fields (application/json): - `title` (string) The new title of the article Example: "Updated Getting Started Guide" - `description` (string) The new description of the article Example: "Updated description" - `body` (string) The new HTML content of the article Example: "

Updated content.

" - `formatter` (string) Content formatter Enum: "default", "ai" - `icon` (object,null) Icon object for the article - `icon.value` (string, required) Icon value Example: "📖" - `icon.type` (string, required) Type of icon (emoji or predefined only) Enum: "emoji", "predefined" - `parentId` (string,null) New parent collection ID Example: "6474684" - `authorId` (string) ID of the new author (must be a member of the organization) Example: "507f1f77bcf86cd799439011" - `state` (string) Article state - if "live", publishes immediately Enum: "live", "draft" - `translations` (object) Dictionary of updated translations keyed by locale code - `translations.bn` (object) - `translations.bn.title` (string) Article title in this locale Example: "Getting Started Guide" - `translations.bn.description` (string) Article description in this locale Example: "Learn how to get started" - `translations.bn.body` (string) Article body content in this locale (HTML or markdown) Example: "

Welcome to our guide.

" - `translations.bs` (object) - `translations.pt-BR` (object) - `translations.bg` (object) - `translations.ca` (object) - `translations.hr` (object) - `translations.cs` (object) - `translations.da` (object) - `translations.nl` (object) - `translations.en` (object) - `translations.et` (object) - `translations.fi` (object) - `translations.fr` (object) - `translations.de` (object) - `translations.el` (object) - `translations.hi` (object) - `translations.hu` (object) - `translations.id` (object) - `translations.it` (object) - `translations.ja` (object) - `translations.ko` (object) - `translations.lv` (object) - `translations.lt` (object) - `translations.ms` (object) - `translations.mn` (object) - `translations.nb` (object) - `translations.pl` (object) - `translations.pt` (object) - `translations.ro` (object) - `translations.ru` (object) - `translations.sr` (object) - `translations.zh-CN` (object) - `translations.sk` (object) - `translations.sl` (object) - `translations.es` (object) - `translations.sw` (object) - `translations.sv` (object) - `translations.th` (object) - `translations.zh-TW` (object) - `translations.tr` (object) - `translations.uk` (object) - `translations.vi` (object) ## Response 200 fields (application/json): - `object` (string, required) Object type identifier Enum: "article" - `id` (string, required) Article unique identifier Example: "1234567" - `title` (string) Article title Example: "Getting Started Guide" - `description` (string) Article description Example: "Learn how to get started" - `body` (string) Article body content (HTML) Example: "

Welcome to our guide.

" - `slug` (string) URL slug Example: "1234567-getting-started-guide" - `icon` (object,null) Article icon - `icon.type` (string, required) Icon type Enum: "emoji", "custom" - `icon.value` (string, required) Icon value (emoji or URL) Example: "📖" - `parentId` (string,null) Parent collection ID Example: "6474684" - `helpCenterId` (string, required) Help Center ID Example: "j7c5g8ah3ewxp4lo" - `organization` (string, required) Organization ID Example: "6595518396205e06b897ad65" - `state` (string, required) Article state Enum: "live", "draft" - `defaultLocale` (string) Default locale Enum: "bn", "bs", "pt-BR", "bg", "ca", "hr", "cs", "da", "nl", "en", "et", "fi", "fr", "de", "el", "hi", "hu", "id", "it", "ja", "ko", "lv", "lt", "ms", "mn", "nb", "pl", "pt", "ro", "ru", "sr", "zh-CN", "sk", "sl", "es", "sw", "sv", "th", "zh-TW", "tr", "uk", "vi" - `locale` (string, required) Current locale Enum: "bn", "bs", "pt-BR", "bg", "ca", "hr", "cs", "da", "nl", "en", "et", "fi", "fr", "de", "el", "hi", "hu", "id", "it", "ja", "ko", "lv", "lt", "ms", "mn", "nb", "pl", "pt", "ro", "ru", "sr", "zh-CN", "sk", "sl", "es", "sw", "sv", "th", "zh-TW", "tr", "uk", "vi" - `availableLocales` (array, required) Available locales Enum: "bn", "bs", "pt-BR", "bg", "ca", "hr", "cs", "da", "nl", "en", "et", "fi", "fr", "de", "el", "hi", "hu", "id", "it", "ja", "ko", "lv", "lt", "ms", "mn", "nb", "pl", "pt", "ro", "ru", "sr", "zh-CN", "sk", "sl", "es", "sw", "sv", "th", "zh-TW", "tr", "uk", "vi" - `publishedLocales` (array) Published locales Enum: "bn", "bs", "pt-BR", "bg", "ca", "hr", "cs", "da", "nl", "en", "et", "fi", "fr", "de", "el", "hi", "hu", "id", "it", "ja", "ko", "lv", "lt", "ms", "mn", "nb", "pl", "pt", "ro", "ru", "sr", "zh-CN", "sk", "sl", "es", "sw", "sv", "th", "zh-TW", "tr", "uk", "vi" - `featurebaseUrl` (string) Featurebase URL Example: "https://yourorg.featurebase.app/en/help/articles/1234567-getting-started-guide" - `externalUrl` (string) External URL Example: "https://help.yourdomain.com/en/articles/1234567-getting-started-guide" - `author` (object) Article author - `author.name` (string, required) Author name Example: "John Doe" - `author.authorId` (string, required) Author user ID Example: "507f1f77bcf86cd799439011" - `author.avatarUrl` (string,null) Author avatar URL - `order` (number,null) Display order Example: 1 - `isPublished` (boolean) Whether the article is published Example: true - `isDraftDiffersFromLive` (boolean) Whether draft differs from live - `translations` (object) Translations by locale code - `translations.bn` (object) - `translations.bn.createdAt` (string) ISO 8601 timestamp when translation was created Example: "2024-10-18T12:33:09.099Z" - `translations.bn.updatedAt` (string) ISO 8601 timestamp when translation was last updated Example: "2024-10-19T14:22:15.123Z" - `translations.bs` (object) - `translations.pt-BR` (object) - `translations.bg` (object) - `translations.ca` (object) - `translations.hr` (object) - `translations.cs` (object) - `translations.da` (object) - `translations.nl` (object) - `translations.en` (object) - `translations.et` (object) - `translations.fi` (object) - `translations.fr` (object) - `translations.de` (object) - `translations.el` (object) - `translations.hi` (object) - `translations.hu` (object) - `translations.id` (object) - `translations.it` (object) - `translations.ja` (object) - `translations.ko` (object) - `translations.lv` (object) - `translations.lt` (object) - `translations.ms` (object) - `translations.mn` (object) - `translations.nb` (object) - `translations.pl` (object) - `translations.pt` (object) - `translations.ro` (object) - `translations.ru` (object) - `translations.sr` (object) - `translations.zh-CN` (object) - `translations.sk` (object) - `translations.sl` (object) - `translations.es` (object) - `translations.sw` (object) - `translations.sv` (object) - `translations.th` (object) - `translations.zh-TW` (object) - `translations.tr` (object) - `translations.uk` (object) - `translations.vi` (object) - `createdAt` (string, required) ISO 8601 timestamp when created Example: "2024-10-18T12:33:09.099Z" - `updatedAt` (string, required) ISO 8601 timestamp when last updated Example: "2024-10-18T13:03:25.921Z" - `liveUpdatedAt` (string) ISO 8601 timestamp when live version was last updated Example: "2024-10-18T13:03:25.921Z" - `path` (string) Path to article within help center hierarchy Example: "/getting-started" - `surveyId` (string) Associated survey ID Example: "6743752ca81ae59d25cf834b" - `visibleBy` (array) Visibility settings Example: ["everyone"] - `translationCreatedAt` (string) ISO 8601 timestamp when translation was created Example: "2024-10-18T12:33:09.099Z" - `translationUpdatedAt` (string) ISO 8601 timestamp when translation was last updated Example: "2024-10-19T14:22:15.123Z" ## Response 400 fields (application/json): - `error` (object, required) - `error.type` (string, required) The type of error returned Enum: "invalid_request_error" - `error.code` (string, required) Machine-readable error code Enum: "invalid_id" - `error.message` (string, required) Human-readable error message Example: "An error occurred" - `error.param` (string) The parameter that caused the error (if applicable) Example: "id" - `error.status` (number, required) HTTP status code Enum: 400 ## Response 404 fields (application/json): - `error` (object, required) - `error.type` (string, required) The type of error returned Enum: "invalid_request_error" - `error.code` (string, required) Machine-readable error code Enum: "article_not_found" - `error.message` (string, required) Human-readable error message Example: "An error occurred" - `error.param` (string) The parameter that caused the error (if applicable) Example: "id" - `error.status` (number, required) HTTP status code Enum: 404