Zoho KB Root Category API

The KBRootCategory API from Zoho — 10 operation(s) for kbrootcategory.

Operations 11

POST /api/v1/kbRootCategories/{rootCategoryId}/reviewOwners/remove Remove review owner #
GET /api/v1/kbRootCategories/{rootCategoryId} Get root category #
GET /api/v1/kbRootCategories List root categories #
POST /api/v1/kbRootCategories Create root category #
POST /api/v1/kbRootCategories/{rootCategoryId}/moderators/add Add moderators #
GET /api/v1/kbRootCategories/{rootCategoryId}/reviewOwners Get review owners #
POST /api/v1/kbRootCategories/{rootCategoryId}/reviewOwners/add Add review owner #
GET /api/v1/kbRootCategories/{rootCategoryId}/categoryTree Get a category tree #
POST /api/v1/kbRootCategories/{rootCategoryId}/moderators/remove Remove moderators #

Documentation

Specifications

Code Examples

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/zoho-kbrootcategory-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

zoho-kbrootcategory-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Helpcenter KB Root Category API
  version: 1.0.0
tags:
- name: KBRootCategory
paths:
  /api/v1/kbRootCategories/{rootCategoryId}/reviewOwners/remove:
    post:
      tags:
      - KBRootCategory
      summary: Remove review owner
      description: This API removes review owners of a root category in your helpdesk
      operationId: deleteKBCategoryReviewOwners
      parameters:
      - $ref: '#/components/parameters/rootCategoryId'
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/addReviewOwnerJson'
      responses:
        '422':
          $ref: ./Common.json#/components/responses/invalidDataErrorResponse
        '200':
          $ref: ./MassActionResponse.json#/components/responses/massActionListResponse
      security:
      - iam-oauth2-schema:
        - Desk.articles.UPDATE
      x-audience:
      - external-public
  /api/v1/kbRootCategories/{rootCategoryId}:
    get:
      tags:
      - KBRootCategory
      summary: Get root category
      description: This API fetches the details of a root category.
      operationId: getKBRootCategory
      parameters:
      - $ref: '#/components/parameters/rootCategoryId'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '200':
          $ref: '#/components/responses/rootCategoryResponse'
      security:
      - iam-oauth2-schema:
        - Desk.articles.READ
      x-audience:
      - external-public
  /api/v1/kbRootCategories:
    get:
      tags:
      - KBRootCategory
      summary: List root categories
      description: This API lists a particular number of root categories, based on the limit defined.
      operationId: getAllKBRootCategories
      parameters:
      - name: include
        in: query
        description: 'Additional information related to the category. Values allowed are: publicArticlesCount, allArticlesCount, publishedArticleCount, allArticleTemplateCount and sectionsCount.'
        required: false
        style: simple
        explode: true
        schema:
          type:
          - 'null'
          - array
          description: 'Additional information related to the category. Values allowed are: publicArticlesCount, allArticlesCount, publishedArticleCount, allArticleTemplateCount and sectionsCount.'
          items:
            type:
            - string
            - 'null'
            enum:
            - publicArticlesCount
            - sectionsCount
            - allArticlesCount
            - publishedArticleCount
            - canCurrentUserReview
            - allArticleTemplateCount
            maxLength: 100
            minLength: 0
          uniqueItems: true
      - name: isReviewEnabled
        in: query
        description: Key that specifies whether the category must be reviewed or not
        required: false
        style: form
        explode: true
        schema:
          type:
          - boolean
          - 'null'
          description: Key that specifies whether the category must be reviewed or not
      - name: departmentId
        in: query
        description: ID of the department associated with the category
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          - integer
          format: int64
          description: ID of the department associated with the category
          pattern: ([0-9]+)
      - name: sortBy
        in: query
        description: 'Key that sorts the categories, based on a specific attribute: name or order'
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: 'Key that sorts the categories, based on a specific attribute: name or order'
          enum:
          - name
          - order
          maxLength: 100
          minLength: 0
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '200':
          $ref: '#/components/responses/listAllCategoryResponse'
      security:
      - iam-oauth2-schema:
        - Desk.articles.READ
      x-audience:
      - external-public
    post:
      tags:
      - KBRootCategory
      summary: Create root category
      description: This API creates a root category (i.e., parent category) in your knowledge base.
      operationId: addKBRootCategory
      parameters:
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/createCategoryJson'
      responses:
        '422':
          $ref: ./Common.json#/components/responses/invalidDataErrorResponse
        '200':
          $ref: '#/components/responses/rootCategoryResponse'
      security:
      - iam-oauth2-schema:
        - Desk.articles.CREATE
      x-audience:
      - external-public
  /api/v1/kbRootCategories/{rootCategoryId}/moderators/add:
    post:
      tags:
      - KBRootCategory
      summary: Add moderators
      description: This API adds moderators to a root category in your helpdesk.<br/><br/>_Note_:<br/>Moderators act as designated agents within the primary department with access to the Moderation Panel. They are responsible for reviewing and managing comments awaiting approval or flagged as spam.
      operationId: addKBRootCategoryModerators
      parameters:
      - $ref: '#/components/parameters/rootCategoryId'
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/addModeratorJson'
      responses:
        '422':
          $ref: ./Common.json#/components/responses/invalidDataErrorResponse
        '200':
          $ref: ./MassActionResponse.json#/components/responses/massActionListResponse
      security:
      - iam-oauth2-schema:
        - Desk.articles.UPDATE
      x-audience:
      - external-public
  /api/v1/kbRootCategories/{rootCategoryId}/reviewOwners:
    get:
      tags:
      - KBRootCategory
      summary: Get review owners
      description: This API fetches review owners of a root category in your helpdesk
      operationId: getKBRootCategoryReviewOwners
      parameters:
      - $ref: '#/components/parameters/rootCategoryId'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '422':
          $ref: ./Common.json#/components/responses/invalidDataErrorResponse
        '200':
          $ref: '#/components/responses/reviewOwnersDataJson'
      security:
      - iam-oauth2-schema:
        - Desk.articles.READ
      x-audience:
      - external-public
  /api/v1/kbRootCategories/{rootCategoryId}/reviewOwners/add:
    post:
      tags:
      - KBRootCategory
      summary: Add review owner
      description: This API adds review owners of a root category in your helpdesk
      operationId: addKBRootCategoryReviewOwners
      parameters:
      - $ref: '#/components/parameters/rootCategoryId'
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/addReviewOwners_addReviewOwnerJson'
      responses:
        '422':
          $ref: ./Common.json#/components/responses/invalidDataErrorResponse
        '200':
          $ref: ./MassActionResponse.json#/components/responses/massActionListResponse
      security:
      - iam-oauth2-schema:
        - Desk.articles.UPDATE
      x-audience:
      - external-public
  /api/v1/kbRootCategories/{rootCategoryId}/translations/{locale}/permalinks/remove:
    post:
      tags:
      - KBRootCategory
      summary: Remove a permalink of a root category
      description: This API removes a permalink of a root category translation
      operationId: deleteKBRootCategoryPermalink
      parameters:
      - $ref: '#/components/parameters/locale'
      - $ref: '#/components/parameters/rootCategoryId'
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/removePermalink_removePermalinkJson'
      responses:
        '422':
          $ref: ./Common.json#/components/responses/invalidDataErrorResponse
        '204':
          $ref: ./Common.json#/components/responses/emptyResponse
      security:
      - iam-oauth2-schema:
        - Desk.articles.UPDATE
      x-audience:
      - external-public
  /api/v1/kbRootCategories/{rootCategoryId}/translations/{locale}/permalinks/add:
    post:
      tags:
      - KBRootCategory
      summary: Add a permalink to a root catgeory
      description: This API adds a permalink to a root category translation
      operationId: addKBRootCategoryPermalink
      parameters:
      - $ref: '#/components/parameters/locale'
      - $ref: '#/components/parameters/rootCategoryId'
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/addPermalink_addPermalinkJson'
      responses:
        '422':
          $ref: ./Common.json#/components/responses/invalidDataErrorResponse
        '200':
          $ref: ./KBCategoryPermalink.json#/components/responses/permalinkJsonDataArrayWithOldResponse
      security:
      - iam-oauth2-schema:
        - Desk.articles.UPDATE
      x-audience:
      - external-public
  /api/v1/kbRootCategories/{rootCategoryId}/categoryTree:
    get:
      tags:
      - KBRootCategory
      summary: Get a category tree
      description: This API fetches the full tree of a root category in your helpdesk
      operationId: getKBRootCategoryTree
      parameters:
      - name: include
        in: query
        description: Include params are publicArticlesCount, allArticlesCount, publishedArticleCount, publishedArticleTemplateCount and portalUrl
        required: false
        style: simple
        explode: true
        schema:
          type:
          - 'null'
          - array
          description: Include params are publicArticlesCount, allArticlesCount, publishedArticleCount, publishedArticleTemplateCount and portalUrl
          items:
            type:
            - string
            - 'null'
            enum:
            - publishedArticleTemplateCount
            maxLength: 100
            minLength: 0
          uniqueItems: true
      - $ref: '#/components/parameters/rootCategoryId'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '422':
          $ref: ./Common.json#/components/responses/invalidDataErrorResponse
        '200':
          $ref: '#/components/responses/rootCategoryTreeResponse'
      security:
      - iam-oauth2-schema:
        - Desk.articles.READ
      x-audience:
      - external-public
  /api/v1/kbRootCategories/{rootCategoryId}/moderators/remove:
    post:
      tags:
      - KBRootCategory
      summary: Remove moderators
      description: This API removes moderators from a root category in your helpdesk.<br/><br/>_Note_:<br/>Moderators act as designated agents within the primary department with access to the Moderation Panel. They are responsible for reviewing and managing comments awaiting approval or flagged as spam.
      operationId: deleteKBRootCategoryModerators
      parameters:
      - $ref: '#/components/parameters/rootCategoryId'
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/removeModerators_addModeratorJson'
      responses:
        '422':
          $ref: ./Common.json#/components/responses/invalidDataErrorResponse
        '200':
          $ref: ./MassActionResponse.json#/components/responses/massActionListResponse
      security:
      - iam-oauth2-schema:
        - Desk.articles.UPDATE
      x-audience:
      - external-public
