# Help Centers Help centers allow organizations to create and manage knowledge bases with articles and collections. Currently, Featurebase supports one help center per organization. ## List help centers - [GET /v2/help_center/help_centers](https://docs.featurebase.app/rest-api/help-centers/listhelpcenters.md): Returns all help centers configured in your Featurebase organization. Currently, Featurebase only supports one help center per organization, but we plan on supporting multiple help centers in the future. ### Query Parameters - limit - Number of items to return (1-100, default 10) - cursor - Cursor for pagination ### Response Format Returns a list object with: - object - Always "list" - data - Array of help center objects - nextCursor - Cursor for next page (null if no more results) ### Help Center Object Each help center includes: - id - Unique identifier - displayName - Help center display name - title - Help center title - description - Help center description - isPublic - Whether the help center is publicly accessible - defaultLocale - Default locale for content - availableLocales - Array of available locales - navItems - Navigation items configuration - urls - URL configuration (subpath, custom domain) - createdAt - ISO 8601 timestamp when created - updatedAt - ISO 8601 timestamp when last updated ## Get a help center by ID - [GET /v2/help_center/help_centers/{id}](https://docs.featurebase.app/rest-api/help-centers/gethelpcenter.md): Retrieves a single help center by its unique identifier. Returns the help center object if found in your organization. ### Response Returns a help center object with: - id - Unique identifier - displayName - Help center display name - title - Help center title - description - Help center description - searchPlaceholder - Search input placeholder text - isPublic - Whether the help center is publicly accessible - defaultLocale - Default locale for content - locale - Current locale - availableLocales - Array of available locales - navItems - Navigation items configuration - urls - URL configuration (subpath, custom domain) - createdAt - ISO 8601 timestamp when created - updatedAt - ISO 8601 timestamp when last updated ### Errors - 404 - Help center not found in your organization ## List collections - [GET /v2/help_center/collections](https://docs.featurebase.app/rest-api/help-centers/listcollections.md): Returns a paginated list of collections within your organization's help center. Collections are used to organize articles into logical groups. ### Query Parameters - limit - Number of items to return (1-100, default 10) - cursor - Cursor for pagination ### Response Format Returns a list object with: - object - Always "list" - data - Array of collection objects - nextCursor - Cursor for next page (null if no more results) ### Collection Object Each collection includes: - id - Unique identifier - name - Collection name - description - Collection description - slug - URL slug - icon - Collection icon (emoji or custom) - parentId - Parent collection ID (null for root collections) - helpCenterId - ID of the help center this collection belongs to - organization - Organization ID - defaultLocale - Default locale for content - locale - Current locale - availableLocales - Array of available locales - featurebaseUrl - Featurebase URL for the collection - externalUrl - External URL if custom domain is configured - articleCount - Number of articles in this collection - authorCount - Number of authors who contributed - order - Display order - translations - Translations for different locales - createdAt - ISO 8601 timestamp when created - updatedAt - ISO 8601 timestamp when last updated ## Create a collection - [POST /v2/help_center/collections](https://docs.featurebase.app/rest-api/help-centers/createcollection.md): Creates a new collection in your organization's help center. ### Request Body Required attributes: - name - The name of the collection Optional attributes: - description - A description of the collection - icon - An icon object representing the collection icon (with type and value) - parentId - The ID of the parent collection, if any - translations - A dictionary of translations keyed by locale ### Response Returns the created collection object with: - id - Unique identifier - name - Collection name - description - Collection description - slug - URL slug - icon - Collection icon (emoji or custom) - parentId - Parent collection ID (null for root collections) - helpCenterId - ID of the help center this collection belongs to - organization - Organization ID - defaultLocale - Default locale for content - locale - Current locale - availableLocales - Array of available locales - featurebaseUrl - Featurebase URL for the collection - externalUrl - External URL if custom domain is configured - articleCount - Number of articles in this collection - authorCount - Number of authors who contributed - order - Display order - translations - Translations for different locales - createdAt - ISO 8601 timestamp when created - updatedAt - ISO 8601 timestamp when last updated ## Get a collection by ID - [GET /v2/help_center/collections/{id}](https://docs.featurebase.app/rest-api/help-centers/getcollection.md): Retrieves a specific collection by its unique identifier. Returns the collection object if found in your organization's help center. ### Response Returns a collection object with: - id - Unique identifier - name - Collection name - description - Collection description - slug - URL slug - icon - Collection icon (emoji or custom) - parentId - Parent collection ID (null for root collections) - helpCenterId - ID of the help center this collection belongs to - organization - Organization ID - defaultLocale - Default locale for content - locale - Current locale - availableLocales - Array of available locales - featurebaseUrl - Featurebase URL for the collection - externalUrl - External URL if custom domain is configured - articleCount - Number of articles in this collection - authorCount - Number of authors who contributed - order - Display order - translations - Translations for different locales - createdAt - ISO 8601 timestamp when created - updatedAt - ISO 8601 timestamp when last updated ### Errors - 404 - Collection not found in your organization's help center ## Update a collection - [PATCH /v2/help_center/collections/{id}](https://docs.featurebase.app/rest-api/help-centers/updatecollection.md): Updates an existing collection. Only include the fields you wish to update. ### Path Parameters - id - The unique identifier of the collection to update ### Request Body All fields are optional. Only provided fields will be updated: - name - The new name of the collection - description - The new description of the collection - icon - An updated icon object for the collection (with type and value) - parentId - The new parent collection ID, if applicable (null for root level) - translations - A dictionary of updated translations keyed by locale code ### Response Returns the updated collection object with: - id - Unique identifier - name - Collection name - description - Collection description - slug - URL slug - icon - Collection icon (emoji or custom) - parentId - Parent collection ID (null for root collections) - helpCenterId - ID of the help center this collection belongs to - organization - Organization ID - defaultLocale - Default locale for content - locale - Current locale - availableLocales - Array of available locales - featurebaseUrl - Featurebase URL for the collection - externalUrl - External URL if custom domain is configured - articleCount - Number of articles in this collection - authorCount - Number of authors who contributed - order - Display order - translations - Translations for different locales - createdAt - ISO 8601 timestamp when created - updatedAt - ISO 8601 timestamp when last updated ### Errors - 404 - Collection not found in your organization's help center ## Delete a collection - [DELETE /v2/help_center/collections/{id}](https://docs.featurebase.app/rest-api/help-centers/deletecollection.md): Deletes an existing collection. ### Path Parameters - id - The unique identifier of the collection to delete ### Response Returns a deletion confirmation object: - id - The ID of the deleted collection - object - Always "collection" - deleted - Always true ### Errors - 404 - Collection not found in your organization's help center ## List articles - [GET /v2/help_center/articles](https://docs.featurebase.app/rest-api/help-centers/listarticles.md): Returns a paginated list of articles within your organization's help center. Articles are the main content pieces that contain documentation, guides, and FAQs. ### Query Parameters - limit - Number of items to return (1-100, default 10) - cursor - Cursor for pagination - state - Filter by article state: "live", "draft", or "all" (default "live") - parentId - Filter by parent collection ID ### Response Format Returns a list object with: - object - Always "list" - data - Array of article objects - nextCursor - Cursor for next page (null if no more results) ### Article Object Each article includes: - 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) - defaultLocale - Default locale for content - locale - Current locale - availableLocales - Array of available locales - publishedLocales - Array of locales where article is published - featurebaseUrl - Featurebase URL for the article - externalUrl - External URL if custom domain is configured - author - Author information (name, authorId, avatarUrl) - order - Display order - isPublished - Whether the article is published - isDraftDiffersFromLive - Whether draft differs from live version - translations - Translations for different locales - createdAt - ISO 8601 timestamp when created - updatedAt - ISO 8601 timestamp when last updated - liveUpdatedAt - ISO 8601 timestamp when live version was last updated ## Create an article - [POST /v2/help_center/articles](https://docs.featurebase.app/rest-api/help-centers/createarticle.md): Creates a new article in your organization's help center. ### Request Body Required attributes: - title - The title of the article Optional attributes: - description - A brief description of the article - body - The HTML content of the article (supports external image URLs and base64 data URIs) - formatter - Content formatter: "default" or "ai" (AI converts markdown/html to Featurebase format) - parentId - The ID of the parent collection - icon - Icon object with type and value - state - "live" or "draft" (defaults to "draft") - translations - Dictionary of translations keyed by locale ### Response Returns the created 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 ## Get an article by ID - [GET /v2/help_center/articles/{id}](https://docs.featurebase.app/rest-api/help-centers/getarticle.md): Retrieves a specific article by its unique identifier. Returns the article object if found in your organization's help center. ### Query Parameters - state - Article state to retrieve: "live" or "draft" (default "live") ### Response Returns an 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) - defaultLocale - Default locale for content - locale - Current locale - availableLocales - Array of available locales - publishedLocales - Array of locales where article is published - featurebaseUrl - Featurebase URL for the article - externalUrl - External URL if custom domain is configured - author - Author information (name, authorId, avatarUrl) - order - Display order - isPublished - Whether the article is published - isDraftDiffersFromLive - Whether draft differs from live version - translations - Translations for different locales - createdAt - ISO 8601 timestamp when created - updatedAt - ISO 8601 timestamp when last updated - liveUpdatedAt - ISO 8601 timestamp when live version was last updated ### Errors - 404 - Article not found in your organization's help center ## Update an article - [PATCH /v2/help_center/articles/{id}](https://docs.featurebase.app/rest-api/help-centers/updatearticle.md): 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 ## Delete an article - [DELETE /v2/help_center/articles/{id}](https://docs.featurebase.app/rest-api/help-centers/deletearticle.md): Deletes an existing article. ### Path Parameters - id - The unique identifier of the article to delete ### Response Returns a deletion confirmation object: - id - The ID of the deleted article - object - Always "article" - deleted - Always true ### Errors - 404 - Article not found in your organization's help center ## List redirect rules - [GET /v2/help_center/redirect_rules](https://docs.featurebase.app/rest-api/help-centers/listredirectrules.md): Returns a paginated list of redirect rules within your organization. Redirect rules map old Help Center URLs to new article or collection destinations, enabling seamless migration from legacy help center systems. Only Help Centers with a custom domain configured support redirect rules. ### Query Parameters - limit - Number of items to return (1-100, default 10) - cursor - Cursor for pagination - helpCenterId - Filter by help center ID - locale - Filter by locale code - targetType - Filter by target type ("article" or "collection") ### Response Format Returns a list object with: - object - Always "list" - data - Array of redirect rule objects - nextCursor - Cursor for next page (null if no more results) ### Redirect Rule Object Each redirect rule includes: - id - Unique identifier (MongoDB ObjectId) - helpCenterId - Help center this rule belongs to - locale - Locale code used to resolve the target translation - fromUrl - Canonical source URL (query/hash stripped, hostname lowercased) - targetType - "article" or "collection" - targetId - ID of the target article or collection - createdAt - ISO 8601 timestamp when created - updatedAt - ISO 8601 timestamp when last updated ## Create a redirect rule - [POST /v2/help_center/redirect_rules](https://docs.featurebase.app/rest-api/help-centers/createredirectrule.md): Creates a new redirect rule in your organization. The fromUrl is normalized on creation: query parameters and hash fragments are stripped, the hostname is lowercased, and trailing slashes are removed. The fromUrl hostname must match the Help Center's configured custom domain. The target article or collection must exist and have a resolvable URL (i.e., a published translation with a slug). ### Request Body Required attributes: - helpCenterId - The ID of the help center this rule belongs to - locale - Locale code used to resolve the target translation - fromUrl - The full absolute URL to redirect from (must match the help center's custom domain) - targetType - "article" or "collection" - targetId - The ID of the target article or collection ### Response Returns the created redirect rule object. ### Errors - 400 - Invalid request data, fromUrl does not match custom domain, or target not found ## Get a redirect rule by URL - [GET /v2/help_center/redirect_rules/by-url](https://docs.featurebase.app/rest-api/help-centers/getredirectrulebyurl.md): Retrieves a specific redirect rule by its source URL. The url query parameter is normalized before matching: query parameters and hash fragments are stripped, the hostname is lowercased, and trailing slashes are removed. This is the same normalization applied when creating a redirect rule. ### Query Parameters - url (required) - Full absolute URL to look up (http or https) ### Response Returns a redirect rule object with: - id - Unique identifier (MongoDB ObjectId) - helpCenterId - Help center this rule belongs to - locale - Locale code - fromUrl - Canonical source URL being redirected from - targetType - "article" or "collection" - targetId - ID of the target article or collection - createdAt - ISO 8601 timestamp when created - updatedAt - ISO 8601 timestamp when last updated ### Errors - 400 - Invalid URL format - 404 - No redirect rule exists for the given URL ## Get a redirect rule by ID - [GET /v2/help_center/redirect_rules/{id}](https://docs.featurebase.app/rest-api/help-centers/getredirectrule.md): Retrieves a specific redirect rule by its unique identifier. Returns the redirect rule object if found in your organization. ### Response Returns a redirect rule object with: - id - Unique identifier (MongoDB ObjectId) - helpCenterId - Help center this rule belongs to - locale - Locale code - fromUrl - Canonical source URL being redirected from - targetType - "article" or "collection" - targetId - ID of the target article or collection - createdAt - ISO 8601 timestamp when created - updatedAt - ISO 8601 timestamp when last updated ### Errors - 404 - Redirect rule not found in your organization ## Update a redirect rule - [PATCH /v2/help_center/redirect_rules/{id}](https://docs.featurebase.app/rest-api/help-centers/updateredirectrule.md): Updates an existing redirect rule. Only include the fields you wish to update. If fromUrl is provided, it will be re-normalized and validated against the Help Center's custom domain. If targetType or targetId is changed, the new target must exist and have a resolvable URL. ### Path Parameters - id - The unique identifier of the redirect rule to update ### Request Body All fields are optional. Only provided fields will be updated: - helpCenterId - The help center ID - locale - Locale code - fromUrl - Updated source URL (will be re-normalized) - targetType - "article" or "collection" - targetId - ID of the new target article or collection ### Response Returns the updated redirect rule object. ### Errors - 404 - Redirect rule not found - 400 - Invalid data, domain mismatch, duplicate fromUrl, or target not found ## Delete a redirect rule - [DELETE /v2/help_center/redirect_rules/{id}](https://docs.featurebase.app/rest-api/help-centers/deleteredirectrule.md): Deletes an existing redirect rule. The associated Redis cache entry is also invalidated. ### Path Parameters - id - The unique identifier of the redirect rule to delete ### Response Returns a deletion confirmation object: - id - The ID of the deleted redirect rule - object - Always "redirect_rule" - deleted - Always true ### Errors - 404 - Redirect rule not found in your organization