> ## Documentation Index
> Fetch the complete documentation index at: https://developers.getfernand.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update knowledge base settings and configuration

Updates the knowledge base configuration. Changes to custom domains are validated and configured with the hosting provider. Image assets can be provided as URLs or base64-encoded data and are automatically uploaded to CDN storage.


## OpenAPI

````yaml https://api.getfernand.com/openapi.json patch /knowledge
openapi: 3.0.3
info:
  title: Fernand API Documentation
  version: '3.0'
  description: This is the documentation for the [Fernand](https://getfernand.com) API.
  termsOfService: https://getfernand.com/terms
  contact:
    name: Fernand Support
    url: https://getfernand.com
    email: support@getfernand.com
  x-logo:
    url: https://app.getfernand.com/images/favicon/icon_128.png
servers:
  - url: https://api.getfernand.com
    description: ''
    x-last-modified: 1764750693905
security:
  - apiKeyHeader: []
externalDocs:
  description: You can access our documentation online by visiting https://api.fernand.help
  url: https://api.fernand.help
paths:
  /knowledge:
    patch:
      tags:
        - Knowledge Base
      summary: Update knowledge base settings and configuration
      description: >-
        Updates the knowledge base configuration. Changes to custom domains are
        validated and configured with the hosting provider. Image assets can be
        provided as URLs or base64-encoded data and are automatically uploaded
        to CDN storage.
      operationId: updateKnowledgeBase
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  maxLength: 250
                  description: Main title for the knowledge base homepage.
                  example: PiedPiper Help Center
                description:
                  type: string
                  maxLength: 1000
                  nullable: true
                  description: Description text shown on the knowledge base homepage.
                company_name:
                  type: string
                  maxLength: 250
                  nullable: true
                  description: Company name displayed in the knowledge base.
                  example: PiedPiper
                company_url:
                  type: string
                  maxLength: 250
                  nullable: true
                  description: Company website URL (without http/https prefix).
                  example: piedpiper.com
                subdomain:
                  type: string
                  maxLength: 50
                  description: >-
                    Subdomain for accessing the knowledge base (e.g.,
                    'piedpiper' for piedpiper.fernand.help).
                  pattern: ^[a-z0-9]{1}[a-z0-9_\-]{1,58}[a-z0-9]{1}$
                  example: piedpiper
                custom_domain:
                  type: string
                  maxLength: 250
                  nullable: true
                  description: >-
                    Custom domain for the knowledge base (without http/https
                    prefix).
                  example: help.piedpiper.com
                favicon:
                  type: string
                  nullable: true
                  description: Favicon URL or base64-encoded PNG image data.
                language:
                  type: string
                  maxLength: 5
                  nullable: true
                  description: >-
                    Language code for the knowledge base (null for browser
                    detection).
                  enum:
                    - en
                    - fr
                    - de
                    - es
                    - it
                    - pt
                    - pl
                    - tr
                    - sv
                    - nl
                    - dk
                  example: en
                color_scheme:
                  type: string
                  nullable: true
                  enum:
                    - light
                    - dark
                  description: Color scheme preference for the knowledge base.
                light_logo:
                  type: string
                  nullable: true
                  description: >-
                    Logo URL or base64-encoded image for light mode (jpg, png,
                    svg).
                light_accent_color:
                  type: string
                  pattern: ^#[0-9A-Fa-f]{6}$
                  description: Accent color for light mode (hex color code).
                  example: '#00a0ff'
                dark_logo:
                  type: string
                  nullable: true
                  description: >-
                    Logo URL or base64-encoded image for dark mode (jpg, png,
                    svg).
                dark_accent_color:
                  type: string
                  pattern: ^#[0-9A-Fa-f]{6}$
                  description: Accent color for dark mode (hex color code).
                  example: '#00a0ff'
                custom_css:
                  type: string
                  maxLength: 8000000
                  nullable: true
                  description: Custom CSS to apply to the knowledge base (max 8MB).
                custom_js:
                  type: string
                  maxLength: 8000000
                  nullable: true
                  description: Custom JavaScript to apply to the knowledge base (max 8MB).
                indexable:
                  type: boolean
                  description: >-
                    Whether the knowledge base should be indexed by search
                    engines.
      responses:
        '200':
          description: Knowledge base settings updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KnowledgeLang'
        '400':
          description: Invalid input or domain already in use.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
components:
  schemas:
    KnowledgeLang:
      type: object
      description: >-
        Knowledge base settings combined with language-specific content.
        Inherits all properties from Knowledge model and adds language-specific
        fields.
      allOf:
        - $ref: '#/components/schemas/Knowledge'
        - type: object
          properties:
            title:
              type: string
              maxLength: 250
              description: Main title displayed on the knowledge base homepage.
              example: Help Center
            description:
              type: string
              maxLength: 1000
              nullable: true
              description: Description text shown on the knowledge base homepage.
              example: Welcome to the PiedPiper help center
            company_name:
              type: string
              maxLength: 250
              nullable: true
              description: Company name displayed in the knowledge base.
              example: PiedPiper help center
            company_url:
              type: string
              maxLength: 250
              nullable: true
              description: Company website URL.
              example: https://piedpiper.com
      x-computed-hash: 170caacbd23fea152e48643e0dd9c0fc2ed66d23823382f710368354faa89abb
      x-last-modified: 1769075325
    Knowledge:
      type: object
      properties:
        subdomain:
          type: string
          maxLength: 50
          nullable: true
          description: >-
            Subdomain for accessing the knowledge base (e.g., 'piedpiper' for
            piedpiper.fernand.help).
          example: help
        custom_domain:
          type: string
          maxLength: 250
          nullable: true
          description: Custom domain configured for the knowledge base.
          example: help.piedpiper.com
        favicon:
          type: string
          maxLength: 250
          nullable: true
          description: URL to the favicon image stored in CDN.
          example: https://cdn.example.com/knowledge/uuid/images/favicon.png
        language:
          type: string
          maxLength: 5
          nullable: true
          description: >-
            Default language code for the knowledge base (null for browser
            detection).
          example: en
        color_scheme:
          type: string
          maxLength: 5
          nullable: true
          enum:
            - light
            - dark
          description: >-
            Preferred color scheme for the knowledge base. Defaults to null,
            which will use the user system's preferences.
        light_logo:
          type: string
          maxLength: 250
          nullable: true
          description: URL to the logo image for light mode.
        light_accent_color:
          type: string
          maxLength: 7
          description: Hex color code for accent color in light mode.
          example: '#00a0ff'
        dark_logo:
          type: string
          maxLength: 250
          nullable: true
          description: URL to the logo image for dark mode.
        dark_accent_color:
          type: string
          maxLength: 7
          description: Hex color code for accent color in dark mode.
          example: '#00a0ff'
        custom_css:
          type: string
          nullable: true
          description: Custom CSS applied to the knowledge base.
        custom_js:
          type: string
          nullable: true
          description: Custom JavaScript applied to the knowledge base.
        previous_url:
          type: string
          maxLength: 250
          nullable: true
          description: Previous URL if migrated from another help system.
        valid_custom_domain:
          type: boolean
          description: Whether the custom domain DNS is properly configured and verified.
        last_verified_dns:
          type: string
          format: date-time
          nullable: true
          description: Timestamp of the last successful DNS verification.
        indexable:
          type: boolean
          description: Whether the knowledge base should be indexed by search engines.
      x-computed-hash: a29a10c4ab4e28400244ce0a61fc8677a0a08639ee8c31eab9ec1ee0534d4fa5
      x-last-modified: 1769075325
  securitySchemes:
    apiKeyHeader:
      type: apiKey
      description: >-
        Authenticate your account by including your secret key in API requests.

        You can manage your API keys in the
        [Dashboard](https://app.getfernand.com/).


        Authentication to the API is performed by using the HTTP Header
        X-API-Key.
      name: X-API-Key
      in: header
      x-last-modified: 1764750344730

````