components:
  parameters:
    locale:
      name: locale
      in: path
      required: true
      style: simple
      explode: false
      schema:
        type:
        - string
        - 'null'
        enum:
        - en
        - ja
        - zh
        - es
        - de
        - fr
        - tr
        - ru
        - pt
        - it
        - nl
        - da
        - sv
        - pl
        - ar
        - he
        - af
        - cs
        - fr-ca
        - bg
        - fi
        - el
        - hu
        - id
        - nb
        - ro
        - th
        - uk
        - vi
        - ur
        - hi
        - te
        - kn
        - ta
        - mr
        - ko
        - fa
        - bn
        - gu
        - ms
        - ml
        - en-gb
        - sk
        - hr
        - sl
        - zh_TW
        - zh-tw
        - ca
        - ka
        - kk
        - my
        - km
        - pt-br
        maxLength: 100
        minLength: 0
        pattern: ([a-zA-Z]{2,4}([-_][a-zA-Z]{2})?)
    rootCategoryId:
      name: rootCategoryId
      in: path
      required: true
      style: simple
      explode: false
      schema:
        type:
        - string
        - 'null'
        - integer
        format: int64
        pattern: ([0-9]+)
  requestBodies:
    addModeratorJson:
      content:
        application/json:
          schema:
            type:
            - 'null'
            - object
            additionalProperties: false
            properties:
              moderatorIds:
                $ref: '#/components/schemas/addReviewOwnerArray'
            required:
            - moderatorIds
          examples:
            Valid requestBody Definitions:
              value:
                moderatorIds:
                - '5000000015867'
    addReviewOwnerJson:
      content:
        application/json:
          schema:
            type:
            - 'null'
            - object
            additionalProperties: false
            properties:
              reviewOwnerIds:
                $ref: '#/components/schemas/addReviewOwnerArray'
            required:
            - reviewOwnerIds
          examples:
            Valid requestBody Definitions:
              value:
                reviewOwnerIds:
                - '5000000015867'
    removeModerators_addModeratorJson:
      content:
        application/json:
          schema:
            type:
            - 'null'
            - object
            additionalProperties: false
            properties:
              moderatorIds:
                $ref: '#/components/schemas/addReviewOwnerArray'
            required:
            - moderatorIds
          examples:
            Valid requestBody Definitions:
              value:
                moderatorIds:
                - '5000000015867'
    createCategoryJson:
      content:
        application/json:
          schema:
            type:
            - 'null'
            - object
            additionalProperties: false
            properties:
              articleViewType:
                type:
                - string
                - 'null'
                description: 'View to apply while listing help articles. Values allowed are: LISTVIEW and OVERVIEW.'
                enum:
                - LISTVIEW
                - OVERVIEW
                maxLength: 100
                minLength: 0
              visibility:
                type:
                - string
                - 'null'
                description: 'Visibility setting of the category. Values allowed are: AGENTS, GROUP_USERS, ALL_USERS, NONE, and PRIVATE_IP.'
                enum:
                - ALL_USERS
                - AGENTS
                - GROUP_USERS
                - PRIVATE_IP
                - NONE
                maxLength: 100
                minLength: 0
              description:
                type:
                - string
                - 'null'
                description: A brief description of the category
                maxLength: 100
                minLength: 0
                pattern: ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+
              feedbackTicketConversionPreference:
                $ref: '#/components/schemas/feedbackPreferenceObj'
              associatedDepartmentIds:
                type:
                - 'null'
                - array
                items:
                  type:
                  - string
                  - 'null'
                  - integer
                  format: int64
                  pattern: ([0-9]+)
                uniqueItems: true
              isReviewEnabled:
                type:
                - boolean
                - 'null'
                description: Key that specifies whether the category must be reviewed or not
              translations:
                $ref: '#/components/schemas/addRootTranslationJsonArray'
              moderationType:
                type:
                - string
                - 'null'
                description: 'Type of moderation applied to the category. Values allowed are: @NONE@, @ALL_ACTION@, @FIRST_ACTION@'
                enum:
                - FIRST_ACTION
                - ALL_ACTION
                - NONE
                maxLength: 100
                minLength: 0
              groupIds:
                type:
                - 'null'
                - array
                items:
                  type:
                  - string
                  - 'null'
                  - integer
                  format: int64
                  pattern: ([0-9]+)
                uniqueItems: false
              name:
                type:
                - string
                - 'null'
                description: Name of the category
                maxLength: 100
                minLength: 0
              ipAddresses:
                type:
                - 'null'
                - array
                items:
                  type:
                  - string
                  - 'null'
                  maxLength: 100
                  minLength: 0
                  pattern: ^((?:(?:(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|\*)\.){3}(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|\*)(/(?:[012]?[0-9]|3[012]))?)|\*)$
                uniqueItems: false
              primaryDepartmentId:
                type:
                - string
                - 'null'
                - integer
                format: int64
                description: ID of the department to which the category belongs
                pattern: ([0-9]+)
              logoId:
                type:
                - string
                - 'null'
                - integer
                format: int64
                description: ID of the logo to set for the category
                pattern: ([0-9]+)
              status:
                type:
                - string
                - 'null'
                description: Activation status of the category
                enum:
                - SHOW_IN_HELPCENTER
                - HIDE_IN_HELPCENTER
                maxLength: 100
                minLength: 0
            required:
            - articleViewType
            - description
            - groupIds
            - ipAddresses
            - isReviewEnabled
            - logoId
            - name
            - primaryDepartmentId
            - status
            - translations
            - visibility
          examples:
            Valid requestBody Definitions:
              value:
                isReviewEnabled: false
                articleViewType: LISTVIEW
                visibility: ALL_USERS
                moderationType: ALL_ACTION
                translations:
                - name: Zoho Desk
                  description: A helpdesk software
                  permalink: zoho-desk
                  locale: en
                name: Zoho Desk
                primaryDepartmentId: '5000000063894'
                logoId: '25'
                feedbackTicketConversionPreference:
                  departmentId: '5000000063895'
                  assigneeId: '5000000000059'
                  status: ENABLED
                status: SHOW_IN_HELPCENTER
                associatedDepartmentIds:
                - '5000000063895'
    removePermalink_removePermalinkJson:
      content:
        application/json:
          schema:
            type:
            - 'null'
            - object
            additionalProperties: false
            properties:
              permalink:
                type:
                - string
                - 'null'
                description: The permalink of Solution
                maxLength: 100
                minLength: 0
                pattern: '[a-zA-Z0-9%\-_\P{InBasicLatin}]+'
            required:
            - permalink
          examples:
            Valid requestBody Definitions:
              value:
                permalink: permalink-2
    addReviewOwners_addReviewOwnerJson:
      content:
        application/json:
          schema:
            type:
            - 'null'
            - object
            additionalProperties: false
            properties:
              reviewOwnerIds:
                $ref: '#/components/schemas/addReviewOwnerArray'
            required:
            - reviewOwnerIds
          examples:
            Valid requestBody Definitions:
              value:
                reviewOwnerIds:
                - '5000000015867'
    addPermalink_addPermalinkJson:
      content:
        application/json:
          schema:
            type:
            - 'null'
            - object
            additionalProperties: false
            properties:
              isOldPermalinkNeeded:
                type:
                - boolean
                - 'null'
                description: The variable that defines if permalink needs to be added to redirect list. By default, it is true
              permalink:
                type:
                - string
                - 'null'
                description: The permalink of Solution
                maxLength: 100
                minLength: 0
                pattern: '[a-zA-Z0-9%\-_\P{InBasicLatin}]+'
            required:
            - isOldPermalinkNeeded
            - permalink
          examples:
            Valid requestBody Definitions:
              value:
                isOldPermalinkNeeded: true
                permalink: new-permalink
  schemas:
    childTranslationResponse:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/rootTreeTranslationResponse'
      - type:
        - 'null'
        - object
        properties:
          description:
            type:
            - string
            - 'null'
            maxLength: 100
            minLength: 0
            pattern: '[0-9a-zA-Z_\-\.\$@\?\,\:\''\/\!\P{InBasicLatin}\s]*'
        required:
        - description
    commonCategoryResponse:
      type:
      - 'null'
      - object
      additionalProperties: false
      properties:
        modifiedTime:
          type:
          - string
          - 'null'
          maxLength: 100
          minLength: 0
          pattern: (((19|20)\d\d)[-/.]{1}(0?[1-9]|1[012])[-/.]{1}(0?[1-9]|[12][0-9]|3[01])(T)([01]?[0-9]|2[0-3]):[0-5]?[0-9]:[0-5]?[0-9]([/.][\d]{0,3})?(Z))
        description:
          type:
          - string
          - 'null'
          maxLength: 100
          minLength: 0
          pattern: ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+
        helpcenterId:
          type:
          - string
          - 'null'
          - integer
          format: int64
          pattern: ([0-9]+)
        isReviewEnabled:
          type:
          - boolean
          - 'null'
        isTrashed:
          type:
          - boolean
          - 'null'
        translations:
          $ref: '#/components/schemas/rootTranslationResponseJsonArr'
        moderationType:
          type:
          - string
          - 'null'
          enum:
          - FIRST_ACTION
          - ALL_ACTION
          - NONE
          maxLength: 100
          minLength: 0
        createdTime:
          type:
          - string
          - 'null'
          maxLength: 100
          minLength: 0
          pattern: (((19|20)\d\d)[-/.]{1}(0?[1-9]|1[012])[-/.]{1}(0?[1-9]|[12][0-9]|3[01])(T)([01]?[0-9]|2[0-3]):[0-5]?[0-9]:[0-5]?[0-9]([/.][\d]{0,3})?(Z))
        modifiedBy:
          $ref: ./ArticleTranslation.json#/components/schemas/modifiedBy
        id:
          type:
          - string
          - 'null'
          - integer
          format: int64
          pattern: ([0-9]+)
        primaryDepartmentId:
          type:
          - string
          - 'null'
          - integer
          format: int64
          pattern: ([0-9]+)
        order:
          type:
          - string
          - 'null'
          - integer
          format: int32
          pattern: ([0-9]+)
        workspaceId:
          type:
          - string
          - 'null'
          maxLength: 100
          minLength: 0
          pattern: ^([a-zA-Z0-9]{37}|-1)$
        isFollowing:
          type:
          - boolean
          - 'null'
        articleViewType:
          type:
          - string
          - 'null'
          enum:
          - LISTVIEW
          - OVERVIEW
          maxLength: 100
          minLength: 0
        visibility:
          type:
          - string
          - 'null'
          enum:
          - ALL_USERS
          - AGENTS
          - GROUP_USERS
          - PRIVATE_IP
          - NONE
          maxLength: 100
          minLength: 0
        canCurrentUserModerate:
          type:
          - boolean
          - 'null'
        groups:
          $ref: ./KbCategory.json#/components/schemas/groupJsonArr
        logoUrl:
          type:
          - string
          - 'null'
          maxLength: 255
          minLength: 0
          pattern: (^(ht|f)tp(s?)\://[-.\w]*(/?)([a-zA-Z0-9\-\.\?\,\:\'/\\+=&amp;%\$#_@]*)?$)
        feedbackTicketConversionPreference:
          $ref: '#/components/schemas/feedbackPreferenceResponseObj'
        associatedDepartmentIds:
          type:
          - 'null'
          - array
          items:
            type:
            - string
            - 'null'
            - integer
            format: int64
            pattern: ([0-9]+)
          uniqueItems: true
        encryptedWorkspaceId:
          type:
          - string
          - 'null'
          maxLength: 255
          minLength: 0
        createdBy:
          $ref: ./ArticleTranslation.json#/components/schemas/modifiedBy
        name:
          type:
          - string
          - 'null'
          maxLength: 100
          minLength: 0
        status:
          type:
          - string
          - 'null'
          enum:
          - SHOW_IN_HELPCENTER
          - HIDE_IN_HELPCENTER
          - DISABLED
          - ENABLED
          maxLength: 100
          minLength: 0
        publicArticlesCount:
          type:
          - string
          - 'null'
          - integer
          format: int32
          pattern: ([0-9]+)
        allArticlesCount:
          type:
          - string
          - 'null'
          - integer
          format: int32
          pattern: ([0-9]+)
        allArticleTemplateCount:
          type:
          - string
          - 'null'
          - integer
          format: int32
          pattern: ([0-9]+)
        canCurrentUserReview:
          type:
          - boolean
          - 'null'
        sectionsCount:
          type:
          - string
          - 'null'
          - integer
          format: int32
          pattern: ([0-9]+)
        publishedArticleCount:
          type:
          - string
          - 'null'
          - integer
          format: int32
          pattern: ([0-9]+)
      required:
      - articleViewType
      - associatedDepartmentIds
      - canCurrentUserModerate
      - createdBy
      - createdTime
      - description
      - encryptedWorkspaceId
      - feedbackTicketConversionPreference
      - groups
      - helpcenterId
      - id
      - isFollowing
      - isReviewEnabled
      - isTrashed
      - logoUrl
      - moderationType
      - modifiedBy
      - modifiedTime
      - name
      - order
      - primaryDepartmentId
      - status
      - translations
      - visibility
      - workspaceId
    reviewOwnersArray:
      type:
      - 'null'
      - array
      items:
        $ref: '#/components/schemas/reviewOwners'
    addRootTranslationJsonArray:
      type:
      - 'null'
      - array
      items:
        $ref: ./KBRootCategoryTranslation.json#/components/schemas/addRootTranslationJson
    rootTreeTranslationResponse:
      type:
      - 'null'
      - object
      additionalProperties: false
      properties:
        name:
          type:
          - string
          - 'null'
          maxLength: 100
          minLength: 0
        description:
          type:
          - string
          - 'null'
          maxLength: 100
          minLength: 0
          pattern: ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+
        id:
          type:
          - string
          - 'null'
          - integer
          format: int64
          pattern: ([0-9]+)
        permalink:
          type:
          - string
          - 'null'
          maxLength: 100
          minLength: 0
          pattern: '[a-z0-9\/%\-\P{InBasicLatin}]+'
        locale:
          type:
          - string
          - 'null'
          enum:
          - en
          - ja
          - zh
          - es
          - de
          - fr
          - tr
          - ru
          - pt
          - it
          - nl
          - da
          - sv
          - pl
          - ar
          - he
          - af
          - cs
          - fr-ca
          - bg
          - fi
          - el
          - hu
          - id
          - nb
          - ro
          - th
          - uk
          - vi
          - ur
          - hi
          - te
          - kn
          - ta
          - mr
          - ko
          - fa
          - bn
          - gu
          - ms
          - ml
          - en-gb
          - sk
          - hr
          - sl
          - zh_TW
          - zh-tw
          - ca
          - ka
          - kk
          - my
          - km
          - pt-br
          maxLength: 100
          minLength: 0
          pattern: ([a-zA-Z]{2,4}([-_][a-zA-Z]{2})?)
      required:
      - description
      - id
      - locale
      - name
      - permalink
    addReviewOwnerArray:
      type:
      - 'null'
      - array
      items:
        type:
        - string
        - 'null'
        - integer
        format: int64
        pattern: ([0-9]+)
    childTreeResponse:
      type:
      - 'null'
      - object
      additionalProperties: false
      properties:
        publishedArticleTemplateCount:
          type:
          - string
          - 'null'
          - integer
          format: int32
          pattern: ([0-9]+)
        isFollowing:
          type:
          - boolean
          - 'null'
        visibility:
          type:
          - string
          - 'null'
          enum:
          - ALL_USERS
          - AGENTS
          - GROUP_USERS
          - PRIVATE_IP
          - NONE
          maxLength: 100
          minLength: 0
        level:
          type:
          - string
          - 'null'
          - integer
          format: int32
          pattern: ([0-9]+)
        description:
          type:
          - string
          - 'null'
          maxLength: 100
          minLength: 0
          pattern: '[0-9a-zA-Z_\-\.\$@\?\,\:\''\/\!\P{InBasicLatin}\s]*'
        locale:
          type:
          - string
          - 'null'
          enum:
          - en
          - ja
          - zh
          - es
          - de
          - fr
          - tr
          - ru
          - pt
          - it
          - nl
          - da
          - sv
          - pl
          - ar
          - he
          - af
          - cs
          - fr-ca
          - bg
          - fi
          - el
          - hu
          - id
          - nb
          - ro
          - th
          - uk
          - vi
          - ur
          - hi
          - te
          - kn
          - ta
          - mr
          - ko
          - fa
          - bn
          - gu
          - ms
          - ml
          - en-gb
          - sk
          - hr
          - sl
          - zh_TW
          - zh-tw
          - ca
          - ka
          - kk
          - my
          - km
          - pt-br
          maxLength: 100
          minLength: 0
          pattern: ([a-zA-Z]{2,4}([-_][a-zA-Z]{2})?)
        logoUrl:
          type:
          - string
          - 'null'
          maxLength: 255
          minLength: 0
          pattern: (^(ht|f)tp(s?)\://[-.\w]*(/?)([a-zA-Z0-9\-\.\?\,\:\'/\\+=&amp;%\$#_@]*)?$)
        rootCategoryId:
          type:
          - string
          - 'null'
          - integer
          format: int64
          pattern: ([0-9]+)
        isTrashed:
          type:
          - boolean
          - 'null'
        children:
          type:
          - 'null'
          - array
          items:
 

# --- truncated at 32 KB (52 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zoho/refs/heads/main/openapi/zoho-kbrootcategory-api-openapi.yml