Zoho KBRootCategory API

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

Documentation

Specifications

Code Examples

Other Resources

OpenAPI Specification

zoho-kbrootcategory-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Helpcenter KBRootCategory 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:
  schemas:
    reviewOwnersArray:
      type:
      - 'null'
      - array
      items:
        $ref: '#/components/schemas/reviewOwners'
    feedbackPreferenceResponseObj:
      type:
      - 'null'
      - object
      additionalProperties: false
      properties:
        departmentId:
          type:
          - string
          - 'null'
          - integer
          format: int64
          pattern: ([0-9]+)
        assignee:
          $ref: '#/components/schemas/assigneeObj'
        status:
          type:
          - string
          - 'null'
          enum:
          - ENABLED
          - DISABLED
          maxLength: 100
          minLength: 0
      required:
      - assignee
      - departmentId
      - status
    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
    reviewOwners:
      type:
      - 'null'
      - object
      additionalProperties: false
      properties:
        photoURL:
          type:
          - string
          - 'null'
          maxLength: 200
          minLength: 0
          pattern: (^(ht|f)tp(s?)\://[-.\w]*(/?)([a-zA-Z0-9\-\.\?\,\:\'/\\+=&amp;%\$#_@]*)?$)
        name:
          type:
          - string
          - 'null'
          maxLength: 100
          minLength: 0
        emailId:
          type:
          - string
          - 'null'
          maxLength: 100
          minLength: 0
          pattern: ^[a-zA-Z0-9\_]([a-zA-Z0-9\_\+\-\.\'&]*)@(?=.{4,256}$)(([a-zA-Z0-9]+)(([\-\_]*[a-zA-Z0-9])*)[\.])+[a-zA-Z]{2,22}$
        id:
          type:
          - string
          - 'null'
          - integer
          format: int64
          pattern: ([0-9]+)
      required:
      - emailId
      - id
      - name
      - photoURL
    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:
            type:
            - 'null'
            - object
            additionalProperties: false
          uniqueItems: false
        translations:
          $ref: '#/components/schemas/childTranslationResponseJsonArr'
        name:
          type:
          - string
          - 'null'
          maxLength: 100
          minLength: 0
        parentCategoryId:
          type:
          - string
          - 'null'
          - integer
          format: int64
          pattern: ([0-9]+)
        id:
          type:
          - string
          - 'null'
          - integer
          format: int64
          pattern: ([0-9]+)
        status:
          type:
          - string
          - 'null'
          enum:
          - SHOW_IN_HELPCENTER
          - HIDE_IN_HELPCENTER
          maxLength: 100
          minLength: 0
        order:
          type:
          - string
          - 'null'
          - integer
          format: int32
          pattern: ([0-9]+)
      required:
      - children
      - description
      - id
      - isFollowing
      - isTrashed
      - level
      - locale
      - logoUrl
      - name
      - order
      - parentCategoryId
      - rootCategoryId
      - status
      - translations
      - visibility
    addReviewOwnerArray:
      type:
      - 'null'
      - array
      items:
        type:
        - string
        - 'null'
        - integer
        format: int64
        pattern: ([0-9]+)
    data:
      type:
      - 'null'
      - array
      items:
        $ref: '#/components/schemas/commonCategoryResponse'
    childArrayOfTree:
      type:
      - 'null'
      - array
      items:
        $ref: '#/components/schemas/childTreeResponse'
    childTranslationResponseJsonArr:
      type:
      - 'null'
      - array
      items:
        $ref: '#/components/schemas/childTranslationResponse'
    assigneeObj:
      type:
      - 'null'
      - object
      additionalProperties: false
      properties:
        photoURL:
          type:
          - string
          - 'null'
          maxLength: 100
          minLength: 0
          pattern: ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+
        name:
          type:
          - string
          - 'null'
          maxLength: 50
          minLength: 0
        id:
          type:
          - string
          - 'null'
          - integer
          format: int64
          pattern: ([0-9]+)
        status:
          type:
          - string
          - 'null'
          enum:
          - ACTIVE
          - DISABLED
          - LICENSE_DOWNGRADED
          - DELETED
          - ANONYMIZED
          - CLOSED
          maxLength: 100
          minLength: 0
        zuid:
          type:
          - string
          - 'null'
          - integer
          format: int32
          pattern: ([0-9]+)
      required:
      - id
      - name
      - photoURL
      - status
      - zuid
    feedbackPreferenceObj:
      type:
      - 'null'
      - object
      additionalProperties: false
      properties:
        departmentId:
          type:
          - string
          - 'null'
          - integer
          format: int64
          description: ID of the department in which the tickets must be created
          pattern: ([0-9]+)
        assigneeId:
          type:
          - string
          - 'null'
          - integer
          format: int64
          description: ID of the user to whom the tickets must be assigned. If you do not pass a value for this key, the ticket remains unassigned.
          pattern: ([0-9]+)
        status:
          type:
          - string
          - 'null'
          description: 'Activation status of auto-conversion for the category. Values allowed are: ENABLED and DISABLED'
          enum:
          - ENABLED
          - DISABLED
          maxLength: 100
          minLength: 0
      required:
      - assigneeId
      - departmentId
      - status
    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
    rootTranslationResponseJsonArr:
      type:
      - 'null'
      - array
      items:
        $ref: ./KBRootCategoryTranslation.json#/components/schemas/rootTranslationResponse
    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
    rootTreeTranslationResponseJsonArr:
      type:
      - 'null'
      - array
      items:
        $ref: '#/components/schemas/rootTreeTranslationResponse'
    addRootTranslationJsonArray:
      type:
      - 'null'
      - array
      items:
        $ref: ./KBRootCategoryTranslation.json#/components/schemas/addRootTranslationJson
  requestBodies:
    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
    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
              

# --- 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