{
  "openapi": "3.0.0",
  "info": {
    "title": "Knowledge Portal Manager APIs",
    "version": "",
    "description": "### License\n  The following licenses are required to use the Knowledge Access APIs:\n  * If the user is an agent, then the *Knowledge + AI* license is required.\n  * If the user is a customer, the *Self-Service* and *Advanced Self-Service* licenses must be available.\n\n### Tiers\n\n| Tier\t|Tier Name|\tNamed Users |\tDescription\n| ---------- | ---------- | ---------- | ----------------------------\n| Tier 1 |  Starter |\tUp to 10|\tDesigned for small-scale implementations or pilot environments\n| Tier 2 |\tGrowth\t| Up to 1000|\tSuitable for mid-scale deployments requiring moderate scalability\n| Tier 3 |\tEnterprise\t| Greater than 1000|\tSupports large-scale environments with extended configuration options\n\n### API Resource Limits\nThe following Resources have predefined limits for specific access attributes for Starter, Growth and Enterprise use.\n\n| Resource | Limits | Starter | Growth | Enterprise\n| ---------------- | ---------------------------- | ---------- | ---------- | ----------\n| Article Reference |Number of attachments used in any article | 25 | 50 |50\n|  |Number of custom attributes in an article | 10 | 25| 50 \n|  |Number of publish views used in an article version | 20 | 20 | 20\n| Topic Reference |User-defined topics in a department| 1000| 5000 | 50000\n|  |Depth of topics  | 5 | 20 | 20\n|  |Topics at any level | 500 | 2500 | 2500\n|  |Number of custom attributes in a topic | 10 | 10 | 10\n| Portal Reference | Tag categories in a portal | 15 | 15 | 15\n|  |Topics to be included in a portal | 100 | 500 | 5000 \n|  |Number of articles to display in announcements | 10 | 25 | 25\n|  |Usage links and link groups setup for a portal | 5 | 10 | 25\n    \n      \n",
    "contact": {
      "name": "API Support",
      "email": "apisupport@egain.com",
      "url": "https://apidev.egain.com"
    }
  },
  "servers": [
    {
      "url": "https://api.egain.cloud/knowledge/portalmgr/v4",
      "description": "Production Server"
    }
  ],
  "tags": [
    {
      "name": "Article",
      "description": "Article APIs"
    },
    {
      "name": "Article Lists",
      "description": "Article List APIs"
    },
    {
      "name": "Bookmark",
      "description": "Bookmark APIs"
    },
    {
      "name": "Guided Help",
      "description": "Guided Help APIs"
    },
    {
      "name": "Popular Articles",
      "description": "Popular Articles API"
    },
    {
      "name": "Portal",
      "description": "Portal API"
    },
    {
      "name": "Search",
      "description": "Search APIs"
    },
    {
      "name": "Suggestion",
      "description": "Suggestion APIs"
    },
    {
      "name": "Topic",
      "description": "Topic APIs"
    },
    {
      "name": "User Details",
      "description": "User Details APIs"
    },
    {
      "name": "User Milestones",
      "description": "User Milestones APIs"
    },
    {
      "name": "User Profile",
      "description": "UserProfile APIs"
    },
    {
      "name": "Federated Search Event",
      "description": "Federated Search Event API"
    },
    {
      "name": "Connectors Search Events",
      "description": "Connectors Search Event APIs"
    },
    {
      "name": "Attachment",
      "description": "Attachment Upload API"
    },
    {
      "name": "Export",
      "description": "Content Export APIs"
    }
  ],
  "paths": {
    "/portals/{portalID}/articles/{articleID}": {
      "get": {
        "summary": "Get Article by ID",
        "operationId": "getArticleById",
        "tags": [
          "Article"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          }
        ],
        "description": "## Overview\n  * The Get Article by ID API allows a user or client application to retrieve an Article using its ID.\n    * It requires a Portal ID, which a user or client application can retrieve through the Administrative Console or by calling Get All Portals API.\n    * Additional Article attributes and contextual views can be specified in the query parameters.\n\n  * This API returns structured authoring attributes of Issue, Environment, Cause and Confidence Level when the following conditions are met:\n    * The \"Allow Structured Authoring\" setting is enabled at the partition/department level through the Administrative Console.\n    * The \"Use Structured Authoring\" flag is set on the article type.\n\n## Prerequisites\n  * Agents without a user profile and customers in a portal without a default user profile only have access to articles that:\n    * Do not contain any access tags.\n    * Do not contain any publish views.\n    * Contain publish views without any associated tags.\n  * Agents with a user profile and customers in a portal with a default user profile have access to articles that:\n    * Do not contain any access tags.\n    * Do not contain any publish views.\n    * Contain publish views without any associated tags.\n    * Contain access tags that are also in the assigned user profiles.\n    * Contain publish views with associated tags that are also in the assigned user profiles.\n  * Agents with the following assigned actions can view updates to articles currently being processed in workflows:\n    * View Author Portal – Allows agents to view updates to articles at any stage in a workflow.\n    * View Staging Portal – Allows agents to view updates to articles in the Staging stage or a subsequent stage in a workflow.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/articleReadableId"
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          },
          {
            "$ref": "#/components/parameters/articleAdditionalAttributes"
          },
          {
            "$ref": "#/components/parameters/customAdditionalAttributes"
          },
          {
            "name": "accessSource",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "article_view",
                "article_view_more_related_Article",
                "article_view_basic_search",
                "article_view_adv_search",
                "article_view_guided_help",
                "article_view_browse_topic",
                "article_view_browse_tree",
                "article_view_popular_articles",
                "article_view_useful_items",
                "article_view_widget",
                "article_view_announcement",
                "article_view_bookmarked",
                "article_view_subscription_notification",
                "article_view_guided_help_additional_info",
                "view_articles_pending_compliance",
                "type_ahead_Suggestion",
                "semantic_Suggestion",
                "instant_answer",
                "instant_answer_reference"
              ],
              "default": "article_view"
            },
            "description": "Provides information about the method in which the Article is accessed and is used for self-service analytics. Refer to the eGain User Guide regarding \"Article View Contexts\".\n\n| Name | Description \n| ---- | -----------\n| article_view | View an Article directly using its ID.\n| article_view_more_related_Article  | View related articles of an Article using its ID.\n| article_view_basic_search | View an Article via a basic search.\n| article_view_adv_search | View an Article via an advanced search.\n| article_view_guided_help | View an Article via a Guided Help solution.\n| article_view_browse_topic | View an Article via browsing a topic.\n| article_view_browse_tree | View an Article via browsing a topic tree.\n| article_view_popular_articles | View an Article using the Popular Items list in the Self-Service portal.\n| article_view_useful_items | View Article using the Useful Items list in the Self-Service portal.\n| article_view_widget | View an Article via a widget.\n| article_view_announcement | View an Article from the announcement section in the Self-Service portal.\n| article_view_bookmarked | View a bookmarked Article.\n| article_view_subscription_notification | View an Article from a subscription notification.\n| article_view_guided_help_additional_info | View an Article via additional information from a Guided Help search.\n| view_articles_pending_compliance | View an Article via Read & Sign in the Self-Service portal.\n| type_ahead_Suggestion | View an Article from a type-ahead Suggestion in the Self-Service portal.\n| semantic_Suggestion | View an Article from a semantic Suggestion in the Self-Service portal.\n| instant_answer | View an Article via an Instant Answers solution.\n| instant_answer_reference | View an Article that is used as a reference for an Instant Answers solution.\n",
            "example": "article_view"
          },
          {
            "name": "publishViewId",
            "in": "query",
            "schema": {
              "type": "string",
              "minLength": 7,
              "maxLength": 20,
              "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$"
            },
            "description": "The ID of a publish view for an Article. A publish view is a set of tags used to generate multiple editions of the same Article for display on the self-service portal. Publish views are used in conjunction with single sourcing to tailor the content of an Article to a specific audience by granting access to an Article's version to users that possess the same tags.<br><br>A publish view ID is composed of a 4-letter prefix, followed by a dash and 4-15 digits.",
            "examples": {
              "Readable Id": {
                "value": "PROD-3203",
                "description": "A readable publish view ID."
              }
            }
          },
          {
            "$ref": "#/components/parameters/workflowMilestone"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ArticleGetByIdResponse"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/articles/{articleID}/witheditions": {
      "get": {
        "summary": "Get Article By ID with Editions",
        "operationId": "getArticleByIdWithEditions",
        "tags": [
          "Article"
        ],
        "security": [
          {
            "oAuthClient": [
              "https://api.egain.cloud/auth/.default"
            ]
          }
        ],
        "description": "## Overview\n  * This API allows a user to retrieve an article with all its editions.\n  * If there are no editions for the article, the response will contain the base content of the article.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/articleReadableId"
          },
          {
            "$ref": "#/components/parameters/mandatoryLanguageQueryParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ArticleGetByIdWithEditionsResponse"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/articles/{articleID}/editions/{publishViewId}": {
      "get": {
        "summary": "Get Article Edition Details",
        "operationId": "getArticleEditionDetails",
        "tags": [
          "Article"
        ],
        "security": [
          {
            "oAuthClient": [
              "https://api.egain.cloud/auth/.default"
            ]
          }
        ],
        "description": "## Overview\n  * This API retrieves the details of an article edition.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/articleId"
          },
          {
            "$ref": "#/components/parameters/readablePublishViewId"
          },
          {
            "$ref": "#/components/parameters/mandatoryLanguageQueryParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ArticleEditionDetailsResponse"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/articletypes": {
      "get": {
        "summary": "Get All Article Types in a Department",
        "operationId": "getAllArticleTypes",
        "tags": [
          "Article"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          }
        ],
        "description": "## Overview\nThe Get All Article Types in a Department API retrieves a list of all Article Types configured for a specific department.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "name": "departmentID",
            "description": "The ID of the department.",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^999$|^[1-9][0-9]{3,8}$",
              "minLength": 3,
              "maxLength": 8,
              "example": "999"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ArticleTypesGetByDepartmentResponse"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/articles/{articleID}/breadcrumb": {
      "get": {
        "summary": "Get Topic Breadcrumb for Article",
        "operationId": "getTopicBreadcrumbForArticle",
        "tags": [
          "Topic"
        ],
        "security": [
          {
            "oAuthClient": [
              "https://api.egain.cloud/auth/.default"
            ]
          }
        ],
        "description": "## Overview\n  * Use this API to retrieve the topic breadcrumb for an article in a portal. A breadcrumb shows the hierarchical path from the root topic to the article's primary topic.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/articleReadableId"
          },
          {
            "$ref": "#/components/parameters/mandatoryLanguageQueryParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetTopicBreadCrumb"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/articles/{articleID}/addtoreply": {
      "put": {
        "tags": [
          "Article"
        ],
        "summary": "Add Article to Reply",
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          }
        ],
        "operationId": "AddToReply",
        "description": "## Overview\nThe Add Article to Reply API captures events for articles used in a reply for a digital channel activity.\n\nNote:  Either the <code>x-ext-activity-id</code> or<br><code>x-ext-integration-id</code> and <code>x-ext-interaction-id</code> header must be provided.\n\n## Permissions\n  * Only Agents can invoke this API.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/accept"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/articleReadableId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ArticleActivityLink"
              }
            }
          }
        },
        "responses": {
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "415": {
            "$ref": "#/components/responses/415_unsupported_media_type"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/articles/{articleID}/addasreference": {
      "put": {
        "tags": [
          "Article"
        ],
        "summary": "Add as Reference",
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          }
        ],
        "operationId": "AddAsReference",
        "description": "## Overview\nThe Add as Reference API captures events for articles that are referenced by agents replying inside of a digital channel activity.\n\nNote: Either the <code>x-ext-activity-id</code> or<br><code>x-ext-integration-id</code> and <code>x-ext-interaction-id</code> header must be provided.\n\n## Permissions\n  * Only Agents can invoke this API.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/accept"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/articleReadableId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ArticleActivityLink"
              }
            }
          }
        },
        "responses": {
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "415": {
            "$ref": "#/components/responses/415_unsupported_media_type"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/articles": {
      "get": {
        "summary": "Get Articles in Topic",
        "operationId": "getArticlesInTopic",
        "tags": [
          "Article"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthClient": [
              "https://api.egain.cloud/auth/.default"
            ]
          }
        ],
        "description": "## Overview\nThe Get Articles in Topic API allows a user to retrieve the browsable articles in a topic.\n\n## Prerequisites\n  * Set the Article type’s parameter “Include in browse on portals” to \"Yes\" for an article to be returned by this API.\n  * Agents without a user profile and customers in a portal without a default user profile only have access to articles that:\n    * Do not contain any access tags.\n    * Do not contain any publish views.\n    * Contain published views without any associated tags.\n  * Agents with a user profile and customers in a portal with a default user profile have access to articles that:\n    * Do not contain any access tags.\n    * Do not contain any publish views.\n    * Contain publish views without any associated tags.\n    * Contain access tags that are also in the assigned user profiles.\n    * Contain publish views with associated tags that are also in the assigned user profiles.\n  \n## Permissions  \n  * Agents with the following assigned actions can view updates to articles currently being processed in workflows:\n    * View Author Portal – Allows agents to view updates to articles at any stage in a workflow.\n    * View Staging Portal – Allows agents to view updates to articles in the Staging stage or a subsequent stage in a workflow.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/searchProfileId"
          },
          {
            "$ref": "#/components/parameters/filterTopicIdRequired"
          },
          {
            "$ref": "#/components/parameters/articleResultAdditionalAttributes"
          },
          {
            "$ref": "#/components/parameters/tags"
          },
          {
            "$ref": "#/components/parameters/workflowMilestone"
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          },
          {
            "$ref": "#/components/parameters/pagenum"
          },
          {
            "$ref": "#/components/parameters/pagesize"
          },
          {
            "$ref": "#/components/parameters/articleSort"
          },
          {
            "$ref": "#/components/parameters/articleSortOrder"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ArticlesInTopicResponse"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/articles/attachments/{attachmentID}": {
      "get": {
        "summary": "Get Article Attachment By ID",
        "operationId": "getArticleAttachmentById",
        "tags": [
          "Article"
        ],
        "security": [
          {
            "oAuthClient": [
              "https://api.egain.cloud/auth/.default"
            ]
          }
        ],
        "description": "## Overview\n  This API allows one article attachment identified by an attachment ID to be retrieved.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/attachmentId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/AttachmentGetByIdClientAppResponse"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_client_app"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/articles/attachments/{attachmentID}": {
      "get": {
        "summary": "Get Article Attachment in Portal",
        "operationId": "getAttachmentByIdInPortal",
        "tags": [
          "Article"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          }
        ],
        "description": "## Overview\nThe Get Article Attachment API retrieves an attachment associated to an article by calling the attachment ID for a specified portal ID.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/attachmentId"
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetAttachmentByIdResponse"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/articles/{articleID}/related": {
      "get": {
        "summary": "Get Related Articles",
        "operationId": "getRelatedArticles",
        "tags": [
          "Article"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          }
        ],
        "description": "## Overview\nThe Get Related Articles API retrieves all related articles associated to a given article.\n\n## Prerequisites\n  * Set the Article type’s parameter “Include in browse on portals” to \"Yes\" for an article to be returned by this API.\n  * Agents without a user profile and customers in a portal without a default user profile only have access to articles that:\n    * Do not contain any access tags.\n    * Do not contain any publish views.\n    * Contain publish views without any associated tags.\n  * Agents with a user profile and customers in a portal with a default user profile have access to articles that:\n    * Do not contain any access tags.\n    * Do not contain any publish views.\n    * Contain publish views without any associated tags.\n    * Contain access tags that are also in the assigned user profiles.\n    * Contain publish views with associated tags that are also in the assigned user profiles.\n\n## Permissions \n  * Agents with the following assigned actions can view updates to articles currently being processed in workflows:\n    * View Author Portal – Allows agents to view updates to articles at any stage in a workflow.\n    * View Staging Portal – Allows agents to view updates to articles in the Staging stage or a subsequent stage in a workflow.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/articleReadableId"
          },
          {
            "$ref": "#/components/parameters/tags"
          },
          {
            "$ref": "#/components/parameters/articleResultAdditionalAttributes"
          },
          {
            "$ref": "#/components/parameters/workflowMilestone"
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          },
          {
            "$ref": "#/components/parameters/pagenum"
          },
          {
            "$ref": "#/components/parameters/pagesize"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/RelatedArticlesResponse"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/articles/announcements": {
      "get": {
        "tags": [
          "Article"
        ],
        "summary": "Get Announcement Articles",
        "operationId": "getAnnouncementArticles",
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          }
        ],
        "description": "## Overview\nThe Get Announcement Articles API returns a portal's announcement articles. Only displayable announcement articles in the portal are returned. \n\n## Prerequisites\n  * For an article to display or be returned, set the Article type’s parameter, “Include in browse on portals,” to \"Yes\".\n  * Agents without a user profile and customers in a portal without a default user profile only have access to articles that:\n    * Do not contain any access tags.\n    * Do not contain any publish views.\n    * Contain publish views without any associated tags.\n  * Agents with a user profile and customers in a portal with a default user profile have access to articles that:\n    * Do not contain any access tags.\n    * Do not contain any publish views.\n    * Contain publish views without any associated tags.\n    * Contain access tags that are also in the assigned user profiles.\n    * Contain publish views with associated tags that are also in the assigned user profiles.\n\n## Permissions \n  * Agents with the following assigned actions can view updates to articles currently being processed in workflows:\n    * View Author Portal – Allows agents to view updates to articles at any stage in a workflow.\n    * View Staging Portal – Allows agents to view updates to articles in the Staging stage or a subsequent stage in a workflow.\n    \n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/tags"
          },
          {
            "$ref": "#/components/parameters/articleResultAdditionalAttributes"
          },
          {
            "$ref": "#/components/parameters/workflowMilestone"
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          },
          {
            "$ref": "#/components/parameters/pagenum"
          },
          {
            "$ref": "#/components/parameters/pagesize"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/AnnouncementArticlesResponse"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/articles/{articleID}/ratings": {
      "get": {
        "summary": "Get Article Ratings",
        "operationId": "getArticleRatings",
        "tags": [
          "Article"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          }
        ],
        "description": "## Overview\nThe Get Article Ratings API returns ratings set for an Article. These ratings help you to assess the quality, helpfulness, or relevance of an article. \n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/articleReadableId"
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          },
          {
            "$ref": "#/components/parameters/pagenum"
          },
          {
            "$ref": "#/components/parameters/pagesize"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetArticleRatingsResponse"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "put": {
        "summary": "Rate an Article",
        "operationId": "rateArticle",
        "tags": [
          "Article"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          }
        ],
        "description": "## Overview\nThe Rate an Article API allows a user to set a rating for an article. These ratings allow you to assess the quality, helpfulness, or relevance of an article. \n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/articleReadableId"
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          },
          {
            "name": "score",
            "description": "A positive number. Each portal can have its own scoring guidelines.",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 1,
              "maximum": 100,
              "example": 10
            }
          },
          {
            "name": "comments",
            "description": "A comment about the Article rating.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[\\w\\W]+$",
              "minLength": 1,
              "maxLength": 255
            },
            "example": "Accepted"
          }
        ],
        "responses": {
          "201": {
            "description": "Created."
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "415": {
            "$ref": "#/components/responses/415_unsupported_media_type"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/articles/compliance/pending": {
      "get": {
        "summary": "Get Pending Article Compliances",
        "operationId": "getPendingComplianceArticles",
        "tags": [
          "Article"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          }
        ],
        "description": "## Overview\nThe Get Pending Article Compliances API retrieves all compliance-enabled articles in a portal that need to be read by the current user. Results are sorted in ascending order of the compliance due date.\n\n## Prerequisites\n* The Article compliances that are returned must be:\n    * Available for the current user profile.\n    * Displayable. An article is displayable when the \"Include in browse on portals\" property is enabled for the article.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/complianceArticleResultAdditionalAttributes"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          },
          {
            "$ref": "#/components/parameters/pagenum"
          },
          {
            "$ref": "#/components/parameters/pagesize"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/PendingArticleComplianceResponse"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/articles/compliance/acknowledged": {
      "get": {
        "summary": "Get Acknowledged Article Compliances",
        "operationId": "getAcknowledgedComplianceArticles",
        "tags": [
          "Article"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          }
        ],
        "description": "## Overview\nThe Get Acknowledged Article Compliances API retrieves all compliance-enabled articles in a portal that have been read by the current user in the last 60 days. Results are sorted in descending order of the acknowledgement date.\n\n## Prerequisites\n* The Article compliances that are returned must be:\n    * Available for the current user profile.\n    * Displayable. An article is displayable when the \"Include in browse on portals\" property is enabled for the article.\n    * Acknowledged within the last 60 days.\n    * Only the latest version of a republished compliance article will be shown.\n    * Results will be sorted in descending order of acknowledgment date.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/complianceArticleResultAdditionalAttributes"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          },
          {
            "$ref": "#/components/parameters/pagenum"
          },
          {
            "$ref": "#/components/parameters/pagesize"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/AcknowledgedArticleComplianceResponse"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/articles/{articleID}/comply": {
      "put": {
        "summary": "Comply With an Article",
        "operationId": "complyArticle",
        "tags": [
          "Article"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          }
        ],
        "description": "## Overview\nThe Comply with an Article API allows the user to comply with an article by passing the Article's ID, which marks it as read by the user.            \n\n## Prerequisites\n  * The user must be an agent and:\n    * Be available in the portal.\n    * Be available for the current user profile.\n    * Have the Article's compliance policy enabled.\n  * If the Article has Access Tags, then it must be available for the agent's current user profile.\n  * If the Article has Publish Views, then at least one edition of the Article must be available for the agent's current user profile.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/articleReadableId"
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/articles/subscribed": {
      "get": {
        "summary": "My Subscription",
        "operationId": "getMySubscription",
        "tags": [
          "Article"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          }
        ],
        "description": "## Overview\nThe My Subscription API allows authenticated users and agents to retrieve the list of articles to which they are subscribed.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/workflowMilestone"
          },
          {
            "$ref": "#/components/parameters/pagenum"
          },
          {
            "$ref": "#/components/parameters/pagesize"
          },
          {
            "$ref": "#/components/parameters/articleResultAdditionalAttributes"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/SubscribedArticleResponse"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/articles/{articleID}/subscribe": {
      "put": {
        "summary": "Subscribe to an Article",
        "operationId": "subscribeArticle",
        "tags": [
          "Article"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          }
        ],
        "description": "## Overview\nThe Subscribe to an Article API allows eGain users, authenticated customers and agents to subscribe and receive notifications about changes to an Article.\n\n## Prerequisites\n  * Notifications are sent only if the following conditions are met:\n    * The Article content has been modified since the last published version.\n    * The attachment list has been modified since the last published version.\n    * The author has checked the \"Include Article in new and modified Article list\" option while publishing the Article.\n  * For the Subscribe to an Article API to execute successfully:\n    * The Article must be in the portal.\n    * The user must have provided an email address.\n\n## Permissions\n  * Agent Permissions: The following permissions are required if the user is an agent:\n    * If the Article has Access Tags:\n      * The Article must be available for the agent's current user profile.\n    * If the Article has Publish Views:\n      * At least one edition of the Article must be available for the agent's current user profile.\n    * If the Article has filters and the \"tags query parameter\" is provided:\n      * The Article filters must match the provided tags or tag groups.\n  * Customer Permissions: The following permissions are required if the user is a customer:\n    * If the Article has Access Tags:\n      * The portal must have a default user profile\n      * The Article must be available for the portal's default user profile.\n    * If the Article has Publish Views:\n      * The portal must have a default user profile\n      * At least one edition must be available for the portal's default user profile.\n    * If the Article has filters and the \"tags query parameter\" is provided, then the Article filters must match the provided tags or tag groups.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/articleReadableId"
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/articles/{articleID}/unsubscribe": {
      "put": {
        "summary": "Unsubscribe to an Article",
        "operationId": "unsubscribeArticle",
        "tags": [
          "Article"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          }
        ],
        "description": "## Overview\nThe Unsubscribe to an Article API allows authenticated users and agents to unsubscribe to an Article for which they were earlier subscribed to receive change notifications.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/articleReadableId"
          },
          {
            "name": "unsubscriptionToken",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[\\w\\W]*$"
            },
            "description": "An encrypted token that contains information about \"object/userId/userType/userProfileId\". This is used to unsubscribe the user from Article change notifications sent via email, without necessitating that the user be logged into the eGain application."
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/topics/{topicID}": {
      "get": {
        "summary": "Get Immediate Child Topics",
        "operationId": "getchildtopics",
        "tags": [
          "Topic"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthClient": [
              "https://api.egain.cloud/auth/.default"
            ]
          }
        ],
        "description": "## Overview\n  The Get Immediate Child Topics API retrieves details about a topic and it's immediate child topics. The <code>$level</code> attribute determines how deep the topic hierarchy should go, or how many child topics of a topic are returned in the response.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/searchProfileId"
          },
          {
            "$ref": "#/components/parameters/topicReadableId"
          },
          {
            "$ref": "#/components/parameters/level"
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          },
          {
            "$ref": "#/components/parameters/topicAdditionalAttributes"
          },
          {
            "$ref": "#/components/parameters/customAdditionalAttributes"
          },
          {
            "$ref": "#/components/parameters/pagenumTopics"
          },
          {
            "$ref": "#/components/parameters/pagesizeTopics"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetTopicByIdResponse"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/topics/{topicID}/parents": {
      "get": {
        "summary": "Get All Ancestor Topics",
        "operationId": "getancestortopics",
        "tags": [
          "Topic"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          }
        ],
        "description": "## Overview\n  The Get All Ancestor Topics API retrieves the hierarchy from the root topic down to the given topic.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/topicReadableId"
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          },
          {
            "$ref": "#/components/parameters/topicAdditionalAttributes"
          },
          {
            "$ref": "#/components/parameters/customAdditionalAttributes"
          },
          {
            "$ref": "#/components/parameters/pagenumTopics"
          },
          {
            "$ref": "#/components/parameters/pagesizeTopics"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetParentTopicsResponse"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/topics": {
      "get": {
        "summary": "Get All Topics",
        "operationId": "getalltopics",
        "tags": [
          "Topic"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthClient": [
              "https://api.egain.cloud/auth/.default"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          }
        ],
        "description": "## Overview\n  The Get All Topics API retrieves the topic tree for a portal. The <code>$level</code> attribute determines how deep the topic hierarchy should go, or how many child topics of a topic are returned in the response.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/searchProfileId"
          },
          {
            "$ref": "#/components/parameters/level"
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          },
          {
            "$ref": "#/components/parameters/topicAdditionalAttributes"
          },
          {
            "$ref": "#/components/parameters/customAdditionalAttributes"
          },
          {
            "$ref": "#/components/parameters/pagenumTopics"
          },
          {
            "$ref": "#/components/parameters/pagesizeTopics"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetAllTopicsResponse"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/populararticles": {
      "get": {
        "summary": "Get Popular Articles",
        "operationId": "getpopulararticles",
        "tags": [
          "Popular Articles"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          }
        ],
        "description": "## Overview\n  The Popular Articles API allows a user to retrieve popular articles. \n## Prerequisites \n    * Only displayable articles are returned. An Article is displayable when \"Include in browse on portals\" property is enable for the Article. \n## Permissions\n  * Agent permissions: The following permissions are required if user is an Agent:\n    * If Article has Access Tags, Article must be available for agent's current user profile.\n    * If Article has Publish Views, at least one edition of Article must be available for agent's current user profile.\n    * If Article has filters and tags query parameter provided, Article filters must match provided tags or tag groups.\n  * Customer permissions: The following permissions are required if user is a Customer:              \n      * If Article has Access tags: \n       * Portal must have default user profile, and;\n       * Article must be available for portal's default user profile.\n    * If Article has Publish Views:\n      * Portal must have default user profile, and;\n      * At least one edition must be available for portal's default user profile.\n    *  If Article has filters and tags query parameter provided, Article filters must match provided tags or tag groups.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/filterTopicId"
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          },
          {
            "$ref": "#/components/parameters/tags"
          },
          {
            "$ref": "#/components/parameters/pagenum"
          },
          {
            "$ref": "#/components/parameters/pagesize"
          },
          {
            "$ref": "#/components/parameters/articleResultAdditionalAttributes"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetPopularArticlesResponse"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/gh/casebasereleases": {
      "get": {
        "tags": [
          "Guided Help"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          }
        ],
        "summary": "Get Available Casebases Releases",
        "operationId": "getAllCasebasesReleases",
        "description": "## Overview\n  The Get Available Casebases Releases API retrieves all Casebase Releases associated with a portal.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          },
          {
            "$ref": "#/components/parameters/pagenum"
          },
          {
            "$ref": "#/components/parameters/pagesize"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetAllCasebaseReleasesResponse"
          },
          "204": {
            "description": "When no Casebase Release is associated with the portal."
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/gh/casebasereleases/{casebaseReleaseID}": {
      "get": {
        "tags": [
          "Guided Help"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          }
        ],
        "summary": "Get Details of a Casebase Release",
        "operationId": "getCasebaseReleaseById",
        "description": "## Overview\n  The Get Details of a Casebase Release API retrieves details of Casebase Release.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/casebaseReleaseId"
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          },
          {
            "name": "languages",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            },
            "description": "Display langages of Casebase Releases."
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetCasebaseReleaseByIdResponse"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/gh/casebasereleases/{casebaseReleaseID}/clusters": {
      "get": {
        "tags": [
          "Guided Help"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          }
        ],
        "summary": "Get Cluster Details of a Casebase Release",
        "operationId": "getClusterByCasebaseReleaseId",
        "description": "## Overview\n  The Get Cluster Details of a Casebase Release API retrieves cluster details of Casebase Release.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/casebaseReleaseId"
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          },
          {
            "$ref": "#/components/parameters/pagenum"
          },
          {
            "$ref": "#/components/parameters/pagesize"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/getClusterByCasebaseReleaseIdResponse"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/gh/profiles": {
      "get": {
        "tags": [
          "Guided Help"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          }
        ],
        "summary": "Get All Profiles Available in Portal",
        "operationId": "getAllProfilesInPortal",
        "description": "## Overview\n  The Get All Profiles Available in Portal API retrieves all Guided Help profiles associated with a portal.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/filterCasebaseRelease"
          },
          {
            "$ref": "#/components/parameters/pagenum"
          },
          {
            "$ref": "#/components/parameters/pagesize"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetAllProfilesInPortal"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/gh/search": {
      "post": {
        "tags": [
          "Guided Help"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          }
        ],
        "summary": "Start a Guided Help Search",
        "operationId": "startGHSearch",
        "description": "## Overview\n   The Start a Guided Help search can be used to start a search session in the Guided Help. \n   \n   A Guided Help profile can also be specified while starting the session and it is used to filter the results of search.\n   If this is not passed in the request, the default profile of the portal is used. Questions can also be answered at time of starting the search session. \n   \n   A Guided Help search session can be started in following ways:\n   * Launch session for a specific Casebase Release.\n   * Launch session for a Casebase and specify the release type.\n   * Use a Guided Help session Article and pass the required session parameters.\n\n## Prerequisites\n   * A Guided Help profile must be assigned to the user.\n   * Casebase Release passed in the request must be associated with the portal passed in URI. \n   \n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/contentType"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          },
          {
            "$ref": "#/components/parameters/ghCustomAdditionalAttributes"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GHSearchRequest"
              },
              "examples": {
                "Start Search With Casebase": {
                  "value": {
                    "casebaseId": "202201000000002"
                  }
                },
                "Start Search With GHS ArticleId": {
                  "value": {
                    "casebaseId": "202201000000002",
                    "ghsArticleId": "123456000000000"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/GHStartSearchResponse"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "415": {
            "$ref": "#/components/responses/415_unsupported_media_type"
          },
          "429": {
            "$ref": "#/components/responses/429_too_many_request"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "put": {
        "tags": [
          "Guided Help"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          }
        ],
        "summary": "Perform a Step in a Guided Help Search",
        "operationId": "stepGHSearch",
        "description": "## Overview\n   The Perform a Step in a Guided Help Search API can be used to answer one or more questions (perform a step) in Guided Help search.\n\n## Prerequisites\n   * A Guided Help session must be in progress before this API is invoked.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/contentType"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          },
          {
            "$ref": "#/components/parameters/ghCustomAdditionalAttributes"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GHStepSearchRequest"
              },
              "examples": {
                "PerformStepWithGHSearch": {
                  "value": {
                    "casebaseId": "202201000000002",
                    "questions": [
                      {
                        "id": "1000000322",
                        "answers": [
                          {
                            "id": "1000000303"
                          }
                        ]
                      },
                      {
                        "id": "1000000327",
                        "answers": [
                          {
                            "id": "1000000842"
                          }
                        ]
                      },
                      {
                        "id": "1000001006",
                        "answers": [
                          {
                            "id": "1000001001"
                          }
                        ]
                      }
                    ],
                    "useLiveRelease": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/GHStepSearchResponse"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "415": {
            "$ref": "#/components/responses/415_unsupported_media_type"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/gh/casebasereleases/{casebaseReleaseID}/clusters/{clusterID}/cases": {
      "get": {
        "tags": [
          "Guided Help"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          }
        ],
        "summary": "Get All Cases of a Cluster in Release",
        "operationId": "getAllCases",
        "description": "## Overview\n  The Get All Cases of a Cluster in Release API retrieves all cases in cluster of a Casebase Release. A Case is a group of Questions, Articles, and control actions that work together to guide users through a series of questions and scenarios in a Guided Help session.  \n\n## Prerequisites\n  A Guided Help search session for the provided Casebase Release must be in progress before this API is invoked.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/casebaseReleaseId"
          },
          {
            "$ref": "#/components/parameters/clusterId"
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          },
          {
            "$ref": "#/components/parameters/pagenum"
          },
          {
            "$ref": "#/components/parameters/pagesize"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetAllCasesInReleaseResponse"
          },
          "204": {
            "description": "When no cases are present in cluster."
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/gh/casebasereleases/{casebaseReleaseID}/cases/{caseID}": {
      "get": {
        "tags": [
          "Guided Help"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          }
        ],
        "summary": "Get Details of a Case",
        "operationId": "getCaseById",
        "description": "## Overview\n  The Get Details of a Case API retrieves details of a case in a release.\n\n## Prerequisites\n  * A Guided Help search session for the provided Casebase Release must be in progress before this API is invoked.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/casebaseReleaseId"
          },
          {
            "$ref": "#/components/parameters/caseId"
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          },
          {
            "$ref": "#/components/parameters/caseAdditionalAttributes"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetCaseByIdResponse"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/gh/cases/{caseID}/accept": {
      "post": {
        "tags": [
          "Guided Help"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          }
        ],
        "summary": "Accept Solution",
        "operationId": "acceptGHSolution",
        "description": "## Overview\n  The Accept Solution API can be used to accept and add positive score to a solution of a Guided Help case.\n\n## Prerequisites\n   * A Guided Help search session must be started before invoking this API.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/caseId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuickpickRating"
              },
              "example": {
                "id": "120000001201010",
                "name": "HPE Solution Article",
                "profileId": "120450120000001"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Rating accepted"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "412": {
            "$ref": "#/components/responses/412_precondition_failed"
          },
          "415": {
            "$ref": "#/components/responses/415_unsupported_media_type"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/gh/cases/{caseID}/reject": {
      "post": {
        "tags": [
          "Guided Help"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          }
        ],
        "summary": "Reject Solution",
        "operationId": "rejectGHSolution",
        "description": "## Overview\n  The Reject Solution API can be used to reject and add negative score to a solution of a Guided Help case.\n\n## Prerequisites\n   * A Guided Help search session must be started before invoking this API.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/caseId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuickpickRating"
              },
              "example": {
                "id": "123101210000102",
                "name": "HPE Solution Article",
                "profileId": "100101210000002"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Rating accepted"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "412": {
            "$ref": "#/components/responses/412_precondition_failed"
          },
          "415": {
            "$ref": "#/components/responses/415_unsupported_media_type"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/gh/quickpicks": {
      "post": {
        "tags": [
          "Guided Help"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          }
        ],
        "summary": "Create Quickpick",
        "operationId": "createQuickpick",
        "description": "## Overview\n   The Create Quickpick API can be used to create a new quickpick(bookmark) for current Guided Help search session.\n\n  Note: If \"linkToActivity\" attribute is passed as true in request body then one of below must be passed in header\n   * <code>XEgainTenantId</code>\n   * <code>xEgainActivityId</code>\n   * <code>XInteractionId</code>\n\n## Prerequisites\n   * A Guided Help search session must be in progress before this API is invoked.\n   * QuickPick can only be created for a live release of a Casebase.\n   \n",
        "parameters": [
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateQuickpick"
              },
              "examples": {
                "Create Quickpick": {
                  "value": {
                    "casebaseReleaseId": "102312010000000",
                    "name": "QuickPick82700245",
                    "comment": "demo quickpick",
                    "linkToActivity": false
                  }
                },
                "Create Quickpick And Link With Activity": {
                  "value": {
                    "casebaseReleaseId": "123459870010120",
                    "name": "QuickPick8270033",
                    "comment": "demo quickpick",
                    "linkToActivity": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Quickpick Created Successfully."
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "415": {
            "$ref": "#/components/responses/415_unsupported_media_type"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "get": {
        "tags": [
          "Guided Help"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          }
        ],
        "summary": "Get All Quickpicks for a Portal",
        "operationId": "getAllQuickPicks",
        "description": "## Overview\n  The Get All Quickpicks for a Portal API retrieves details of quickpicks created for the Casebase.\n\n## Conditions\n   If \"getLastSavedQuickPickForInteraction\" query parameter is passed as \"Yes\" then one of below must be passed in request header.\n   * X-ext-integration-id\n   * X-egain-activity-id\n   * X-ext-interaction-id\n  Either casebaseID or getLastSavedQuickPickForInteraction must be passed in request.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/casebaseReleaseIdQuery"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          },
          {
            "$ref": "#/components/parameters/pagenum"
          },
          {
            "$ref": "#/components/parameters/pagesize"
          },
          {
            "name": "getLastSavedQuickPickForInteraction",
            "in": "query",
            "required": false,
            "description": "To be passed retrieve quickpick associated with interaction.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetAllQuickPicksResponse"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/gh/quickpicks/{quickpickID}": {
      "post": {
        "tags": [
          "Guided Help"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          }
        ],
        "summary": "Resume a Quickpick",
        "operationId": "restoreQuickpick",
        "description": "## Overview\n  The Resume a Quickpick API can be used to restore (resume) a specific quickpick.\n\n## Prerequisites\n   * A Guided Help session for the Casebase must be started before invoking this API.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/quickpickReadableId"
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          },
          {
            "$ref": "#/components/parameters/ghCustomAdditionalAttributes"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/RestoreQuickPicksResponse"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "415": {
            "$ref": "#/components/responses/415_unsupported_media_type"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/bookmarks": {
      "post": {
        "tags": [
          "Bookmark"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          }
        ],
        "summary": "Add a Bookmark",
        "operationId": "addbookmark",
        "description": "## Overview\n  * The Add a Bookmark API adds a bookmark from a portal.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/contentType"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBookmark"
              },
              "examples": {
                "Bookmark Topic With Bookmark Name Provided": {
                  "value": {
                    "resourceId": "PROD-9274782",
                    "resourceType": 2,
                    "bookmarkName": "DemoBookmark"
                  }
                },
                "Bookmark Article Without Bookmark Name": {
                  "value": {
                    "resourceId": "PROD-9296739"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "415": {
            "$ref": "#/components/responses/415_unsupported_media_type"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "get": {
        "tags": [
          "Bookmark"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          }
        ],
        "summary": "Get All Bookmarks for a Portal",
        "operationId": "getbookmark",
        "description": "## Overview\n  The Get All Bookmarks for a Portal API returns all bookmarks for a portal. Only the topic bookmarks that are available in the scope of the portal are returned.\n\n## Permissions\n  * The user must have the __View Author Portal__ action to access the authoring view.\n  * The user must have the __View Staging Portal__ action to access the staging view.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetBookmarksResponse"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/bookmarks/{bookmarkID}": {
      "delete": {
        "tags": [
          "Bookmark"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          }
        ],
        "summary": "Delete a Bookmark",
        "operationId": "deletebookmark",
        "description": "## Overview\n  The Delete a Bookmark API deletes a bookmark from a portal.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/bookmarkId"
          }
        ],
        "responses": {
          "204": {
            "description": "Bookmark successfully deleted."
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/userprofiles": {
      "get": {
        "tags": [
          "User Profile"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          }
        ],
        "summary": "Get All User Profiles Assigned to User",
        "operationId": "getAllUserProfiles",
        "description": "## Overview\n  The Get All User Profiles Assigned to User API retrieves all user profiles in the portal that are assigned to the user, displayed in ascending order of name.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetAllProfilesAssignedToUserResponse"
          },
          "204": {
            "description": "When no profiles are assigned to user."
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/userprofiles/{userProfileID}/select": {
      "put": {
        "summary": "Select User Profile",
        "operationId": "selectUserProfile",
        "tags": [
          "User Profile"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          }
        ],
        "description": "## Overview\n  The Select User Profile API allows a user to set the user profile for a portal.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/userProfileIdInPath"
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/user": {
      "get": {
        "tags": [
          "User Details"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          }
        ],
        "summary": "Get User Details",
        "operationId": "getUserDetails",
        "description": "## Overview\n  The Get User Details API retrieves details of a knowledge user.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/acceptLanguage"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetUserDetailsResponse"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/articlelists": {
      "get": {
        "summary": "Get All Article Lists",
        "operationId": "getAllArticleLists",
        "tags": [
          "Article Lists"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          }
        ],
        "description": "## Overview\n  The Get All Article Lists API returns all quick Article lists that are configured for a portal.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetArticleListsInPortalResponse"
          },
          "204": {
            "description": "No Article Lists Configured in Portal"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/articlelists/{listID}": {
      "get": {
        "summary": "Get Article List by ID",
        "operationId": "getArticleListDetails",
        "tags": [
          "Article Lists"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          }
        ],
        "description": "## Overview\n  The Get Article Lists by ID API returns the details of a quick access Article list that is configured for a portal.\n\n  Only those articles in the quick access list articles are returned and are:\n\n  - Available for current user profile.\n  - Tagged with at least one of the provided tags, if tags query parameter is provided.\n  - Displayable. An Article is displayable if \"Include in browse on portals\" property is enable for the Article. \n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "name": "listID",
            "description": "The ID of the list to be returned.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[0-9]{4}$|^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
              "minLength": 4,
              "maxLength": 20,
              "example": "PROD-12345"
            }
          },
          {
            "$ref": "#/components/parameters/filterTopicId"
          },
          {
            "$ref": "#/components/parameters/articleResultAdditionalAttributes"
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetArticleListByIdResponse"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals": {
      "get": {
        "summary": "Get All Portals",
        "operationId": "getAllPortals",
        "tags": [
          "Portal"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          }
        ],
        "description": "## Overview\n  The Get All Portals API returns all portals in a partition or department.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "name": "departmentID",
            "description": "The ID of the department.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^999$|^[1-9][0-9]{3,8}$",
              "minLength": 3,
              "maxLength": 8,
              "example": "999"
            }
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          },
          {
            "$ref": "#/components/parameters/pagenum"
          },
          {
            "$ref": "#/components/parameters/pagesize"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetAllPortalsResponse"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/myportals": {
      "get": {
        "summary": "Get All Portals Accessible To User",
        "operationId": "getMyPortals",
        "tags": [
          "Portal"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          }
        ],
        "description": "## Overview\n  The Get All Portals Accessible to User API allows a user to fetch all portals accessible to user across all department.\n  * If no access tags are specified for a portal, then any user can access the portal.\n  * If access tags are specified for a portal, users with a user profile that allows access have access to the portal. For users with multiple user profiles, the user profile that allows access does not need to be the active user profile.\n  * All the global users(partition) cannot be assigned user profiles; their access is limited to portals without access restrictions.\n  * The only articles returned are associated to an Article type when the parameter, “Include in browse on portals” is set to \"Yes\".\n  * When the \"shortUrlTemplate\" query parameter is provided, the API filters accessible portals according to the specified language and template name. Portal Short URL specific to to the \"shortUrlTemplate\" query parameter value is returned in the response.\n  * When there is no short URL available for a specific language, the API returns a portal object with an empty \"shortURL\" field.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/mandatoryLanguageQueryParameter"
          },
          {
            "name": "department",
            "description": "The Name of the department for which portals are to be fetched",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "service",
              "pattern": "^[\\w\\W]+$",
              "minLength": 0,
              "maxLength": 255
            }
          },
          {
            "name": "filterText",
            "description": "Portal name starting with a specific character are considered to filter the result.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "master",
              "pattern": "^[\\w\\W]+$",
              "minLength": 0,
              "maxLength": 255
            }
          },
          {
            "name": "shortUrlTemplate",
            "description": "The Name of the template used while creating Short URL.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "silver",
              "pattern": "^[\\w\\W]+$",
              "minLength": 0,
              "maxLength": 255
            }
          },
          {
            "$ref": "#/components/parameters/sortIdNameDepartment"
          },
          {
            "$ref": "#/components/parameters/order"
          },
          {
            "$ref": "#/components/parameters/pagenum"
          },
          {
            "$ref": "#/components/parameters/pagesizeNewFrameWork"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetAllPortalsAccessibleToAgentResponse"
          },
          "204": {
            "description": "No Content If all the portals are personalized and user does not have any profile assigned"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}": {
      "get": {
        "summary": "Get Portal Details By ID",
        "operationId": "getPortalDetailsById",
        "tags": [
          "Portal"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthClient": [
              "https://api.egain.cloud/auth/.default"
            ]
          }
        ],
        "description": "## Overview\n  The Get Portal Details By ID API allows a user to fetch details of a portal by the ID.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetPortalByIdResponse"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/{portalID}/search": {
      "get": {
        "summary": "Hybrid Search",
        "tags": [
          "Search"
        ],
        "operationId": "aiSearch",
        "description": "The Search API is a hybrid search service that combines semantic understanding with keyword precision to deliver fast, contextual, and relevant results from your enterprise knowledge base. It enables secure, role-aware access to articles, FAQs, and documentation across customer, agent, and employee interfaces. Each query returns a ranked list of results with snippets, metadata, and relevance scores.\n",
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/q"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/filterUserProfileID"
          },
          {
            "$ref": "#/components/parameters/languageCode"
          },
          {
            "$ref": "#/components/parameters/filterTags"
          },
          {
            "$ref": "#/components/parameters/filterTopicIds"
          },
          {
            "$ref": "#/components/parameters/articleCustomFields"
          },
          {
            "$ref": "#/components/parameters/aispagenum"
          },
          {
            "$ref": "#/components/parameters/aispagesize"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AISearchResponse"
                },
                "example": {
                  "searchResults": {
                    "article": [
                      {
                        "id": "PROD-2731",
                        "name": "What Does Loan Closing Mean?",
                        "docType": "HTML",
                        "source": "eGain Article",
                        "snippet": "Closing, generally, is when you sign your <span class=\"hc\" style=\"background: #FFFF00\">loan</span> documents and become obligated on the mortgage <span class=\"hc\" style=\"background: #FFFF00\">loan</span>, and, in a purchase transaction, when the seller signs documents to transfer you title to the property. The timing may depend on state laws and local practices.",
                        "keywordSnippet": "Closing, generally, is when you sign your <span class=\"hc\" style=\"background: #FFFF00\">loan</span> documents and become obligated on the mortgage <span class=\"hc\" style=\"background: #FFFF00\">loan</span>, and, in a purchase transaction, when the seller signs documents to transfer you title to the property. The timing may depend on state laws and local practices.",
                        "additionalSnippets": [],
                        "additionalSnippetCount": 0,
                        "contextualSummary": "",
                        "modifiedDate": "2022-10-20T15:11:33.000Z",
                        "headerPath": "",
                        "topicBreadcrumb": [
                          {
                            "topicSummary": [
                              {
                                "name": "Loans",
                                "id": "PROD-1070"
                              }
                            ]
                          }
                        ],
                        "tagCategories": [
                          {
                            "id": "PROD-1014",
                            "tags": [
                              "PROD-1022",
                              "PROD-2196"
                            ]
                          }
                        ],
                        "articleTypeAttributes": {
                          "typeName": "General",
                          "articleTypeId": "100100000002020"
                        },
                        "normalizedScore": 0.8953199783507835
                      },
                      {
                        "id": "PROD-2680",
                        "name": "What Information Will I Need to Apply for a Loan?",
                        "docType": "HTML",
                        "source": "eGain Article",
                        "snippet": "Please have your personal information, annual income and any applicable collateral information available to apply.",
                        "keywordSnippet": "Please have your personal information, annual income and any applicable collateral information available to apply.",
                        "additionalSnippets": [],
                        "additionalSnippetCount": 0,
                        "contextualSummary": "",
                        "modifiedDate": "2022-10-20T15:12:21.000Z",
                        "headerPath": "",
                        "topicBreadcrumb": [
                          {
                            "topicSummary": [
                              {
                                "name": "Loans",
                                "id": "PROD-1070"
                              }
                            ]
                          }
                        ],
                        "tagCategories": [
                          {
                            "id": "PROD-1014",
                            "tags": [
                              "PROD-2196",
                              "PROD-1022"
                            ]
                          }
                        ],
                        "articleTypeAttributes": {
                          "typeName": "General",
                          "articleTypeId": "100100000002020"
                        },
                        "normalizedScore": 0.8881018533023683
                      },
                      {
                        "id": "PROD-2679",
                        "name": "Can I have a Co-Signer?",
                        "docType": "HTML",
                        "source": "eGain Article",
                        "snippet": "...Yes, A Co-Signer is <span class=\"hc\" style=\"background-color: #FFFF00\">someone who agrees to be responsible for someone else’s debt</span>. If you cosign someone’s loan and that person doesn’t make payments on the loan or defaults, you’ll have to repay the l...",
                        "keywordSnippet": "",
                        "additionalSnippets": [
                          {
                            "id": "PROD-2679",
                            "name": "Can I have a Co-Signer?",
                            "docType": "HTML",
                            "snippet": "...Yes, A Co-Signer is <span class=\"hc\" style=\"background-color: #FFFF00\">someone who agrees to be responsible for someone else’s debt</span>. If you cosign someone’s loan and that person doesn’t make payments on the loan or defaults, you’ll have to repay the l...",
                            "keywordSnippet": "",
                            "normalizedScore": 0.8472550848151883
                          },
                          {
                            "id": "PROD-2679",
                            "name": "Can I have a Co-Signer?",
                            "docType": "HTML",
                            "snippet": "...Yes, A Co-Signer is <span class=\"hc\" style=\"background-color: #FFFF00\">someone who agrees to be responsible for someone else’s debt</span>. If you cosign someone’s loan and that person doesn’t make payments on the loan or defaults, you’ll have to repay the l...",
                            "keywordSnippet": "",
                            "normalizedScore": 0.8472550848151883
                          }
                        ],
                        "additionalSnippetCount": 2,
                        "contextualSummary": "",
                        "modifiedDate": "2022-10-20T15:09:06.000Z",
                        "headerPath": "",
                        "topicBreadcrumb": [
                          {
                            "topicSummary": [
                              {
                                "name": "Loans",
                                "id": "PROD-1070"
                              }
                            ]
                          }
                        ],
                        "tagCategories": [
                          {
                            "id": "PROD-1014",
                            "tags": [
                              "PROD-2196",
                              "PROD-1022"
                            ]
                          }
                        ],
                        "articleTypeAttributes": {
                          "typeName": "General",
                          "articleTypeId": "100100000002020"
                        },
                        "normalizedScore": 0.8485992046672263
                      },
                      {
                        "id": "PROD-2681",
                        "name": "What is a Co-Signer? Requirements for a Co-Signer?",
                        "docType": "HTML",
                        "source": "eGain Article",
                        "snippet": "...A co-signer is <span class=\"hc\" style=\"background-color: #FFFF00\">a person who is obligated to pay back the loan</span> just as you, the borrower, are obligated to pay.",
                        "keywordSnippet": "",
                        "additionalSnippets": [],
                        "additionalSnippetCount": 0,
                        "contextualSummary": "",
                        "modifiedDate": "2022-12-08T21:15:56.000Z",
                        "headerPath": "",
                        "topicBreadcrumb": [
                          {
                            "topicSummary": [
                              {
                                "name": "Loans",
                                "id": "PROD-1070"
                              }
                            ]
                          }
                        ],
                        "tagCategories": [
                          {
                            "id": "PROD-1014",
                            "tags": [
                              "PROD-1022",
                              "PROD-2196"
                            ]
                          }
                        ],
                        "articleTypeAttributes": {
                          "typeName": "General",
                          "articleTypeId": "100100000002020"
                        },
                        "normalizedScore": 0.760438771174426
                      },
                      {
                        "id": "PROD-2575",
                        "name": "Glossary of Terms",
                        "docType": "HTML",
                        "source": "eGain Article",
                        "snippet": "...Glossary of Terms A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A Account A type of <span class=\"hc\" style=\"background-color: #FFFF00\">financial property or financial obligation that is held and owned under your name</span>. When you open a financial account—whether it’s a checking account, savings account, CD or money market accou...",
                        "keywordSnippet": "",
                        "additionalSnippets": [
                          {
                            "id": "PROD-2575",
                            "name": "Glossary of Terms",
                            "docType": "HTML",
                            "snippet": "...Glossary of Terms A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A Account A type of <span class=\"hc\" style=\"background-color: #FFFF00\">financial property or financial obligation that is held and owned under your name</span>. When you open a financial account—whether it’s a checking account, savings account, CD or money market accou...",
                            "keywordSnippet": "",
                            "normalizedScore": 0.7319947071366003
                          },
                          {
                            "id": "PROD-2575",
                            "name": "Glossary of Terms",
                            "docType": "HTML",
                            "snippet": "...Glossary of Terms A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A Account A type of <span class=\"hc\" style=\"background-color: #FFFF00\">financial property or financial obligation that is held and owned under your name</span>. When you open a financial account—whether it’s a checking account, savings account, CD or money market accou...",
                            "keywordSnippet": "",
                            "normalizedScore": 0.7312969754401869
                          },
                          {
                            "id": "PROD-2575",
                            "name": "Glossary of Terms",
                            "docType": "HTML",
                            "snippet": "...pay it back later. <span class=\"hc\" style=\"background-color: #FFFF00\">Deposit Funds added to your account. Direct deposit An automatic deposit to your account made by your employer or an outside agency (such as a pension or government benefit payment). These are usually recurring and spare you the hassle of depositing a paper check</span>. Online transfers ...",
                            "keywordSnippet": "",
                            "normalizedScore": 0.590190242899371
                          },
                          {
                            "id": "PROD-2575",
                            "name": "Glossary of Terms",
                            "docType": "HTML",
                            "snippet": "...e checks and make deposits into the same shared account. M Maturity date This is the date of expiration for the contractual obligation of a <span class=\"hc\" style=\"background-color: #FFFF00\">financial instrument</span>. For example, certificates of deposit have a maturity date that depends on the length of the CD term. When the CD matures, you have the opt...",
                            "keywordSnippet": "",
                            "normalizedScore": 0.5901298016434594
                          },
                          {
                            "id": "PROD-2575",
                            "name": "Glossary of Terms",
                            "docType": "HTML",
                            "snippet": "...e checks and make deposits into the same shared account. M Maturity date This is the date of expiration for the contractual obligation of a <span class=\"hc\" style=\"background-color: #FFFF00\">financial instrument</span>. For example, certificates of deposit have a maturity date that depends on the length of the CD term. When the CD matures, you have the opt...",
                            "keywordSnippet": "",
                            "normalizedScore": 0.5901298016434594
                          }
                        ],
                        "additionalSnippetCount": 5,
                        "contextualSummary": "",
                        "modifiedDate": "2022-10-20T15:04:42.000Z",
                        "headerPath": "",
                        "topicBreadcrumb": [
                          {
                            "topicSummary": [
                              {
                                "name": "Using Online Banking",
                                "id": "PROD-1072"
                              }
                            ]
                          }
                        ],
                        "tagCategories": [
                          {
                            "id": "PROD-1014",
                            "tags": [
                              "PROD-2196"
                            ]
                          }
                        ],
                        "articleTypeAttributes": {
                          "typeName": "General",
                          "articleTypeId": "100100000002020"
                        },
                        "normalizedScore": 0.7319947071366003
                      },
                      {
                        "id": "PROD-2732",
                        "name": "What is The Amortization Period?",
                        "docType": "HTML",
                        "source": "eGain Article",
                        "snippet": "...This is <span class=\"hc\" style=\"background-color: #FFFF00\">the repayment period</span> of a loan during which payments of both principal and interest are required to be made to pay down the balance on the loan according to the...",
                        "keywordSnippet": "",
                        "additionalSnippets": [
                          {
                            "id": "PROD-2732",
                            "name": "What is The Amortization Period?",
                            "docType": "HTML",
                            "snippet": "...This is <span class=\"hc\" style=\"background-color: #FFFF00\">the repayment period</span> of a loan during which payments of both principal and interest are required to be made to pay down the balance on the loan according to the...",
                            "keywordSnippet": "",
                            "normalizedScore": 0.6721146426033902
                          }
                        ],
                        "additionalSnippetCount": 1,
                        "contextualSummary": "",
                        "modifiedDate": "2022-10-20T15:13:19.000Z",
                        "headerPath": "",
                        "topicBreadcrumb": [
                          {
                            "topicSummary": [
                              {
                                "name": "Loans",
                                "id": "PROD-1070"
                              }
                            ]
                          }
                        ],
                        "tagCategories": [
                          {
                            "id": "PROD-1014",
                            "tags": [
                              "PROD-2196",
                              "PROD-1022"
                            ]
                          }
                        ],
                        "articleTypeAttributes": {
                          "typeName": "General",
                          "articleTypeId": "100100000002020"
                        },
                        "normalizedScore": 0.6721146426033902
                      },
                      {
                        "id": "PROD-2615",
                        "name": "Talk to a Banker - Home Loans",
                        "docType": "HTML",
                        "source": "eGain Article",
                        "snippet": "Whether you have questions about buying or refinancing a home, applying for or paying off a mortgage or home equity line of credit, or how the home lending process works in general, we've got answers.\nMake an appointment with a [Sample Company Name] Bank today by visiting [Sample Website Address]...",
                        "keywordSnippet": "Whether you have questions about buying or refinancing a home, applying for or paying off a mortgage or home equity line of credit, or how the home lending process works in general, we've got answers.\nMake an appointment with a [Sample Company Name] Bank today by visiting [Sample Website Address]...",
                        "additionalSnippets": [],
                        "additionalSnippetCount": 0,
                        "contextualSummary": "",
                        "modifiedDate": "2022-12-08T21:15:34.000Z",
                        "headerPath": "",
                        "topicBreadcrumb": [
                          {
                            "topicSummary": [
                              {
                                "name": "Loans",
                                "id": "PROD-1070"
                              }
                            ]
                          }
                        ],
                        "tagCategories": [
                          {
                            "id": "PROD-1014",
                            "tags": [
                              "PROD-1022"
                            ]
                          }
                        ],
                        "articleTypeAttributes": {
                          "typeName": "General",
                          "articleTypeId": "100100000002020"
                        },
                        "normalizedScore": 0.45921719114211856
                      },
                      {
                        "id": "PROD-2997",
                        "name": "Discriminitatory Lending Practices",
                        "docType": "HTML",
                        "source": "eGain Article",
                        "snippet": "<span class=\"hc\" style=\"background: #FFFF00\">What</span> are some of the warning signs of lending discrimination?\nThe signs of lending discrimination may be blatant or subtle. They can occur in the marketing of mortgage <span class=\"hc\" style=\"background: #FFFF00\">loan</span> products, mortgage <span class=\"hc\" style=\"background: #FFFF00\">loan</span> transactions, terms and conditions of the <span class=\"hc\" style=\"background: #FFFF00\">loan</span>, in the appraisal of a home, and in <span class=\"hc\" style=\"background: #FFFF00\">loan</span> servicing.",
                        "keywordSnippet": "<span class=\"hc\" style=\"background: #FFFF00\">What</span> are some of the warning signs of lending discrimination?\nThe signs of lending discrimination may be blatant or subtle. They can occur in the marketing of mortgage <span class=\"hc\" style=\"background: #FFFF00\">loan</span> products, mortgage <span class=\"hc\" style=\"background: #FFFF00\">loan</span> transactions, terms and conditions of the <span class=\"hc\" style=\"background: #FFFF00\">loan</span>, in the appraisal of a home, and in <span class=\"hc\" style=\"background: #FFFF00\">loan</span> servicing.",
                        "additionalSnippets": [],
                        "additionalSnippetCount": 0,
                        "contextualSummary": "",
                        "modifiedDate": "2022-10-20T14:20:44.000Z",
                        "headerPath": "",
                        "topicBreadcrumb": [
                          {
                            "topicSummary": [
                              {
                                "name": "Banking Regulations",
                                "id": "PROD-1080"
                              }
                            ]
                          },
                          {
                            "topicSummary": [
                              {
                                "name": "Banking Regulations",
                                "id": "PROD-1065"
                              }
                            ]
                          }
                        ],
                        "tagCategories": [
                          {
                            "id": "PROD-1014",
                            "tags": [
                              "PROD-2930"
                            ]
                          }
                        ],
                        "articleTypeAttributes": {
                          "typeName": "General",
                          "articleTypeId": "100100000002020"
                        },
                        "normalizedScore": 0.2830405804592237
                      },
                      {
                        "id": "PROD-2733",
                        "name": "What is the Difference Between Prequalification and Preapproval?",
                        "docType": "HTML",
                        "source": "eGain Article",
                        "snippet": "Prequalification\nThe Banker collects estimates of your income and liabilities to determine <span class=\"hc\" style=\"background: #FFFF00\">what</span> mortgage products may be available to you and <span class=\"hc\" style=\"background: #FFFF00\">what</span> you can afford to borrow. Our Mortgage Bankers can prequalify you by phone, in some cases.",
                        "keywordSnippet": "Prequalification\nThe Banker collects estimates of your income and liabilities to determine <span class=\"hc\" style=\"background: #FFFF00\">what</span> mortgage products may be available to you and <span class=\"hc\" style=\"background: #FFFF00\">what</span> you can afford to borrow. Our Mortgage Bankers can prequalify you by phone, in some cases.",
                        "additionalSnippets": [],
                        "additionalSnippetCount": 0,
                        "contextualSummary": "",
                        "modifiedDate": "2022-10-20T15:13:59.000Z",
                        "headerPath": "",
                        "topicBreadcrumb": [
                          {
                            "topicSummary": [
                              {
                                "name": "Loans",
                                "id": "PROD-1070"
                              }
                            ]
                          }
                        ],
                        "tagCategories": [
                          {
                            "id": "PROD-1014",
                            "tags": [
                              "PROD-1022",
                              "PROD-2196"
                            ]
                          }
                        ],
                        "articleTypeAttributes": {
                          "typeName": "General",
                          "articleTypeId": "100100000002020"
                        },
                        "normalizedScore": 0.18605361669534096
                      },
                      {
                        "id": "PROD-2583",
                        "name": "Using Zelle",
                        "docType": "HTML",
                        "source": "eGain Article",
                        "snippet": "...lle you can send money to friends, family and almost anyone you know and trust, no matter where they bank in the U.S. Why Use Zelle It’s <span class=\"hc\" style=\"background-color: #FFFF00\">a fast and secure transfer</span> where money is deposited directly into your recipient’s bank account typically within minutes. You can also request money from others us...",
                        "keywordSnippet": "",
                        "additionalSnippets": [],
                        "additionalSnippetCount": 0,
                        "contextualSummary": "",
                        "modifiedDate": "2022-10-25T14:07:19.000Z",
                        "headerPath": "",
                        "topicBreadcrumb": [
                          {
                            "topicSummary": [
                              {
                                "name": "Online Access",
                                "id": "PROD-1001"
                              },
                              {
                                "name": "Zelle",
                                "id": "PROD-1084"
                              }
                            ]
                          },
                          {
                            "topicSummary": [
                              {
                                "name": "Using Online Banking",
                                "id": "PROD-1072"
                              },
                              {
                                "name": "Zelle",
                                "id": "PROD-1075"
                              }
                            ]
                          }
                        ],
                        "tagCategories": [
                          {
                            "id": "PROD-1014",
                            "tags": [
                              "PROD-1756"
                            ]
                          }
                        ],
                        "articleTypeAttributes": {
                          "typeName": "General",
                          "articleTypeId": "100100000002020"
                        },
                        "normalizedScore": 0.18394147762849983
                      },
                      {
                        "id": "PROD-2554",
                        "name": "Banking Regulations",
                        "docType": "HTML",
                        "source": "eGain Article",
                        "snippet": "Some individual cities also enact their own financial regulation laws (for example, defining <span class=\"hc\" style=\"background: #FFFF00\">what</span> constitutes usurious lending).",
                        "keywordSnippet": "Some individual cities also enact their own financial regulation laws (for example, defining <span class=\"hc\" style=\"background: #FFFF00\">what</span> constitutes usurious lending).",
                        "additionalSnippets": [],
                        "additionalSnippetCount": 0,
                        "contextualSummary": "",
                        "modifiedDate": "2022-10-20T14:17:48.000Z",
                        "headerPath": "",
                        "topicBreadcrumb": [
                          {
                            "topicSummary": [
                              {
                                "name": "Banking Regulations",
                                "id": "PROD-1080"
                              }
                            ]
                          },
                          {
                            "topicSummary": [
                              {
                                "name": "Banking Regulations",
                                "id": "PROD-1065"
                              }
                            ]
                          }
                        ],
                        "tagCategories": [
                          {
                            "id": "PROD-1014",
                            "tags": [
                              "PROD-2930"
                            ]
                          }
                        ],
                        "articleTypeAttributes": {
                          "typeName": "General",
                          "articleTypeId": "100100000002020"
                        },
                        "normalizedScore": 0.16558712775547277
                      },
                      {
                        "id": "PROD-2577",
                        "name": "Short Description of Mobile Deposit",
                        "docType": "HTML",
                        "source": "eGain Article",
                        "snippet": "Mobile check deposit allows you to save time by depositing your checks remotely, no matter where you are or <span class=\"hc\" style=\"background: #FFFF00\">what</span> time of day it is. Instead of making a run to the bank, you can simply snap a picture of the front and back of the check on your smartphone and deposit it using the bank's mobile app.",
                        "keywordSnippet": "Mobile check deposit allows you to save time by depositing your checks remotely, no matter where you are or <span class=\"hc\" style=\"background: #FFFF00\">what</span> time of day it is. Instead of making a run to the bank, you can simply snap a picture of the front and back of the check on your smartphone and deposit it using the bank's mobile app.",
                        "additionalSnippets": [],
                        "additionalSnippetCount": 0,
                        "contextualSummary": "",
                        "modifiedDate": "2022-10-25T14:10:07.000Z",
                        "headerPath": "",
                        "topicBreadcrumb": [
                          {
                            "topicSummary": [
                              {
                                "name": "Checking and Savings Accounts",
                                "id": "PROD-1066"
                              }
                            ]
                          },
                          {
                            "topicSummary": [
                              {
                                "name": "Online Access",
                                "id": "PROD-1001"
                              },
                              {
                                "name": "Mobile Banking",
                                "id": "PROD-1082"
                              }
                            ]
                          },
                          {
                            "topicSummary": [
                              {
                                "name": "Using Online Banking",
                                "id": "PROD-1072"
                              }
                            ]
                          }
                        ],
                        "tagCategories": [
                          {
                            "id": "PROD-1014",
                            "tags": [
                              "PROD-1020",
                              "PROD-1756"
                            ]
                          }
                        ],
                        "articleTypeAttributes": {
                          "typeName": "General",
                          "articleTypeId": "100100000002020"
                        },
                        "normalizedScore": 0.13648458089091964
                      },
                      {
                        "id": "PROD-2568",
                        "name": "Office of the Comptroller of the Currency (OCC) Banking Regulations",
                        "docType": "HTML",
                        "source": "eGain Article",
                        "snippet": "OCC Bulletins\n\n\nOCC Comptroller’s Handbook\n\n\nPart 2 - Sales of Credit Life Insurance\n\n\nPart 14 - Consumer Protection in Sales of Insurance\n\n\nPart 21 - Minimum Security Devices and Procedures, SAR & BSA Compliance Program\n\n\nPart 22 - <span class=\"hc\" style=\"background: #FFFF00\">Loans</span> in Areas having Special Flood Hazards\n\n\nPart 25 - Community Reinvestment",
                        "keywordSnippet": "OCC Bulletins\n\n\nOCC Comptroller’s Handbook\n\n\nPart 2 - Sales of Credit Life Insurance\n\n\nPart 14 - Consumer Protection in Sales of Insurance\n\n\nPart 21 - Minimum Security Devices and Procedures, SAR & BSA Compliance Program\n\n\nPart 22 - <span class=\"hc\" style=\"background: #FFFF00\">Loans</span> in Areas having Special Flood Hazards\n\n\nPart 25 - Community Reinvestment",
                        "additionalSnippets": [],
                        "additionalSnippetCount": 0,
                        "contextualSummary": "",
                        "modifiedDate": "2022-10-20T14:30:06.000Z",
                        "headerPath": "",
                        "topicBreadcrumb": [
                          {
                            "topicSummary": [
                              {
                                "name": "Banking Regulations",
                                "id": "PROD-1080"
                              }
                            ]
                          },
                          {
                            "topicSummary": [
                              {
                                "name": "Banking Regulations",
                                "id": "PROD-1065"
                              }
                            ]
                          }
                        ],
                        "tagCategories": [
                          {
                            "id": "PROD-1014",
                            "tags": [
                              "PROD-2930"
                            ]
                          }
                        ],
                        "articleTypeAttributes": {
                          "typeName": "General",
                          "articleTypeId": "100100000002020"
                        },
                        "normalizedScore": 0.13457933361485352
                      },
                      {
                        "id": "PROD-2766",
                        "name": "How Do I Apply for a Credit Card?",
                        "docType": "HTML",
                        "source": "eGain Article",
                        "snippet": "...ple Customer Service Phone Number] [Sample Credit Card Extension] / [Sample Text Based Phone Number], Mon–Fri 7 am–5 pm PT. To apply for the <span class=\"hc\" style=\"background-color: #FFFF00\">Secured Credit Card</span>, visit your local branch.",
                        "keywordSnippet": "",
                        "additionalSnippets": [],
                        "additionalSnippetCount": 0,
                        "contextualSummary": "",
                        "modifiedDate": "2022-10-20T14:49:19.000Z",
                        "headerPath": "",
                        "topicBreadcrumb": [
                          {
                            "topicSummary": [
                              {
                                "name": "Checking and Savings Accounts",
                                "id": "PROD-1066"
                              },
                              {
                                "name": "Credit Cards",
                                "id": "PROD-1068"
                              }
                            ]
                          }
                        ],
                        "tagCategories": [
                          {
                            "id": "PROD-1014",
                            "tags": [
                              "PROD-1024",
                              "PROD-2048",
                              "PROD-2196"
                            ]
                          }
                        ],
                        "articleTypeAttributes": {
                          "typeName": "General",
                          "articleTypeId": "100100000002020"
                        },
                        "normalizedScore": 0.1103068233378137
                      }
                    ]
                  }
                }
              }
            }
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/suggestions": {
      "post": {
        "summary": "Make a Suggestion",
        "operationId": "makeSuggestion",
        "tags": [
          "Suggestion"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          }
        ],
        "description": "## Overview\n  The Make a Suggestion API allows users to create an Article Suggestion from within a knowledge portal.\n\n## Prerequisites\n  * Enable the setting \"Manage a Suggestion\" for the portal specified in the URL.\n  * If the user is a Customer, enable the setting \"Allow Customer Access\" for the portal.\n  * If you want to add an attachment to a Suggestion, first call the Generate Signed URL to Upload API to add an attachment using the provided returned altID in attachment request.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/contentType"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSuggestion"
              },
              "examples": {
                "Mandatory Attributes Only": {
                  "value": {
                    "name": "Proposed Store Phone Number",
                    "content": "You should update your website with the new phone number.",
                    "language": {
                      "code": "en-US"
                    }
                  }
                },
                "Feedback Suggestion": {
                  "value": {
                    "name": "Proposed Store Phone Number",
                    "description": "Changing the phone number",
                    "content": "I noticed that the phone number is incorrect. Attached is the store's new landline and fax numbers.",
                    "language": {
                      "code": "en-US"
                    },
                    "feedbackArticle": {
                      "id": "PROD-2020"
                    }
                  }
                },
                "All Attributes": {
                  "value": {
                    "attachments": {
                      "attachment": [
                        {
                          "altId": "0b78095b-9a1c-4303-b3d5-16914f71bf91"
                        }
                      ]
                    },
                    "name": "Proposed Store Phone Number",
                    "description": "Changing the phone number",
                    "content": "Attached is the store's new landline and fax numbers.",
                    "language": {
                      "code": "en-US"
                    },
                    "customAttributes": [
                      {
                        "name": "proposal_category",
                        "value": [
                          "16",
                          "25"
                        ],
                        "type": "INTEGER"
                      },
                      {
                        "name": "automated_reply_language",
                        "value": [
                          "es"
                        ],
                        "type": "STRING"
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "415": {
            "$ref": "#/components/responses/415_unsupported_media_type"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "put": {
        "summary": "Modify Suggestion",
        "operationId": "modifySuggestions",
        "tags": [
          "Suggestion"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          }
        ],
        "description": "## Overview\n  The Modify Suggestion API allows authenticated users to modify their own Suggestion.\n\n## Prerequisites\n  * Enable the setting \"Manage a Suggestion\" for the portal specified in the URL.\n  * If the user is a Customer, enable the setting \"Allow Customer Access\" for the portal.\n  * The \"Suggestion ID\" specified in the request body must exist and belong to the user.\n  * The status of this Suggestion as returned by the Get Suggestion by ID API must be \"pending\".\n  * At least one of the optional request body attributes must be provided.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/contentType"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ModifySuggestion"
              },
              "examples": {
                "Modify One Attribute (Name)": {
                  "value": {
                    "id": "PROD-5722",
                    "name": "Improving Telecommunication Services",
                    "modifiedDate": "2024-07-31T14:10:19Z"
                  }
                },
                "Modify All Attributes": {
                  "value": {
                    "attachments": {
                      "attachment": [
                        {
                          "altId": "0b78095b-9a1c-4303-b3d5-16914f71bf91"
                        }
                      ],
                      "unlink": [
                        {
                          "href": "/knowledge/portalmgr/v4/portals/999900000000000/suggestions/attachments/419200000001044",
                          "rel": "attachment"
                        }
                      ]
                    },
                    "content": "This text replaces this Suggestion's existing content.",
                    "id": "PROD-5722",
                    "name": "Improving Telecommunication Services",
                    "description": "Proposed changes to increase operational efficiency.",
                    "modifiedDate": "2021-03-28T14:29:01.516Z",
                    "language": {
                      "code": "en-US"
                    },
                    "customAttributes": [
                      {
                        "name": "phone_queue",
                        "value": [
                          "8",
                          "10"
                        ],
                        "type": "INTEGER"
                      },
                      {
                        "name": "automated_agent_language",
                        "value": [
                          "fr"
                        ],
                        "type": "STRING"
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "415": {
            "$ref": "#/components/responses/415_unsupported_media_type"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "get": {
        "summary": "Get Suggestion by Status",
        "operationId": "searchSuggestion",
        "tags": [
          "Suggestion"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          }
        ],
        "description": "## Overview\n  The Get Suggestion by Status API allows authenticated users to retrieve their own suggestions based on Suggestion status.\n  \n## Prerequisites\n  * Enable the setting \"My Suggestions\" for the portal specified in the URL.\n  * If the user is a customer, enable the setting \"Allow Customer Access\" for the portal.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "name": "filter[status]",
            "description": "The search filter applied to the list of suggestions by a user.",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "suggested",
                "pending",
                "declined",
                "approved"
              ],
              "example": "suggested"
            }
          },
          {
            "$ref": "#/components/parameters/sortIdName"
          },
          {
            "$ref": "#/components/parameters/order"
          },
          {
            "$ref": "#/components/parameters/pagenum"
          },
          {
            "$ref": "#/components/parameters/pagesizeNewFrameWork"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetSuggestionByStatus"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/suggestions/{suggestionID}": {
      "get": {
        "summary": "Get Suggestion by ID",
        "operationId": "getSuggestion",
        "tags": [
          "Suggestion"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          }
        ],
        "description": "## Overview\n  The Get Suggestion by ID API allows authenticated users to retrieve their own suggestions.\n\n## Prerequisites\n  * Enable the setting \"My Suggestions\" for the portal specified in the URL.\n  * If the user is a customer, enable the setting \"Allow Customer Access\" for the portal.\n  * The \"Suggestion for the ID\" specified in the URL must belong to the user.\n \n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/suggestionId"
          },
          {
            "$ref": "#/components/parameters/suggestionAdditionalAttributes"
          },
          {
            "$ref": "#/components/parameters/customAdditionalAttributes"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetSuggestionById"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "delete": {
        "summary": "Delete a Suggestion",
        "operationId": "deleteSuggestion",
        "tags": [
          "Suggestion"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          }
        ],
        "description": "## Overview\n  The Delete a Suggestion API allows authenticated users to delete their own Suggestion.\n\n## Prerequisites\n  * Enable the setting \"Manage a Suggestion\" for the portal specified in the URL.\n  * If the user is a customer, enable the setting \"Allow Customer Access\" for the portal.\n  * The Suggestion must belong to the user.\n  * The status of the Suggestion must not be \"approved\".\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/suggestionId"
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_resource_cannot_be_deleted"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/suggestions/{suggestionID}/relatedArticles": {
      "get": {
        "summary": "Get Related Articles for Suggestion",
        "operationId": "getRelatedArticlesForSuggestion",
        "tags": [
          "Suggestion"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          }
        ],
        "description": "## Overview\n  The Get Related Articles for Suggestion API allows authenticated users to retrieve related articles for a Suggestion.\n\n## Prerequisites\n  * Enable the setting \"My Suggestions\" for the portal specified in the URL.\n  * If the user is a customer, enable the setting \"Allow Customer Access\" for the portal.\n  * The Suggestion specified in the URL must belong to the user.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/articleResultAdditionalAttributes"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/suggestionId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetRelatedArticlesForSuggestion"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/suggestions/{suggestionID}/comments": {
      "get": {
        "summary": "Get Suggestion Comments",
        "operationId": "getSuggestionComments",
        "tags": [
          "Suggestion"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          }
        ],
        "description": "## Overview\n  The Get Suggestion Comments API allows authenticated users to retrieve all comments for a Suggestion.\n\n## Prerequisites\n  * Enable the setting \"My Suggestions\" for the portal specified in the URL. \n  * If the user is a customer, enable the setting \"Allow Customer Access\" for the portal.\n  * The Suggestion specified in the URL must belong to the user.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/suggestionId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetSuggestionComments"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "post": {
        "summary": "Add a Suggestion Comment",
        "operationId": "addSuggestionComment",
        "tags": [
          "Suggestion"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          }
        ],
        "description": "## Overview\n  The Add Suggestion Comment API allows authenticated users and agents to add a new comment to a Suggestion.\n\n## Prerequisites\n  * Enable the setting \"My Suggestions\" for the portal specified in the URL.\n  * If the user is a customer, enable the setting \"Allow Customer Access\" for the portal.\n  * The Suggestion specified in the URL must belong to the user, or the user must have appropriate administrative permissions to comment on it.\n  * The Suggestion must be in **Suggested** or **Pending** status, otherwise no comments can be added.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/contentType"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/suggestionId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateComment"
              },
              "examples": {
                "New Comment": {
                  "value": {
                    "content": "I have uploaded the requested documents regarding the new phone numbers. Please review."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created. The comment was successfully added."
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/suggestions/{suggestionID}/attachments": {
      "get": {
        "summary": "Get Suggestion Attachments",
        "operationId": "getSuggestionAttachments",
        "tags": [
          "Suggestion"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          }
        ],
        "description": "## Overview\n  The Get Suggestion Attachments API allows authenticated users to retrieve attachments for a Suggestion.\n\n## Prerequisites\n  * Enable the setting \"My Suggestions\" for the portal specified in the URL\n  * If the user is a customer, enable the setting \"Allow Customer Access\" for the portal.\n  * The Suggestion specified in the URL must belong to the user.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/suggestionId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetSuggestionAttachments"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/suggestions/attachments/{attachmentID}": {
      "get": {
        "summary": "Get Suggestion Attachment by ID",
        "operationId": "getSuggestionAttachmentById",
        "tags": [
          "Suggestion"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          }
        ],
        "description": "## Overview\n  The Get Suggestion Attachment by ID API allows authenticated users to get the details of an attachment that belongs to their own Suggestion. It also allows the download of attachment content. \n\n## Prerequisites\n  * Enable the setting \"My Suggestions\" for the portal specified in the URL\n  * If the user is a customer, enable the setting \"Allow Customer Access\" for the portal.\n  * The Suggestion specified in the URL must belong to the user.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/attachmentId"
          },
          {
            "$ref": "#/components/parameters/attachmentAdditionalAttributes"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetSuggestionAttachmentById"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/user/milestones": {
      "get": {
        "tags": [
          "User Milestones"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          }
        ],
        "summary": "Get User Milestones",
        "operationId": "getUserMilestones",
        "description": "## Overview\nThe User Milestones API provides information about the milestones of an agent within the article workflow. \nThis API helps track the progress of articles by grouping them into relevant milestones based on their current stage.\n\nFor example, an article might go through Knowledge Workflow Stages like Draft, Initial Review, Staging, Final Review and Publish. \n       Articles in the Draft and Initial Review stages are part of the \"authoring milestone\", while articles in the Staging and Final Review stages are part of the \"staging milestone\".\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/acceptLanguage"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetUserMilestonesResponse"
          },
          "204": {
            "description": "No Milestones configured for the user"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/articles/{articleID}/permissions": {
      "get": {
        "summary": "Get Article Permissions By ID",
        "operationId": "getArticlePermissionsById",
        "tags": [
          "Article"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          }
        ],
        "description": "## Overview\n  * The Get Article Permission by ID permits a user to retrieve permissions associated to an article.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/articleReadableId"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ArticlePermissionsGetByIdResponse"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/articles/{articleID}/personalization": {
      "get": {
        "summary": "Get Article Personalization Details",
        "operationId": "getArticlePersonalization",
        "tags": [
          "Article"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          }
        ],
        "description": "## Overview\n  The Get Article Personalization Details API allows agents to retrieve the personalization tag details of an Article.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/articleReadableId"
          },
          {
            "$ref": "#/components/parameters/languageQueryParameter"
          },
          {
            "name": "workflowMilestone",
            "description": "Workflow milestone of the Article",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "authoring",
                "publish",
                "staging"
              ],
              "default": "publish",
              "description": "workflow milestone of the Article",
              "example": "publish"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetPersonalizationResponse"
          },
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "406": {
            "$ref": "#/components/responses/UnsupportedAcceptLanguageResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/portals/{portalID}/search/federated/event": {
      "post": {
        "summary": "Event For Viewed Federated Search Result",
        "operationId": "createFederatedSearchResultEvent",
        "tags": [
          "Federated Search Event"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          }
        ],
        "description": "## Overview\n   The Federated Search Event API creates an event for federated search results that have been viewed.\n  An event for viewing an: \n  * External web page cannot be created for a portal where the value for the \"Include Web Search Section in Search Results\" attribute is \"Yes\".\n  * Internal web page cannot be created for a portal where the value for the \"Include Intranet Search Section in Search Results\" attribute is \"Yes\".\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/contentType"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFederatedSearchEvent"
              },
              "examples": {
                "All attributes present": {
                  "value": {
                    "q": "India",
                    "resultType": "external",
                    "url": "https://beetle.egain.com/",
                    "title": "Welcome to India",
                    "languageCode": "en-US"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "415": {
            "$ref": "#/components/responses/415_unsupported_media_type"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/tagcategoriesforinterest": {
      "get": {
        "summary": "Get Tag Categories for Interest for a Portal",
        "operationId": "getTagCategoriesForInterestForPortal",
        "tags": [
          "Portal"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.read"
            ]
          }
        ],
        "description": "## Overview\n  The Get Tag Categories for Interest for a Portal API retrieves the Tag Categories for Interest configured for a portal.\n  * Tag Categories are ordered in order of their addition in the \"Tag Categories for Interest\" in the Portal configuration.\n  * Tags are ordered as per their order defined in their Tag Category.\n  * Tag Groups are sorted by their name, in ascending order.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          },
          {
            "$ref": "#/components/parameters/mandatoryLanguageQueryParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetTagCategoriesForInterestForPortal"
          },
          "204": {
            "description": "When no Tag Categories for Interest are configured for a Portal."
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/search/connectors/event": {
      "post": {
        "summary": "Event for Search Using Connectors",
        "operationId": "createSearchResultEventForConnectors",
        "tags": [
          "Connectors Search Events"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          }
        ],
        "description": "## Overview\n   The Event for Search Using Connectors API creates an event to initiate a search operation for retrieving content from external sources or integrations within the portal. \n   It allows users to set up search events based on specified criteria.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/contentType"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/createSearchResultEventForConnectors"
              },
              "examples": {
                "All attributes present": {
                  "value": {
                    "languageCode": "en-US",
                    "q": "India",
                    "numberOfSearchResults": 10
                  }
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "415": {
            "$ref": "#/components/responses/415_unsupported_media_type"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/portals/{portalID}/view/searchresults/connectors/event": {
      "post": {
        "summary": "Event for Viewed Search Results Using Connectors",
        "operationId": "createViewedSearchResultsEventForConnectors",
        "tags": [
          "Connectors Search Events"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          }
        ],
        "description": "## Overview\n   The Event for Viewed Search Results Using Connectors API creates an event to log when search results from external content are viewed. \n   This helps in tracking and analyzing user interactions with search results retrieved from various external sources.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/contentType"
          },
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "$ref": "#/components/parameters/xExtIntegrationId"
          },
          {
            "$ref": "#/components/parameters/xEgainActivityId"
          },
          {
            "$ref": "#/components/parameters/xExtInteractionId"
          },
          {
            "$ref": "#/components/parameters/portalReadableId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/createViewedSearchResultEventForConnectors"
              },
              "examples": {
                "All attributes present": {
                  "value": {
                    "languageCode": "en-US",
                    "q": "India",
                    "url": "https://beetle.egain.com/",
                    "title": "Welcome to India"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "$ref": "#/components/responses/204_common_no_content"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "415": {
            "$ref": "#/components/responses/415_unsupported_media_type"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/attachment/preupload": {
      "post": {
        "summary": "Generate Signed URL to Upload API",
        "operationId": "createSignedURL",
        "tags": [
          "Attachment"
        ],
        "security": [
          {
            "oAuthUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfUser": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          },
          {
            "oAuthOnBehalfOfCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage"
            ]
          },
          {
            "oAuthAnonymousCustomer": [
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage"
            ]
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/acceptLanguage"
          }
        ],
        "description": "## Overview\n   The Generate Signed URL to Upload API produces a signature that is used to upload an attachment. \n",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AttachmentUpload"
              },
              "examples": {
                "All attributes present": {
                  "value": {
                    "name": "article.png",
                    "size": 11889
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/AttachmentPreuploadResponse"
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "415": {
            "$ref": "#/components/responses/415_unsupported_media_type"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/content/export": {
      "post": {
        "x-hideReplay": true,
        "summary": "Export Knowledge",
        "operationId": "exportContent",
        "tags": [
          "Export"
        ],
        "security": [
          {
            "oAuthClient": [
              "https://api.egain.cloud/auth/.default"
            ]
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/acceptLanguage"
          }
        ],
        "description": "## Overview\n   The Content Export API initiates a bulk export of the Knowledge Hub to a client-provided Amazon S3 bucket or SFTP server path.\n   It returns a URL with a Job ID to enable tracking the status of this asynchronous operation.  \n   Each export job can send multiple JSON files, depending on the total number of items to process. \n   More than one bulk export can take place, as needed, one per portal.\n\n## Permission\n  * Only a client application can invoke this API.  \n  \n## License\n  * This API requires a site license (SKU: EG-CL-RTKA-PT).            \n",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeExport"
              },
              "examples": {
                "sftpDestination": {
                  "$ref": "#/components/examples/SftpDestinationExample"
                },
                "s3Destination": {
                  "$ref": "#/components/examples/S3DestinationExample"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "## A request was accepted and is being processed.\n\n## Expected Processing Time:\n  - Small jobs (< 1,000 items): 5-15 minutes\n  - Medium jobs (1,000-10,000 items): 15-60 minutes\n  - Large jobs (> 10,000 items): 1-4 hours (depending on content complexity)          \n",
            "headers": {
              "location": {
                "schema": {
                  "type": "string",
                  "example": "/knowledge/portalmgr/v4/content/export/7A84B875-6F75-4C7B-B137-0632B62DB0BD"
                },
                "description": "**Location Header**              \nThis header contains the URL to check the status of your validation job. The jobID (as in this example) is the unique identifier for tracking this operation.               ```\n"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400_common_bad_request"
          },
          "401": {
            "$ref": "#/components/responses/401_invalid_authorization"
          },
          "403": {
            "$ref": "#/components/responses/403_scope_not_assigned"
          },
          "404": {
            "$ref": "#/components/responses/404_common_not_found"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/content/export/{jobID}/status": {
      "get": {
        "summary": "Get Export Job Status",
        "x-hideReplay": true,
        "description": "## Overview\n   The Content Export Status API provides real-time status information to monitor job progress and check completion status.\n\n## Status Values\n- **Pending**: Job is pending start of processing\n- **In Progress**: Job is actively processing content        \n- **Completed**: Job finished successfully\n- **Failed**: Job encountered errors and could not complete\n\n## Response Information\n- **Current Status**: Real-time job status\n- **Progress Metrics**: Items processed, total items\n- **Error Details**: Specific errors encountered during processing\n- **Timing Information**: Start time, estimated completion, actual completion           \n\n## Permission\n  * Only a client application can invoke this API.  \n\n## License\n  * This API requires a site license (SKU: EG-CL-RTKA-PT).         \n",
        "operationId": "exportStatus",
        "tags": [
          "Export"
        ],
        "security": [
          {
            "oAuthClient": [
              "https://api.egain.cloud/auth/.default"
            ]
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/acceptLanguage"
          },
          {
            "name": "jobID",
            "in": "path",
            "description": "\n**Example Usage:**\n```bash\nGET /content/export/7A84B875-6F75-4C7B-B137-0632B62DB0BD/status\n```\n",
            "required": true,
            "schema": {
              "type": "string",
              "example": "7A84B875-6F75-4C7B-B137-0632B62DB0BD"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "## Job Status Retrieved Successfully\n\nThe current status and progress information for the specified export job.\n\n**Response Details:**\n- **Status**: Current job state (Pending, In Progress, Successful, etc.)\n- **Progress**: Number of items processed vs. total items\n- **Timing**: Start time and estimated completion time\n- **Errors**: Any validation or processing errors encountered          \n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExportStatus"
                },
                "examples": {
                  "Job Not Started": {
                    "summary": "Pending export job",
                    "description": "Shows an export job that is pending start of processing.",
                    "value": {
                      "status": "Pending"
                    }
                  },
                  "Job In Progress": {
                    "summary": "Active export job",
                    "description": "Shows an export job that is currently processing content.",
                    "value": {
                      "status": "In Progress",
                      "progress": {
                        "processed": 1500,
                        "total": 4500,
                        "percentage": 30
                      },
                      "startTime": "2025-09-15T10:00:00.000Z",
                      "estimatedCompletion": "2025-09-15T11:30:00.000Z"
                    }
                  },
                  "Completed Job": {
                    "summary": "Successfully completed job",
                    "description": "Shows a job that has finished processing.",
                    "value": {
                      "status": "Successful",
                      "progress": {
                        "processed": 4500,
                        "total": 4500,
                        "percentage": 100
                      },
                      "startTime": "2025-09-15T10:00:00.000Z",
                      "completionTime": "2025-09-15T11:25:00.000Z",
                      "results": {
                        "successful": 4485,
                        "warnings": 12,
                        "errors": 3
                      }
                    }
                  },
                  "Failed Job": {
                    "summary": "Job that encountered errors",
                    "description": "Shows a job that failed during processing.",
                    "value": {
                      "status": "Failed",
                      "progress": {
                        "processed": 1500,
                        "total": 4500,
                        "percentage": 30
                      },
                      "startTime": "2025-09-10T10:00:00.000Z",
                      "failureTime": "2025-09-10T10:45:00.000Z",
                      "error": "Connection timeout after processing 1500 items."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "EditionWithContentForExport": {
        "type": "object",
        "properties": {
          "id": {
            "description": "ID of the edition.",
            "type": "string",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$"
          },
          "name": {
            "description": "Name of the edition.",
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$"
          },
          "publishProfile": {
            "$ref": "#/components/schemas/PublishProfile"
          },
          "content": {
            "description": "The raw content of the article. The maximum allowed Article content size is 5 MB.",
            "type": "string",
            "pattern": "^[\\w\\W]*$",
            "minLength": 0,
            "maxLength": 5000000
          },
          "contentText": {
            "description": "Plain text version of the content. The maximum allowed Article content size is 5 MB.",
            "type": "string",
            "pattern": "^[\\w\\W]*$",
            "minLength": 0,
            "maxLength": 5000000
          },
          "accessTags": {
            "title": "accessTags",
            "type": "object",
            "properties": {
              "tagCategory": {
                "description": "An array of tag categories. Note that the total number of tag categories cannot exceed 20.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TagCategoryForExport"
                },
                "minItems": 0,
                "maxItems": 20
              }
            }
          },
          "link": {
            "$ref": "#/components/schemas/Link"
          }
        },
        "description": "This schema contains information about article edition.",
        "title": "Edition"
      },
      "ArticleType": {
        "title": "ArticleType",
        "type": "object",
        "description": "The type of the Article and its attributes.",
        "properties": {
          "articleCategoryId": {
            "description": "Specifies the article category ID.",
            "type": "integer",
            "format": "int64",
            "minimum": 0,
            "maximum": 7
          },
          "typeName": {
            "description": "Indicates the article type name.",
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$"
          },
          "useStructuredAuthoring": {
            "description": "Indicates whether structured authoring is enabled for this article type, requiring content to be created using predefined fields",
            "type": "boolean"
          },
          "articleTypeId": {
            "description": "The ID of the Article Type.",
            "type": "string",
            "minLength": 15,
            "maxLength": 20,
            "pattern": "^[0-9]+$",
            "example": "932100000002020"
          }
        }
      },
      "Link": {
        "type": "object",
        "title": "Link",
        "description": "Defines the relationship between this resource and another object.",
        "properties": {
          "rel": {
            "title": "rel",
            "description": "Defines the relationship between a linked resource and the current object.<br><br>For example: *self*, *prev*, *next* or an object name such as *'user'*, *'folder'* etc.",
            "type": "string",
            "pattern": "^[a-zA-Z]+$",
            "maxLength": 50
          },
          "href": {
            "title": "href",
            "description": "The URL that specifies the link's destination.",
            "type": "string",
            "pattern": "(\\/[^?#]*)",
            "maxLength": 1000
          }
        }
      },
      "ArticleAttachment": {
        "title": "Attachment",
        "properties": {
          "id": {
            "description": "The ID of the attachment.",
            "type": "string",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "example": "PROD-1001"
          },
          "name": {
            "description": "The name of the attachment.",
            "type": "string",
            "minLength": 1,
            "maxLength": 4000,
            "pattern": "^[\\w\\W]+$"
          },
          "size": {
            "type": "integer",
            "format": "int64",
            "description": "The size of the attachment in bytes. The maximum size is limited to 25MB.",
            "minimum": 1,
            "maximum": 26214400
          },
          "type": {
            "description": "The type of attachment.",
            "type": "string",
            "enum": [
              "INTERNAL",
              "EXTERNAL"
            ]
          },
          "link": {
            "$ref": "#/components/schemas/Link"
          }
        }
      },
      "Edition": {
        "type": "object",
        "properties": {
          "id": {
            "description": "The ID of the article edition.<br>An edition ID is composed of a 4-letter prefix, followed by a dash and 4-15 digits.",
            "type": "string",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$"
          },
          "name": {
            "description": "The alphanumeric name of the edition.",
            "type": "string",
            "minLength": 1,
            "maxLength": 510,
            "pattern": "^[\\w\\W]+$"
          },
          "isContentEdition": {
            "description": "<li>The presence of this element indicates that this edition is the one corresponding to the returned content.</li>\n<li>This can only be true for at most one <edition> element in the list of editions.</li>\n<li>This parameter must only be returned if article content is returned as well.</li>\n<li>The only allowed value is *true*. The absence of this parameter in the response indicates *false*.</li>",
            "type": "boolean"
          },
          "publishProfile": {
            "title": "Publish Profile",
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 7,
                "maxLength": 20,
                "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
                "description": "The ID of the Publish Profile.<br>An Publish Profile ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."
              },
              "name": {
                "properties": {},
                "description": "The name of the profile.",
                "type": "string",
                "minLength": 1,
                "maxLength": 255,
                "pattern": "^[a-zA-Z0-9]+$"
              }
            },
            "required": [
              "id",
              "name"
            ],
            "description": "The publish view associated with this edition."
          },
          "link": {
            "$ref": "#/components/schemas/Link"
          }
        },
        "description": "This schema contains information about an article edition.",
        "title": "Edition"
      },
      "createdBy": {
        "type": "object",
        "properties": {
          "id": {
            "description": "The ID of the user that created this resource.",
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 1,
            "maxLength": 8
          },
          "userName": {
            "type": "string",
            "description": "The resource creator's username.",
            "pattern": "^(?=(.*[a-zA-Z0-9_&@.\\-]){2,})[a-zA-Z0-9_&@.\\s\\-]+$",
            "minLength": 2,
            "maxLength": 255
          },
          "firstName": {
            "type": "string",
            "description": "The resource creator's first name.",
            "pattern": "^(?!\\s*$)(?!.*[~`!#$%\\^*=\\[\\];\"|<>\\/?+\\{\\}]).*$",
            "minLength": 1,
            "maxLength": 255
          },
          "middleName": {
            "type": "string",
            "description": "The resource creator's middle name.",
            "pattern": "^(?!.*[~`!#$%\\^*=\\[\\];\"|<>\\/?+\\{\\}])(\\s*\\S.*|)$",
            "minLength": 0,
            "maxLength": 255
          },
          "lastName": {
            "type": "string",
            "description": "The resource creator's last name.",
            "pattern": "^(?!\\s*$)(?!.*[~`!#$%\\^*=\\[\\];\"|<>\\/?+\\{\\}]).*$",
            "minLength": 1,
            "maxLength": 255
          }
        }
      },
      "modifiedBy": {
        "type": "object",
        "properties": {
          "id": {
            "description": "The ID of the user that modified this resource.",
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 1,
            "maxLength": 8
          },
          "userName": {
            "type": "string",
            "description": "The resource modifier's username.",
            "pattern": "^(?=(.*[a-zA-Z0-9_&@.\\-]){2,})[a-zA-Z0-9_&@.\\s\\-]+$",
            "minLength": 2,
            "maxLength": 255
          },
          "firstName": {
            "type": "string",
            "description": "The resource modifier's first name.",
            "pattern": "^(?!\\s*$)(?!.*[~`!#$%\\^*=\\[\\];\"|<>\\/?+\\{\\}]).*$",
            "minLength": 1,
            "maxLength": 255
          },
          "middleName": {
            "type": "string",
            "description": "The resource modifier's middle name.",
            "pattern": "^(?!.*[~`!#$%\\^*=\\[\\];\"|<>\\/?+\\{\\}])(\\s*\\S.*|)$",
            "minLength": 0,
            "maxLength": 255
          },
          "lastName": {
            "type": "string",
            "description": "The resource modifier's last name.",
            "pattern": "^(?!\\s*$)(?!.*[~`!#$%\\^*=\\[\\];\"|<>\\/?+\\{\\}]).*$",
            "minLength": 1,
            "maxLength": 255
          }
        }
      },
      "ownedBy": {
        "type": "object",
        "properties": {
          "id": {
            "description": "The ID of the user that owns this resource.",
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 1,
            "maxLength": 8
          },
          "userName": {
            "type": "string",
            "description": "The resource owner's username.",
            "pattern": "^(?=(.*[a-zA-Z0-9_&@.\\-]){2,})[a-zA-Z0-9_&@.\\s\\-]+$",
            "minLength": 2,
            "maxLength": 255
          },
          "firstName": {
            "type": "string",
            "description": "The resource owner's first name.",
            "pattern": "^(?!\\s*$)(?!.*[~`!#$%\\^*=\\[\\];\"|<>\\/?+\\{\\}]).*$",
            "minLength": 1,
            "maxLength": 255
          },
          "middleName": {
            "type": "string",
            "description": "The resource owner's middle name.",
            "pattern": "^(?!.*[~`!#$%\\^*=\\[\\];\"|<>\\/?+\\{\\}])(\\s*\\S.*|)$",
            "minLength": 0,
            "maxLength": 255
          },
          "lastName": {
            "type": "string",
            "description": "The resource owner's last name.",
            "pattern": "^(?!\\s*$)(?!.*[~`!#$%\\^*=\\[\\];\"|<>\\/?+\\{\\}]).*$",
            "minLength": 1,
            "maxLength": 255
          }
        }
      },
      "CustomAttribute": {
        "type": "object",
        "properties": {
          "name": {
            "description": "The custom attribute's name.",
            "type": "string",
            "pattern": "^[\\w\\W]+$",
            "minLength": 1,
            "maxLength": 4000
          },
          "value": {
            "description": "The custom attribute's values.",
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[\\w\\W]*$",
              "minLength": 0,
              "maxLength": 4000
            }
          },
          "type": {
            "description": "The custom attribute's type.",
            "type": "string",
            "enum": [
              "STRING",
              "INTEGER",
              "BOOLEAN",
              "DATETIME"
            ]
          }
        },
        "additionalProperties": false
      },
      "languageCode": {
        "type": "string",
        "description": "Language code of the resource's language.",
        "enum": [
          "en-US",
          "fr-FR",
          "en-GB",
          "es-ES",
          "it-IT",
          "nl-NL",
          "da-DA",
          "sv-SE",
          "pt-PT",
          "fi-FI",
          "no-NB",
          "no-NN",
          "ja-JA",
          "de-DE",
          "pt-BR",
          "zh-CN",
          "zh-TW",
          "ko-KO",
          "ru-RU",
          "el-EL",
          "tr-TR",
          "pl-PL",
          "cs-CS",
          "sk-SK",
          "hu-HU",
          "sr-SR",
          "ar-SA",
          "hr-HR",
          "ro-RO",
          "th-TH"
        ]
      },
      "L10NString": {
        "type": "object",
        "title": "L10NString",
        "properties": {
          "value": {
            "title": "value",
            "description": "A string that indicates the value.",
            "type": "string",
            "minLength": 0,
            "maxLength": 255,
            "pattern": "^[\\w\\W]*$"
          },
          "displayValue": {
            "title": "displayValue",
            "description": "Localized string of the value element.",
            "type": "string",
            "minLength": 0,
            "maxLength": 255,
            "pattern": "^[\\w\\W]*$"
          }
        }
      },
      "StructuredAuthoringFields": {
        "type": "object",
        "properties": {
          "confidenceLevel": {
            "$ref": "#/components/schemas/L10NString"
          },
          "issue": {
            "description": "Describes the problem, symptom, or question the article addresses.",
            "type": "string"
          },
          "environment": {
            "description": "Specifies the relevant product(s), category, or business process tied to the issue.",
            "type": "string"
          },
          "cause": {
            "description": "Identifies the underlying cause of the issue.",
            "type": "string"
          }
        }
      },
      "TopicSummary": {
        "title": "Topic Summary",
        "type": "object",
        "description": "This schema contains the topic ID and name of the topics. This is used by TopicBreadcrumb.",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "description": "The alphanumeric ID of the topic.<br><br>A topic ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.",
            "minLength": 7,
            "maxLength": 20,
            "example": "PROD-1921"
          },
          "name": {
            "type": "string",
            "description": "The name of the topic.",
            "pattern": "^[\\w\\W]*$",
            "minLength": 1,
            "maxLength": 255
          },
          "link": {
            "$ref": "#/components/schemas/Link"
          }
        }
      },
      "TopicBreadcrumb": {
        "title": "Topic Breadcrumb",
        "type": "object",
        "description": "This schema contains one or more TopicSummary instances.",
        "properties": {
          "topicSummary": {
            "items": {
              "$ref": "#/components/schemas/TopicSummary"
            },
            "description": "An instance of TopicSummary.",
            "type": "array"
          }
        }
      },
      "MilestoneName": {
        "type": "object",
        "title": "Name",
        "description": "The identifiers of the milestone.",
        "properties": {
          "value": {
            "type": "string",
            "description": "The name of the milestone.",
            "minLength": 6,
            "maxLength": 10,
            "pattern": "^[a-zA-Z]+$"
          },
          "displayValue": {
            "type": "string",
            "description": "The readable name of the milestone.",
            "minLength": 1,
            "maxLength": 35,
            "pattern": "^[\\w\\W]*$"
          }
        }
      },
      "Milestone": {
        "type": "object",
        "title": "Milestone",
        "description": "A resource's workflow milestone.",
        "properties": {
          "name": {
            "$ref": "#/components/schemas/MilestoneName"
          }
        }
      },
      "Stage": {
        "type": "object",
        "title": "stage",
        "description": "A stage in the Article's workflow.",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the stage.",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[a-zA-Z0-9]+$"
          },
          "milestone": {
            "$ref": "#/components/schemas/Milestone"
          }
        }
      },
      "Workflow": {
        "title": "Workflow",
        "description": "The Article's workflow.",
        "type": "object",
        "properties": {
          "stages": {
            "items": {
              "$ref": "#/components/schemas/Stage"
            },
            "type": "array",
            "description": "An array of stages for the workflow."
          }
        }
      },
      "ComplianceForArticle": {
        "title": "Compliance",
        "description": "This schema contains the compliance details for an Article.",
        "type": "object",
        "properties": {
          "startDate": {
            "type": "object",
            "title": "DateAndTime",
            "required": [
              "date"
            ],
            "properties": {
              "date": {
                "title": "date",
                "description": "The date in the format <code>YYYY-MM-DDTHH:MM:SS</code>.",
                "type": "string",
                "format": "date-time",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$"
              }
            },
            "description": "The start date for the Article."
          },
          "dueDate": {
            "type": "object",
            "title": "DateAndTime",
            "required": [
              "date"
            ],
            "properties": {
              "date": {
                "title": "date",
                "description": "The date in the format <code>YYYY-MM-DDTHH:MM:SS</code>.",
                "type": "string",
                "format": "date-time",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$"
              }
            },
            "description": "The end date for the Article."
          }
        }
      },
      "Tag": {
        "title": "Tag",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "Blue",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[a-zA-Z0-9 ]+$"
          },
          "id": {
            "type": "string",
            "example": "PROD-13206",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$"
          }
        }
      },
      "Tags": {
        "title": "Tags",
        "type": "object",
        "properties": {
          "tag": {
            "description": "An array of tags.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            },
            "minItems": 0
          }
        }
      },
      "TagGroup": {
        "title": "TagGroup",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[a-zA-Z0-9 ]+$"
          },
          "id": {
            "type": "string",
            "example": "PROD-14566",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$"
          }
        }
      },
      "TagGroups": {
        "title": "TagGroups",
        "type": "object",
        "properties": {
          "tagGroup": {
            "description": "An array of tag groups.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TagGroup"
            },
            "minItems": 0
          }
        }
      },
      "TagCategory": {
        "title": "TagCategory",
        "description": "A tag category is a grouping of tags and tag groups.",
        "type": "object",
        "properties": {
          "name": {
            "description": "The name of the tag category.",
            "type": "string",
            "pattern": "^[a-zA-Z0-9 ]+$",
            "minLength": 1,
            "maxLength": 255
          },
          "id": {
            "description": "The ID of the tag category. A tag category ID is composed of a 4-letter prefix, followed by a dash and 4-15 digits.",
            "type": "string",
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "minLength": 6,
            "maxLength": 20
          },
          "tags": {
            "$ref": "#/components/schemas/Tags"
          },
          "tagGroups": {
            "$ref": "#/components/schemas/TagGroups"
          }
        }
      },
      "PublishView": {
        "title": "PublishView",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "name of the publish view",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[a-zA-Z0-9 ]+$"
          },
          "id": {
            "type": "string",
            "example": "PROD-12446",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$"
          },
          "tagCategories": {
            "description": "Tag categories are comprised of both tags and tag groups.<br><br>Note that the total number of tag and tag groups cannot exceed 20.",
            "type": "array",
            "items": {
              "properties": {
                "tagCategory": {
                  "type": "array",
                  "maxItems": 20,
                  "items": {
                    "$ref": "#/components/schemas/TagCategory"
                  }
                }
              }
            }
          }
        }
      },
      "Personalization": {
        "type": "object",
        "title": "Personalization",
        "description": "Personalization allows the filtering of search results and controls the access to articles and article editions.",
        "properties": {
          "accessTags": {
            "title": "accessTags",
            "type": "object",
            "properties": {
              "tagCategory": {
                "description": "An array of tag categories. Note that the total number of tag categories cannot exceed 20.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TagCategory"
                },
                "minItems": 0,
                "maxItems": 20
              }
            }
          },
          "filters": {
            "title": "filters",
            "type": "object",
            "properties": {
              "tagCategory": {
                "description": "An array of tag categories. Note that the total number of tag categories cannot exceed 20.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TagCategory"
                },
                "minItems": 0,
                "maxItems": 20
              }
            }
          },
          "publishViews": {
            "title": "publishViews",
            "type": "object",
            "properties": {
              "publishView": {
                "description": "Publish views allow authors to tailor the contents of an article to different audiences by controlling visibility of certain article content using tags.<br><br>The total number of publish views is limited to 20.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PublishView"
                },
                "minItems": 0,
                "maxItems": 20
              }
            }
          }
        }
      },
      "schemas-Link": {
        "type": "object",
        "title": "Link",
        "properties": {
          "rel": {
            "title": "rel",
            "description": "Defines the relationship between a linked resource and the current document.<br><br>For example: self, prev, next or an object name such as 'user', 'folder' etc.",
            "allOf": [
              {
                "type": "string",
                "pattern": "^[a-zA-Z]+$",
                "maxLength": 50
              }
            ]
          },
          "href": {
            "title": "href",
            "description": "The URL that specifies the link's destination.",
            "allOf": [
              {
                "type": "string",
                "maxLength": 1000
              }
            ]
          },
          "_default": {
            "title": "_default",
            "description": "Determines if this is a default link.",
            "allOf": [
              {
                "type": "boolean"
              }
            ]
          }
        }
      },
      "FolderSummary": {
        "title": "Folder Summary",
        "type": "object",
        "description": "This schema contains the topic ID and name of the Folder. This is used by FolderBreadcrumb.",
        "properties": {
          "id": {
            "type": "integer",
            "description": "ID of the folder."
          },
          "name": {
            "type": "string",
            "description": "Name of the folder."
          },
          "link": {
            "$ref": "#/components/schemas/schemas-Link"
          }
        }
      },
      "FolderBreadcrumb": {
        "title": "Folder Breadcrumb",
        "type": "object",
        "description": "This schema contains one or more FolderSummary instances.",
        "properties": {
          "folderSummary": {
            "items": {
              "$ref": "#/components/schemas/FolderSummary"
            },
            "description": "An instance of FolderSummary.",
            "type": "array"
          }
        }
      },
      "BookmarkStatus": {
        "title": "BookmarkStatus",
        "type": "object",
        "description": "Article Bookmark Status",
        "required": [
          "isBookmarked"
        ],
        "properties": {
          "isBookmarked": {
            "type": "boolean",
            "description": "Indicates whether the Article is bookmarked"
          },
          "bookmarkID": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "description": "The ID of the Bookmark, if Article is bookmarked."
          },
          "folderBreadcrumb": {
            "$ref": "#/components/schemas/FolderBreadcrumb"
          }
        }
      },
      "Article": {
        "title": "Article",
        "type": "object",
        "required": [
          "id",
          "name",
          "createdBy",
          "topicBreadcrumb"
        ],
        "properties": {
          "id": {
            "type": "string",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "description": "The ID of the Article.<br>An Article ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."
          },
          "additionalInfo": {
            "description": "Additional information about the Article. Max 1 KB.",
            "type": "string",
            "maxLength": 1024,
            "pattern": "^[\\w\\W]*$"
          },
          "articleMacro": {
            "description": "The name of the macro associated with this Article.",
            "type": "string",
            "minLength": 0,
            "maxLength": 255,
            "pattern": "^[^\\s<>`,.?;&\"'!/+]*$"
          },
          "articleType": {
            "$ref": "#/components/schemas/ArticleType"
          },
          "articleKeywords": {
            "description": "A comma-separated list of keywords associated with this Article. 1 KB max size limit.",
            "type": "string",
            "minLength": 0,
            "maxLength": 1024,
            "pattern": "^[\\w\\W]*$"
          },
          "articleSummary": {
            "description": "A brief summary of the Article, provided as metadata. 1 KB max size limit.",
            "type": "string",
            "maxLength": 1024,
            "pattern": "^[\\w\\W]*$"
          },
          "attachments": {
            "description": "The attachments of the Article.\n",
            "items": {
              "$ref": "#/components/schemas/ArticleAttachment"
            },
            "type": "array",
            "minItems": 0,
            "maxItems": 50
          },
          "availabilityDate": {
            "type": "string",
            "description": "The date on which the Article version is available.",
            "format": "DateAndTime",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$",
            "minLength": 20,
            "maxLength": 25
          },
          "availableEditions": {
            "description": "The editions of this Article that are available to the user.",
            "items": {
              "$ref": "#/components/schemas/Edition"
            },
            "type": "array",
            "maxItems": 20
          },
          "averageRating": {
            "format": "double",
            "description": "The average rating of the Article.",
            "type": "number",
            "minimum": 0,
            "maximum": 100
          },
          "content": {
            "description": "The Article content. The maximum allowed Article content size is 5 MB.",
            "type": "string",
            "pattern": "^[\\w\\W]*$",
            "minLength": 0,
            "maxLength": 5000000
          },
          "contentText": {
            "description": "The plaintext version of the Article content, which does not have the HTML tags and rich formatting present in *content*. The maximum allowed Article content size is 5 MB.",
            "type": "string",
            "pattern": "^[\\w\\W]*$",
            "minLength": 0,
            "maxLength": 5000000
          },
          "createdBy": {
            "$ref": "#/components/schemas/createdBy"
          },
          "modifiedBy": {
            "$ref": "#/components/schemas/modifiedBy"
          },
          "ownedBy": {
            "$ref": "#/components/schemas/ownedBy"
          },
          "createdDate": {
            "type": "string",
            "format": "DateAndTime",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$",
            "minLength": 20,
            "maxLength": 25
          },
          "customAttributes": {
            "items": {
              "$ref": "#/components/schemas/CustomAttribute"
            },
            "description": "A list of custom attributes.",
            "type": "array",
            "minItems": 0,
            "maxItems": 15
          },
          "departmentID": {
            "description": "ID of the Article's department.",
            "type": "string",
            "pattern": "^999$|^[1-9][0-9]{3,8}$",
            "minLength": 3,
            "maxLength": 9
          },
          "description": {
            "description": "A description of the Article. The maximum allowed Article description size is 1 KB.",
            "type": "string",
            "minLength": 0,
            "maxLength": 1000,
            "pattern": "^[\\w\\W]*$"
          },
          "expirationDate": {
            "description": "Date of Article expiration if Article expires otherwise empty.",
            "type": "string",
            "format": "DateAndTime",
            "pattern": "^(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z)?$",
            "minLength": 0,
            "maxLength": 25
          },
          "imageURL": {
            "description": "The URL of an image to be associated with the Article.",
            "type": "string",
            "minLength": 0,
            "maxLength": 2000,
            "pattern": "^(https?|ftp):\\/\\/[^\\s/$.?#].[^\\s]*$|^$"
          },
          "includeInGenAI": {
            "type": "boolean",
            "description": "Indicates whether the Article is included for Generative AI."
          },
          "isSubscribed": {
            "description": "Indicates whether the Article is subscribed for notifications.",
            "type": "boolean"
          },
          "modifiedDate": {
            "description": "The date on which the Article was last modified.",
            "type": "string",
            "format": "DateAndTime",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$",
            "minLength": 20,
            "maxLength": 25
          },
          "languageCode": {
            "$ref": "#/components/schemas/languageCode"
          },
          "link": {
            "$ref": "#/components/schemas/Link"
          },
          "name": {
            "description": "The name of the Article.",
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$"
          },
          "structuredAuthoringFields": {
            "$ref": "#/components/schemas/StructuredAuthoringFields"
          },
          "articleState": {
            "description": "The Article's state.",
            "type": "string",
            "minLength": 1,
            "maxLength": 1
          },
          "timesRated": {
            "description": "The number of times that this Article has been rated.",
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "topicBreadcrumb": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TopicBreadcrumb"
            },
            "minItems": 1,
            "maxItems": 50,
            "description": "A list of topics from the root topic to this Article. There may be multiple paths."
          },
          "versionId": {
            "description": "The ID of this version of the Article.",
            "type": "string",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$"
          },
          "workflow": {
            "$ref": "#/components/schemas/Workflow"
          },
          "compliance": {
            "$ref": "#/components/schemas/ComplianceForArticle"
          },
          "personalization": {
            "$ref": "#/components/schemas/Personalization"
          },
          "bookmarkStatus": {
            "$ref": "#/components/schemas/BookmarkStatus"
          }
        }
      },
      "WSErrorCommon": {
        "type": "object",
        "title": "Error Response",
        "required": [
          "code",
          "developerMessage"
        ],
        "properties": {
          "code": {
            "title": "Code Identifier",
            "description": "A string that follows the pattern *{integer}-{integer}*.\n\nThe first *{integer}* is the http status code.  This code as a whole is unique.\n* For example, error codes \"400-101\" and \"404-101\" are distinctly different.\n",
            "type": "string"
          },
          "developerMessage": {
            "title": "Developer Message",
            "description": "A summary of the error.",
            "type": "string",
            "minLength": 0,
            "maxLength": 2048
          },
          "details": {
            "title": "Response Details",
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "key"
              ],
              "properties": {
                "key": {
                  "title": "Key",
                  "type": "string",
                  "minLength": 0,
                  "maxLength": 255
                },
                "value": {
                  "title": "Value",
                  "type": "string",
                  "minLength": 0,
                  "maxLength": 255
                }
              }
            },
            "minItems": 0,
            "maxItems": 30
          },
          "userMessage": {
            "title": "User Message",
            "description": "UI friendly messages are only supported by some APIs.  \n  * The client must explicitly request UI friendly messages by passing the *X-egain-error-message=yes* header.\n",
            "type": "string",
            "minLength": 0,
            "maxLength": 1024
          }
        }
      },
      "RelatedQuestions": {
        "type": "object",
        "description": "Related questions for the article.",
        "properties": {
          "relatedQuestion": {
            "type": "array",
            "description": "An array of related questions.",
            "items": {
              "type": "string"
            }
          },
          "count": {
            "type": "integer",
            "format": "int32",
            "description": "The total count of related questions for the article."
          }
        }
      },
      "ArticleWithEditions": {
        "title": "Article With Editions",
        "type": "object",
        "required": [
          "id",
          "name",
          "createdBy"
        ],
        "properties": {
          "id": {
            "type": "string",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "description": "The ID of the Article.<br>An Article ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."
          },
          "additionalInfo": {
            "description": "Additional information about the Article. Max 1 KB.",
            "type": "string",
            "maxLength": 1024,
            "pattern": "^[\\w\\W]*$"
          },
          "articleMacro": {
            "description": "The name of the macro associated with this Article.",
            "type": "string",
            "minLength": 0,
            "maxLength": 255,
            "pattern": "^[^\\s<>`,.?;&\"'!/+]*$"
          },
          "articleType": {
            "$ref": "#/components/schemas/ArticleType"
          },
          "articleKeywords": {
            "description": "A comma-separated list of keywords associated with this Article. 1 KB max size limit.",
            "type": "string",
            "minLength": 0,
            "maxLength": 1024,
            "pattern": "^[\\w\\W]*$"
          },
          "articleSummary": {
            "description": "A brief summary of the Article, provided as metadata. 1 KB max size limit.",
            "type": "string",
            "maxLength": 1024,
            "pattern": "^[\\w\\W]*$"
          },
          "attachments": {
            "description": "The attachments of the Article.\n",
            "items": {
              "$ref": "#/components/schemas/ArticleAttachment"
            },
            "type": "array",
            "minItems": 0,
            "maxItems": 50
          },
          "availabilityDate": {
            "type": "string",
            "description": "The date on which the Article version is available.",
            "format": "DateAndTime",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$",
            "minLength": 20,
            "maxLength": 25
          },
          "availableEditions": {
            "description": "The editions of this Article that are available to the user.",
            "items": {
              "$ref": "#/components/schemas/Edition"
            },
            "type": "array",
            "maxItems": 20
          },
          "averageRating": {
            "format": "double",
            "description": "The average rating of the Article.",
            "type": "number",
            "minimum": 0,
            "maximum": 100
          },
          "content": {
            "description": "The Article content. The maximum allowed Article content size is 5 MB.",
            "type": "string",
            "pattern": "^[\\w\\W]*$",
            "minLength": 0,
            "maxLength": 5000000
          },
          "contentText": {
            "description": "The plaintext version of the Article content, which does not have the HTML tags and rich formatting present in *content*. The maximum allowed Article content size is 5 MB.",
            "type": "string",
            "pattern": "^[\\w\\W]*$",
            "minLength": 0,
            "maxLength": 5000000
          },
          "createdBy": {
            "$ref": "#/components/schemas/createdBy"
          },
          "modifiedBy": {
            "$ref": "#/components/schemas/modifiedBy"
          },
          "ownedBy": {
            "$ref": "#/components/schemas/ownedBy"
          },
          "createdDate": {
            "description": "The date on which the Article was created. The timezone of the date will be in UTC.",
            "type": "string",
            "format": "DateAndTime",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$",
            "minLength": 20,
            "maxLength": 25
          },
          "customAttributes": {
            "items": {
              "$ref": "#/components/schemas/CustomAttribute"
            },
            "description": "A list of custom attributes.",
            "type": "array",
            "minItems": 0,
            "maxItems": 15
          },
          "departmentID": {
            "description": "ID of the Article's department.",
            "type": "string",
            "pattern": "^999$|^[1-9][0-9]{3,8}$",
            "minLength": 3,
            "maxLength": 9
          },
          "description": {
            "description": "A description of the Article. The maximum allowed Article description size is 1 KB.",
            "type": "string",
            "minLength": 0,
            "maxLength": 1000,
            "pattern": "^[\\w\\W]*$"
          },
          "expirationDate": {
            "description": "Date of Article expiration if Article expires otherwise empty.",
            "type": "string",
            "format": "DateAndTime",
            "pattern": "^(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z)?$",
            "minLength": 0,
            "maxLength": 25
          },
          "imageURL": {
            "description": "The URL of an image to be associated with the Article.",
            "type": "string",
            "minLength": 0,
            "maxLength": 2000,
            "pattern": "^(https?|ftp):\\/\\/[^\\s/$.?#].[^\\s]*$|^$"
          },
          "includeInGenAI": {
            "type": "boolean",
            "description": "Indicates whether the Article is included for Generative AI."
          },
          "isSubscribed": {
            "description": "Indicates whether the Article is subscribed for notifications.",
            "type": "boolean"
          },
          "modifiedDate": {
            "description": "The date on which the Article was last modified. The timezone of the date will be in UTC.",
            "type": "string",
            "format": "DateAndTime",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$",
            "minLength": 20,
            "maxLength": 25
          },
          "languageCode": {
            "$ref": "#/components/schemas/languageCode"
          },
          "link": {
            "$ref": "#/components/schemas/Link"
          },
          "name": {
            "description": "The name of the Article.",
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$"
          },
          "structuredAuthoringFields": {
            "$ref": "#/components/schemas/StructuredAuthoringFields"
          },
          "articleState": {
            "description": "The Article's state.",
            "type": "string",
            "minLength": 1,
            "maxLength": 1
          },
          "timesRated": {
            "description": "The number of times that this Article has been rated.",
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "relatedQuestions": {
            "$ref": "#/components/schemas/RelatedQuestions"
          },
          "versionId": {
            "description": "The ID of this version of the Article.",
            "type": "string",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$"
          },
          "workflow": {
            "$ref": "#/components/schemas/Workflow"
          },
          "personalization": {
            "$ref": "#/components/schemas/Personalization"
          }
        }
      },
      "PublishProfile": {
        "title": "Publish Profile",
        "type": "object",
        "description": "This schema contains information about Profile.",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "description": "The ID of the Publish Profile.<br>An Publish Profile ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."
          },
          "name": {
            "properties": {},
            "description": "The name of the profile.",
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[a-zA-Z0-9]+$"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "schemas-TagGroup": {
        "title": "TagGroup",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "PROD-14566",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "description": "The unique identifier for the tag group."
          },
          "name": {
            "type": "string",
            "description": "Name of the tag group.",
            "pattern": "^[\\w\\W]+$",
            "minLength": 1,
            "maxLength": 255
          },
          "tagGroup": {
            "items": {
              "$ref": "#/components/schemas/schemas-TagGroup"
            },
            "type": "array"
          },
          "tag": {
            "items": {
              "$ref": "#/components/schemas/schemas-Tag"
            },
            "type": "array"
          }
        }
      },
      "schemas-Tag": {
        "title": "Tag",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "PROD-13206",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "description": "The unique identifier for the tag."
          },
          "name": {
            "type": "string",
            "example": "Blue",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "description": "The name of the tag."
          }
        }
      },
      "UserView": {
        "title": "User",
        "type": "object",
        "properties": {
          "link": {
            "title": "link",
            "description": "The link to the user.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Link"
            },
            "minItems": 1,
            "maxItems": 1
          },
          "firstName": {
            "title": "firstName",
            "description": "The first name of the user.",
            "type": "string",
            "pattern": "^[\\w\\W]+$",
            "minLength": 1,
            "maxLength": 255
          },
          "lastName": {
            "title": "lastName",
            "description": "The last name of the user.",
            "type": "string",
            "pattern": "^[\\w\\W]+$",
            "minLength": 1,
            "maxLength": 255
          },
          "id": {
            "title": "id",
            "description": "The ID of the user.",
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 1,
            "maxLength": 9
          }
        }
      },
      "schemas-TagCategory": {
        "title": "TagCategory",
        "type": "object",
        "properties": {
          "name": {
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "type": "string",
            "description": "name of the tag category."
          },
          "tagGroup": {
            "items": {
              "$ref": "#/components/schemas/schemas-TagGroup"
            },
            "type": "array"
          },
          "tag": {
            "items": {
              "$ref": "#/components/schemas/schemas-Tag"
            },
            "type": "array"
          },
          "created": {
            "type": "object",
            "title": "DateAndTime",
            "required": [
              "date"
            ],
            "properties": {
              "user": {
                "$ref": "#/components/schemas/UserView"
              },
              "date": {
                "title": "date",
                "description": "The date in the format <code>YYYY-MM-DDTHH:MM:SS</code>.",
                "type": "string",
                "format": "date-time",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$"
              }
            },
            "description": "Date the Tag Category was created."
          },
          "lastModified": {
            "type": "object",
            "title": "DateAndTime",
            "required": [
              "date"
            ],
            "properties": {
              "user": {
                "$ref": "#/components/schemas/UserView"
              },
              "date": {
                "title": "date",
                "description": "The date in the format <code>YYYY-MM-DDTHH:MM:SS</code>.",
                "type": "string",
                "format": "date-time",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$"
              }
            },
            "description": "Date of last modification."
          }
        }
      },
      "EditionWithContent": {
        "type": "object",
        "properties": {
          "id": {
            "description": "ID of the edition.",
            "type": "string",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$"
          },
          "name": {
            "description": "Name of the edition.",
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$"
          },
          "publishProfile": {
            "$ref": "#/components/schemas/PublishProfile"
          },
          "content": {
            "description": "The raw content of the article. The maximum allowed Article content size is 5 MB.",
            "type": "string",
            "pattern": "^[\\w\\W]*$",
            "minLength": 0,
            "maxLength": 5000000
          },
          "contentText": {
            "description": "Plain text version of the content. The maximum allowed Article content size is 5 MB.",
            "type": "string",
            "pattern": "^[\\w\\W]*$",
            "minLength": 0,
            "maxLength": 5000000
          },
          "accessTags": {
            "title": "accessTags",
            "type": "object",
            "properties": {
              "tagCategory": {
                "description": "An array of tag categories. Note that the total number of tag categories cannot exceed 20.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/schemas-TagCategory"
                },
                "minItems": 0,
                "maxItems": 20
              }
            }
          },
          "link": {
            "$ref": "#/components/schemas/Link"
          }
        },
        "description": "This schema contains information about article edition.",
        "title": "Edition"
      },
      "ArticleTypeInfo": {
        "title": "Article Type",
        "type": "object",
        "properties": {
          "articleCategoryId": {
            "description": "Specifies the article category ID.",
            "type": "integer",
            "format": "int32",
            "minimum": 0,
            "maximum": 7
          },
          "typeName": {
            "description": "Indicates the article type name.",
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$"
          },
          "useStructuredAuthoring": {
            "description": "Indicates whether structured authoring is enabled for this article type, requiring content to be created using predefined fields",
            "type": "boolean"
          },
          "articleTypeId": {
            "description": "The ID of the Article Type.",
            "type": "string",
            "minLength": 15,
            "maxLength": 20,
            "pattern": "^[0-9]+$",
            "example": "932100000002020"
          },
          "imageURL": {
            "description": "The URL of an image to be associated with the Article Type",
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "pattern": "^(?:https?:\\/\\/|\\/\\/|\\/|\\.\\.?\\/|[a-zA-Z0-9])[\\w\\-\\.\\/%\\?=#&:]*$"
          },
          "description": {
            "description": "Description of Article Type",
            "type": "string",
            "minLength": 0,
            "maxLength": 2000,
            "pattern": "^[\\w\\W]*$"
          },
          "isSearchable": {
            "description": "Indicates whether articles of this type are included in portal search results",
            "type": "boolean"
          },
          "isBrowsable": {
            "description": "Indicates whether articles of this type are displayed in portal browsing areas such as topics and lists",
            "type": "boolean"
          }
        }
      },
      "ArticleTypes": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ArticleTypeInfo"
        },
        "maxItems": 250
      },
      "TopicBreadcrumbsList": {
        "title": "Topic Breadcrumbs List",
        "type": "object",
        "description": "This schema contains an array of topic breadcrumbs, allowing clients to distinguish between multiple distinct hierarchical topic paths.",
        "properties": {
          "topicBreadcrumb": {
            "items": {
              "$ref": "#/components/schemas/TopicBreadcrumb"
            },
            "description": "An array of TopicBreadcrumb instances representing individual paths.",
            "type": "array"
          }
        }
      },
      "ArticleActivityLink": {
        "type": "object",
        "required": [
          "versionId",
          "language"
        ],
        "title": "ArticleActivityLink",
        "properties": {
          "versionId": {
            "type": "string",
            "description": "An Article version's ID.",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$"
          },
          "editionId": {
            "description": "An Article edition's ID.",
            "type": "string",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$"
          },
          "language": {
            "type": "object",
            "title": "Language",
            "required": [
              "code"
            ],
            "properties": {
              "code": {
                "description": "The code of the language.",
                "type": "string",
                "enum": [
                  "en-US",
                  "fr-FR",
                  "en-GB",
                  "es-ES",
                  "it-IT",
                  "nl-NL",
                  "da-DA",
                  "sv-SE",
                  "pt-PT",
                  "fi-FI",
                  "no-NB",
                  "no-NN",
                  "ja-JA",
                  "de-DE",
                  "pt-BR",
                  "zh-CN",
                  "zh-TW",
                  "ko-KO",
                  "ru-RU",
                  "el-EL",
                  "tr-TR",
                  "pl-PL",
                  "cs-CS",
                  "sk-SK",
                  "hu-HU",
                  "sr-SR",
                  "ar-SA",
                  "hr-HR",
                  "ro-RO",
                  "th-TH",
                  "de-AT",
                  "vi-VN",
                  "id-ID",
                  "ms-MY",
                  "fil-PH",
                  "fr-CA",
                  "hi-IN",
                  "uk-UA",
                  "bg-BG",
                  "sl-SI",
                  "xx-XX"
                ]
              }
            },
            "description": "The knowledge base language in which the version is created."
          }
        },
        "example": {
          "editionId": "PROD-13015",
          "versionId": "PROD-12416",
          "language": {
            "code": "en-US"
          }
        }
      },
      "ArticleResult": {
        "title": "ArticleResult",
        "type": "object",
        "description": "Article search result, a subset of Article that does not contain content and contentText.",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "description": "The ID of the Article.<br>An Article ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."
          },
          "articleType": {
            "$ref": "#/components/schemas/ArticleType"
          },
          "articleKeywords": {
            "description": "A comma-separated list of keywords associated with this Article. 1 KB max size limit.",
            "type": "string",
            "minLength": 0,
            "maxLength": 1024,
            "pattern": "^[\\w\\W]*$"
          },
          "articleSummary": {
            "description": "A brief summary of the Article, provided as metadata. 1 KB max size limit.",
            "type": "string",
            "maxLength": 1024,
            "pattern": "^[\\w\\W]*$"
          },
          "averageRating": {
            "format": "double",
            "description": "The average rating of the Article.",
            "type": "number",
            "minimum": 0,
            "maximum": 100
          },
          "createdBy": {
            "$ref": "#/components/schemas/createdBy"
          },
          "modifiedBy": {
            "$ref": "#/components/schemas/modifiedBy"
          },
          "ownedBy": {
            "$ref": "#/components/schemas/ownedBy"
          },
          "createdDate": {
            "type": "string",
            "format": "DateAndTime",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$",
            "minLength": 20,
            "maxLength": 25
          },
          "customAttributes": {
            "items": {
              "$ref": "#/components/schemas/CustomAttribute"
            },
            "description": "A list of custom attributes.",
            "type": "array",
            "minItems": 0,
            "maxItems": 15
          },
          "description": {
            "description": "A description of the Article. The maximum allowed Article description size is 1 KB.",
            "type": "string",
            "minLength": 0,
            "maxLength": 1000,
            "pattern": "^[\\w\\W]*$"
          },
          "hasAttachments": {
            "description": "Indicates whether the Article has any attachments.",
            "type": "boolean"
          },
          "isSubscribed": {
            "description": "Indicates whether the Article is subscribed for notifications.",
            "type": "boolean"
          },
          "modifiedDate": {
            "description": "The date on which the Article was last modified.",
            "type": "string",
            "format": "DateAndTime",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$",
            "minLength": 20,
            "maxLength": 25
          },
          "languageCode": {
            "$ref": "#/components/schemas/languageCode"
          },
          "link": {
            "$ref": "#/components/schemas/Link"
          },
          "imageURL": {
            "description": "The URL of the image that is present in the Article version. It is used as the thumbnail image for the Article.",
            "type": "string",
            "minLength": 0,
            "maxLength": 2000,
            "pattern": "^(https?|ftp):\\/\\/[^\\s/$.?#].[^\\s]*$|^$"
          },
          "name": {
            "description": "The name of the Article.",
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$"
          },
          "timesRated": {
            "description": "The number of times that this Article has been rated.",
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "topicBreadcrumb": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TopicBreadcrumb"
            },
            "minItems": 1,
            "maxItems": 50,
            "description": "A list of topics from the root topic to this Article. There may be multiple paths."
          },
          "versionId": {
            "description": "The ID of this version of the Article.",
            "type": "string",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$"
          },
          "workflow": {
            "$ref": "#/components/schemas/Workflow"
          },
          "compliance": {
            "$ref": "#/components/schemas/ComplianceForArticle"
          },
          "personalization": {
            "$ref": "#/components/schemas/Personalization"
          }
        }
      },
      "PaginationInfo": {
        "type": "object",
        "title": "PaginationInfo",
        "required": [
          "count",
          "pagenum",
          "pagesize"
        ],
        "properties": {
          "count": {
            "title": "count",
            "description": "The total number of pages.",
            "type": "integer",
            "minimum": 0,
            "maximum": 999
          },
          "pagenum": {
            "title": "pagenum",
            "description": "The page number requested. Page numbers start from 1.",
            "type": "integer",
            "minimum": 1,
            "maximum": 999
          },
          "pagesize": {
            "title": "pagesize",
            "description": "The number of objects requested per page. The maximum number of objects per page is 75.",
            "type": "integer",
            "minimum": 1,
            "maximum": 75
          },
          "link": {
            "title": "link",
            "description": "Can include the *prev* and *next* link.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Link"
            },
            "maxItems": 2,
            "minItems": 0
          }
        }
      },
      "ArticleResults": {
        "title": "ArticleList",
        "type": "object",
        "description": "One or more instances of an Article result.",
        "properties": {
          "articles": {
            "description": "Article details\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ArticleResult"
            }
          },
          "paginationInfo": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        }
      },
      "AttachmentContent": {
        "title": "AttachmentContent",
        "properties": {
          "attachmentId": {
            "description": "The ID of the attachment.",
            "type": "string",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$"
          },
          "name": {
            "description": "The name of the attachment.",
            "type": "string",
            "minLength": 1,
            "maxLength": 4000,
            "pattern": "^[A-Za-z0-9 _\\-\\.\\(\\)\\[\\]\\{\\}&\\+\\!#@,~]+(\\.[A-Za-z0-9]+)?$"
          },
          "size": {
            "type": "integer",
            "format": "int64",
            "description": "The size of the attachment in bytes. The maximum size is limited to 25MB.",
            "minimum": 1,
            "maximum": 26214400
          },
          "type": {
            "description": "The type of attachment.",
            "type": "string",
            "enum": [
              "INTERNAL",
              "EXTERNAL"
            ]
          },
          "attachmentContentType": {
            "description": "The type of the content.",
            "type": "string",
            "pattern": "^[\\w\\W]+$",
            "minLength": 1,
            "maxLength": 255
          },
          "streamingUrl": {
            "description": "The streaming URL of the attachment.",
            "type": "string",
            "pattern": "^(https?|ftp):\\/\\/[^\\s/$.?#].[^\\s]*$",
            "maxLength": 1000
          },
          "link": {
            "$ref": "#/components/schemas/Link"
          }
        }
      },
      "AttachmentContentResult": {
        "title": "AttachmentContentResult",
        "type": "object",
        "description": "The returned attachment content.",
        "properties": {
          "attachmentContent": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AttachmentContent"
            },
            "minItems": 1,
            "maxItems": 1
          }
        }
      },
      "ArticleRating": {
        "title": "ArticleRating",
        "type": "object",
        "description": "This schema contains general information about the article rating.",
        "properties": {
          "id": {
            "description": "The ID of the rating.",
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 1,
            "maxLength": 8
          },
          "articleId": {
            "description": "The ID of the article.<br><br>An article ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.",
            "type": "string",
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "minLength": 7,
            "maxLength": 20
          },
          "ratingValue": {
            "description": "The score value of the rating. This must be a value between 0 and 100.",
            "type": "integer",
            "format": "int64",
            "minimum": 0,
            "maximum": 100
          },
          "ratingComments": {
            "description": "Comments about the rating.",
            "type": "string",
            "pattern": "^[\\w\\W]*$",
            "minLength": 0,
            "maxLength": 255
          },
          "userId": {
            "description": "The ID of the user that rated the article.",
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 1,
            "maxLength": 8
          },
          "ratingTimestamp": {
            "description": "The timestamp for when the article was rated.",
            "type": "string",
            "format": "date-time",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$"
          }
        }
      },
      "ArticleRatingsResponse": {
        "type": "object",
        "title": "ArticleRatingResponse",
        "properties": {
          "articleRatings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ArticleRating"
            }
          },
          "paginationInfo": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        }
      },
      "ComplianceArticleResult": {
        "title": "ArticleResult",
        "type": "object",
        "description": "Article search result, a subset of Article that does not contain content and contentText.",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "description": "The ID of the Article.<br>An Article ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."
          },
          "articleType": {
            "$ref": "#/components/schemas/ArticleType"
          },
          "articleKeywords": {
            "description": "A comma-separated list of keywords associated with this Article. 1 KB max size limit.",
            "type": "string",
            "minLength": 0,
            "maxLength": 1024,
            "pattern": "^[\\w\\W]*$"
          },
          "articleSummary": {
            "description": "A brief summary of the Article, provided as metadata. 1 KB max size limit.",
            "type": "string",
            "maxLength": 1024,
            "pattern": "^[\\w\\W]*$"
          },
          "averageRating": {
            "format": "double",
            "description": "The average rating of the Article.",
            "type": "number",
            "minimum": 0,
            "maximum": 100
          },
          "createdBy": {
            "$ref": "#/components/schemas/createdBy"
          },
          "modifiedBy": {
            "$ref": "#/components/schemas/modifiedBy"
          },
          "ownedBy": {
            "$ref": "#/components/schemas/ownedBy"
          },
          "createdDate": {
            "type": "string",
            "format": "DateAndTime",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$",
            "minLength": 20,
            "maxLength": 25
          },
          "customAttributes": {
            "items": {
              "$ref": "#/components/schemas/CustomAttribute"
            },
            "description": "A list of custom attributes.",
            "type": "array",
            "minItems": 0,
            "maxItems": 15
          },
          "description": {
            "description": "A description of the Article. The maximum allowed Article description size is 1 KB.",
            "type": "string",
            "minLength": 0,
            "maxLength": 1000,
            "pattern": "^[\\w\\W]*$"
          },
          "hasAttachments": {
            "description": "Indicates whether the Article has any attachments.",
            "type": "boolean"
          },
          "isSubscribed": {
            "description": "Indicates whether the Article is subscribed for notifications.",
            "type": "boolean"
          },
          "modifiedDate": {
            "description": "The date on which the Article was last modified.",
            "type": "string",
            "format": "DateAndTime",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$",
            "minLength": 20,
            "maxLength": 25
          },
          "updateSummary": {
            "type": "string",
            "description": "Summary of latest update change to article.",
            "maxLength": 1000,
            "pattern": "^[\\w\\W]+$"
          },
          "languageCode": {
            "$ref": "#/components/schemas/languageCode"
          },
          "link": {
            "$ref": "#/components/schemas/Link"
          },
          "imageURL": {
            "description": "The URL of the image that is present in the Article version. It is used as the thumbnail image for the Article.",
            "type": "string",
            "minLength": 0,
            "maxLength": 2000,
            "pattern": "^(https?|ftp):\\/\\/[^\\s/$.?#].[^\\s]*$|^$"
          },
          "name": {
            "description": "The name of the Article.",
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$"
          },
          "timesRated": {
            "description": "The number of times that this Article has been rated.",
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "topicBreadcrumb": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TopicBreadcrumb"
            },
            "minItems": 1,
            "maxItems": 50,
            "description": "A list of topics from the root topic to this Article. There may be multiple paths."
          },
          "versionId": {
            "description": "The ID of this version of the Article.",
            "type": "string",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$"
          },
          "workflow": {
            "$ref": "#/components/schemas/Workflow"
          },
          "compliance": {
            "$ref": "#/components/schemas/ComplianceForArticle"
          },
          "personalization": {
            "$ref": "#/components/schemas/Personalization"
          }
        }
      },
      "ComplianceArticleResults": {
        "title": "ComplianceArticleResult",
        "type": "object",
        "description": "One or more instances of Compliance Article.",
        "properties": {
          "article": {
            "description": "Article details\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ComplianceArticleResult"
            }
          },
          "paginationInfo": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        }
      },
      "Topic": {
        "title": "Topic",
        "type": "object",
        "description": "This schema contains general information about the topic.",
        "required": [
          "id",
          "name"
        ],
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "minLength": 7,
            "maxLength": 20,
            "description": "The alphanumeric ID of the topic.<br><br>A topic ID is composed of a 4-letter prefix, followed by a dash and 4-15 digits."
          },
          "name": {
            "description": "The name of the topic.",
            "pattern": "^[\\w\\W]+$",
            "minLength": 1,
            "maxLength": 255
          },
          "description": {
            "description": "A description of the topic.",
            "type": "string",
            "minLength": 0,
            "maxLength": 255,
            "pattern": "^[\\w\\W]*$"
          },
          "articleCountInTopic": {
            "type": "integer",
            "format": "int32",
            "minimum": 0,
            "maximum": 100000,
            "description": "Number of articles in this topic."
          },
          "articleCountInTopicTree": {
            "type": "integer",
            "format": "int32",
            "minimum": 0,
            "maximum": 100000,
            "description": "Number of articles in this topic and all sub-topics."
          },
          "createdBy": {
            "$ref": "#/components/schemas/createdBy"
          },
          "createdDate": {
            "type": "string",
            "format": "DateAndTime",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$"
          },
          "departmentId": {
            "description": "ID of the topic's department.",
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 3,
            "maxLength": 10,
            "example": "1000001035"
          },
          "imageUrl": {
            "description": "The URL of an image to be associated with the topic.",
            "type": "string",
            "pattern": "^(https?|ftp):\\/\\/[^\\s/$.?#].[^\\s]*$|^$",
            "minLength": 0,
            "maxLength": 1000
          },
          "modifiedBy": {
            "$ref": "#/components/schemas/modifiedBy"
          },
          "modifiedDate": {
            "description": "The date on which the topic was last modified.",
            "type": "string",
            "format": "DateAndTime",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$"
          },
          "childCount": {
            "description": "Number of sub-topics below this topic.",
            "type": "integer",
            "format": "int32",
            "minimum": 0,
            "maximum": 2500
          },
          "subTopicIds": {
            "type": "array",
            "description": "Array with the list of sub-topics. <br><br>Valid IDs are composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.",
            "minItems": 0,
            "maxItems": 2500,
            "items": {
              "type": "string",
              "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
              "minLength": 7,
              "maxLength": 20
            }
          },
          "parentTopicId": {
            "type": "string",
            "minLength": 2,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$|-1$",
            "description": "ID of the parent topic. -1 if it is the root topic. <br><br>Valid IDs are composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."
          },
          "customAttributes": {
            "description": "Custom attributes for the Topic.",
            "type": "array",
            "minItems": 0,
            "maxItems": 15,
            "items": {
              "$ref": "#/components/schemas/CustomAttribute"
            }
          },
          "topicHomeArticleId": {
            "type": "string",
            "pattern": "^([a-zA-Z0-9]{2,4}-\\d{4,15})?$",
            "description": "The ID of the article used as the home page of this topic. <br><br>Valid IDs are composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."
          },
          "link": {
            "$ref": "#/components/schemas/Link"
          }
        }
      },
      "TopicTreeNode": {
        "title": "Topic tree",
        "type": "object",
        "description": "This schema contains general information about the TopicTree.",
        "properties": {
          "topic": {
            "$ref": "#/components/schemas/Topic"
          },
          "topicTree": {
            "items": {
              "$ref": "#/components/schemas/TopicTreeNode"
            }
          }
        }
      },
      "TopicTreeResult": {
        "title": "Topic tree result",
        "type": "object",
        "description": "This schema contains the result of topic tree",
        "properties": {
          "topicTree": {
            "items": {
              "$ref": "#/components/schemas/TopicTreeNode"
            },
            "type": "array"
          },
          "paginationInfo": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        }
      },
      "TopicResult": {
        "title": "Topic result",
        "type": "object",
        "description": "A TopicResult defines a response from any of the Topic APIs.",
        "properties": {
          "topic": {
            "items": {
              "$ref": "#/components/schemas/Topic"
            },
            "type": "array"
          },
          "paginationInfo": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        }
      },
      "CasebaseId": {
        "type": "string",
        "pattern": "^[1-9]\\d*$",
        "minLength": 15,
        "maxLength": 15,
        "example": "409601000000001",
        "description": "The numerical ID of the Casebase."
      },
      "ProfileId": {
        "type": "string",
        "pattern": "^1$|^[1-9]\\d{9,15}$",
        "minLength": 1,
        "maxLength": 15,
        "description": "The ID of the guided help profile.<br>\n1 will always be the **system profile**.\n"
      },
      "Profile": {
        "type": "object",
        "title": "Guided Help Profile",
        "required": [
          "id",
          "name"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/ProfileId"
          },
          "name": {
            "type": "string",
            "description": "Name of the profile",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$"
          }
        }
      },
      "ProfileResult": {
        "type": "object",
        "title": "Profile Result",
        "properties": {
          "profile": {
            "description": "profiles",
            "items": {
              "$ref": "#/components/schemas/Profile"
            },
            "type": "array"
          },
          "paginationInfo": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        }
      },
      "CasebaseSearchSettings": {
        "type": "object",
        "title": "Casebase Search Settings",
        "properties": {
          "closeSessionOnAccept": {
            "type": "boolean",
            "description": "indicates whether to close the Guided Help session upon acceptance of answer"
          },
          "closeSessionOnReject": {
            "type": "boolean",
            "description": "indicates wheather to reject the Guided Helo session upon rejection of answer"
          }
        }
      },
      "KbLanguage": {
        "title": "KbLanguage",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the language.",
            "enum": [
              "English (United States)",
              "English (United Kingdom)",
              "French (France)",
              "Spanish (Spain)",
              "Italian (Italy)",
              "German (Germany)",
              "Dutch (Netherlands)",
              "Portuguese (Brazil)",
              "Portuguese (Portugal)",
              "Danish (Denmark)",
              "Swedish (Sweden)",
              "Russian (Russia)",
              "French (Canada)",
              "Chinese (Simplified)",
              "Japanese (Japan)",
              "Korean (South Korea)"
            ]
          },
          "code": {
            "type": "string",
            "description": "IETF code of the language.",
            "enum": [
              "en-US",
              "en-GB",
              "fr-FR",
              "es-ES",
              "it-IT",
              "de-DE",
              "nl-NL",
              "pt-BR",
              "pt-PT",
              "da-DK",
              "sv-SE",
              "ru-RU",
              "fr-CA",
              "zh-CN",
              "ja-JP",
              "ko-KR"
            ]
          }
        }
      },
      "KbLanguages": {
        "title": "KbLanguages",
        "description": "KB languages",
        "type": "object",
        "minItems": 1,
        "maxItems": 16,
        "properties": {
          "KbLanguage": {
            "items": {
              "$ref": "#/components/schemas/KbLanguage"
            },
            "type": "array"
          }
        }
      },
      "Casebase": {
        "type": "object",
        "title": "Casebase Release",
        "properties": {
          "casebaseId": {
            "$ref": "#/components/schemas/CasebaseId"
          },
          "name": {
            "description": "name of the Casebase Release.",
            "type": "string",
            "maxLength": 255,
            "minLength": 1,
            "pattern": "^[\\w\\W]+$"
          },
          "id": {
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 15,
            "maxLength": 15,
            "description": "The numerical ID of the Casebase Release."
          },
          "status": {
            "type": "string",
            "description": "status of the Casebase",
            "enum": [
              "author",
              "live",
              "qa"
            ]
          },
          "profiles": {
            "items": {
              "$ref": "#/components/schemas/ProfileResult"
            },
            "description": "All Guided Help Profiles associated with Casebase release",
            "type": "array"
          },
          "searchSettings": {
            "$ref": "#/components/schemas/CasebaseSearchSettings"
          },
          "languages": {
            "$ref": "#/components/schemas/KbLanguages"
          },
          "link": {
            "$ref": "#/components/schemas/Link"
          }
        }
      },
      "CasebaseResult": {
        "type": "object",
        "title": "Casebase Result",
        "properties": {
          "casebase": {
            "description": "Casebase releases",
            "items": {
              "$ref": "#/components/schemas/Casebase"
            },
            "type": "array"
          },
          "paginationInfo": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        }
      },
      "ClusterResult": {
        "title": "ClusterResult",
        "type": "object",
        "properties": {
          "id": {
            "description": "id of the cluster",
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 10,
            "maxLength": 15,
            "example": "1000000257"
          },
          "shortName": {
            "description": "short name of the cluster",
            "type": "string",
            "minLength": 0,
            "maxLength": 255,
            "pattern": "^[\\w\\W]*$"
          },
          "name": {
            "description": "name of the cluster",
            "type": "string",
            "minLength": 0,
            "maxLength": 255,
            "pattern": "^[\\w\\W]*$"
          },
          "startup": {
            "description": "indicates if the cluster is startup cluster of the release",
            "type": "boolean"
          },
          "depth": {
            "description": "depth of the cluster",
            "type": "integer",
            "format": "int32",
            "minimum": 0,
            "maximum": 999
          }
        }
      },
      "ClusterResults": {
        "type": "object",
        "title": "Cluster Result",
        "properties": {
          "cluster": {
            "description": "Clusters",
            "items": {
              "$ref": "#/components/schemas/ClusterResult"
            },
            "type": "array"
          },
          "paginationInfo": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        }
      },
      "Answer": {
        "type": "object",
        "title": "Answer",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID of answer",
            "minLength": 6,
            "maxLength": 20,
            "example": "1000000004",
            "pattern": "^[0-9]+$"
          },
          "value": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "description": "Value of answer"
          }
        }
      },
      "QuestionAndAnswer": {
        "type": "object",
        "title": "Question and Answers",
        "description": "Questions and answers of the Casebase",
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "ID of question",
            "minLength": 6,
            "maxLength": 20,
            "pattern": "^[0-9]+$",
            "example": "1000003852"
          },
          "answers": {
            "minItems": 1,
            "maxItems": 100,
            "type": "array",
            "description": "Answers of question",
            "items": {
              "$ref": "#/components/schemas/Answer"
            }
          }
        }
      },
      "SessionContextVariable": {
        "type": "object",
        "title": "SessionContextVariable",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$"
          },
          "value": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$"
          }
        }
      },
      "GHStepSearchRequest": {
        "title": "Guided Help Step Search Request",
        "type": "object",
        "properties": {
          "casebaseId": {
            "$ref": "#/components/schemas/CasebaseId"
          },
          "questions": {
            "items": {
              "$ref": "#/components/schemas/QuestionAndAnswer"
            },
            "minItems": 1,
            "maxItems": 500,
            "description": "Pre-answered Questions in Guided Help search",
            "type": "array"
          },
          "profileId": {
            "$ref": "#/components/schemas/ProfileId"
          },
          "sessionVariable": {
            "description": "Session variables used to give Guided Help additional context.",
            "items": {
              "$ref": "#/components/schemas/SessionContextVariable"
            },
            "type": "array"
          },
          "startOver": {
            "type": "boolean",
            "description": "Restart the current Guided Help search with the existing context along with session variable context."
          },
          "useLiveRelease": {
            "type": "boolean",
            "description": "Use current live release snapshot of the Casebase otherwise use the authoring release."
          },
          "ghsArticleId": {
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 15,
            "maxLength": 15,
            "example": "100000000001035",
            "description": "Numeric ID of the guided help session article used for starting search."
          }
        },
        "required": [
          "questions",
          "casebaseId"
        ]
      },
      "Metadata": {
        "title": "Metadata",
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "pattern": "^[\\w\\W]*$",
            "minLength": 0,
            "maxLength": 255,
            "description": "content of the title"
          },
          "additionalInformation": {
            "type": "string",
            "pattern": "^[\\w\\W]*$",
            "minLength": 0,
            "maxLength": 255,
            "description": "content of the additional information"
          },
          "action": {
            "type": "string",
            "pattern": "^[\\w\\W]*$",
            "minLength": 0,
            "maxLength": 1024,
            "description": "content of the action"
          }
        }
      },
      "ActionSearch": {
        "type": "object",
        "title": "Action Search",
        "properties": {
          "acceptCount": {
            "type": "integer",
            "format": "int64",
            "description": "number of times action was accepted",
            "minimum": 0,
            "maximum": 9999999999
          },
          "hasAdditionalInfo": {
            "description": "indicates if action has additional information",
            "type": "boolean"
          },
          "metadata": {
            "description": "Metadata in action search.",
            "items": {
              "$ref": "#/components/schemas/Metadata"
            },
            "type": "array"
          },
          "articleId": {
            "type": "string",
            "minLength": 0,
            "maxLength": 20,
            "example": "PROD-9312",
            "pattern": "^([a-zA-Z0-9]{2,4}-\\d{4,15})?$",
            "description": "The ID of the Article .<br>The ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."
          },
          "caseId": {
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 10,
            "maxLength": 15,
            "example": "100000000001035",
            "description": "The numerical ID of the case."
          },
          "passedThresholdValue": {
            "type": "boolean",
            "description": "indicates if the case has passed the threshold value"
          },
          "rejectCount": {
            "type": "integer",
            "format": "int64",
            "description": "The number of times action was rejected",
            "minimum": 0,
            "maximum": 9999999999
          },
          "shortName": {
            "type": "string",
            "description": "short name",
            "pattern": "^[\\w\\W]+$",
            "minLength": 1,
            "maxLength": 255
          },
          "score": {
            "type": "integer",
            "format": "int64",
            "description": "score of the case",
            "minimum": 0,
            "maximum": 100
          },
          "name": {
            "type": "string",
            "description": "name of the case",
            "pattern": "^[\\w\\W]+$",
            "minLength": 1,
            "maxLength": 255
          },
          "actionId": {
            "type": "string",
            "minLength": 10,
            "maxLength": 15,
            "example": "100000000009312",
            "pattern": "^[1-9]\\d*$",
            "description": "The ID of the Action."
          },
          "type": {
            "type": "string",
            "description": "type of the action",
            "enum": [
              "control",
              "article"
            ]
          },
          "articleType": {
            "$ref": "#/components/schemas/ArticleType"
          }
        }
      },
      "Image": {
        "title": "Image",
        "type": "object",
        "properties": {
          "link": {
            "$ref": "#/components/schemas/Link"
          }
        }
      },
      "schemas-Answer": {
        "title": "Answer",
        "type": "object",
        "properties": {
          "id": {
            "description": "ID of the answer",
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 10,
            "maxLength": 10,
            "example": "1000001035"
          },
          "depth": {
            "minLength": 1,
            "maxLength": 999,
            "type": "integer",
            "format": "int64",
            "description": "depth of the answer"
          },
          "isInvisible": {
            "type": "boolean",
            "description": "Flag indicating if answer is visible"
          },
          "text": {
            "type": "string",
            "minLength": 1,
            "maxLength": 510,
            "pattern": "^[\\w\\W]+$",
            "description": "Text of the answer"
          },
          "image": {
            "$ref": "#/components/schemas/Image"
          },
          "conceptName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 510,
            "pattern": "^[\\w\\W]+$",
            "description": "name of the answer"
          },
          "conceptId": {
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 10,
            "maxLength": 10,
            "description": "Id of the answer"
          },
          "lowerValue": {
            "type": "integer",
            "format": "int64",
            "description": "lower value of the answer",
            "minimum": -999999999999
          },
          "upperValue": {
            "type": "integer",
            "format": "int64",
            "description": "upper value of the answer",
            "maximum": 999999999999
          },
          "enumLowerValue": {
            "type": "string",
            "description": "lower value of enum answer"
          },
          "enumUpperValue": {
            "type": "string",
            "description": "upper value of enum answer"
          },
          "lowerInclusive": {
            "type": "boolean",
            "description": "Value indicating if lower value is inclusive"
          },
          "upperInclusive": {
            "type": "boolean",
            "description": "Value indicating if upper value is inclusive"
          },
          "partialMin": {
            "type": "integer",
            "format": "int64",
            "description": "Partial minimum"
          },
          "partialMax": {
            "type": "integer",
            "format": "int64",
            "description": "Partial maximim"
          }
        }
      },
      "AnswerRange": {
        "title": "Answer Range",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 10,
            "maxLength": 10,
            "example": "1000001035",
            "description": "Id of the answer range"
          },
          "min": {
            "type": "number",
            "description": "minimum value of range"
          },
          "max": {
            "type": "number",
            "description": "maximum value of range"
          },
          "minInclusive": {
            "type": "boolean",
            "description": "flag indicating if minimum value is included"
          },
          "maxInclusive": {
            "type": "boolean",
            "description": "flag indicating if maximim value is included"
          }
        }
      },
      "schemas-CustomAttribute": {
        "type": "object",
        "properties": {
          "name": {
            "description": "The custom attribute's name.",
            "type": "string",
            "pattern": "^[\\w\\W]+$",
            "minLength": 1,
            "maxLength": 4000
          },
          "value": {
            "description": "The custom attribute's value.",
            "type": "string",
            "pattern": "^[\\w\\W]*$",
            "minLength": 0,
            "maxLength": 4000
          },
          "type": {
            "description": "The custom attribute's type.",
            "type": "string",
            "enum": [
              "STRING",
              "INTEGER",
              "BOOLEAN",
              "DATETIME"
            ]
          }
        }
      },
      "AnsweredQuestion": {
        "type": "object",
        "title": "Question",
        "properties": {
          "id": {
            "description": "The numerical ID of the question",
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 10,
            "maxLength": 19,
            "example": "1000001035"
          },
          "title": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "description": "Title of the question"
          },
          "type": {
            "type": "string",
            "description": "type of the question",
            "enum": [
              "numeric",
              "enumerated",
              "list",
              "text"
            ]
          },
          "format": {
            "type": "string",
            "description": "format of the question",
            "enum": [
              "radioButton",
              "dropdown",
              "checkbox",
              "mutliSelect",
              "number",
              "singleLineTextField",
              "multiLineTextField"
            ]
          },
          "shortName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "description": "short name"
          },
          "hasAdditionalInfo": {
            "type": "boolean",
            "description": "indicates if question has additional information"
          },
          "hasAction": {
            "type": "boolean",
            "description": "indicates if question has action"
          },
          "validAnswer": {
            "description": "valid answers for question",
            "items": {
              "$ref": "#/components/schemas/schemas-Answer"
            },
            "type": "array"
          },
          "previousAnswer": {
            "description": "answers provided for question",
            "items": {
              "$ref": "#/components/schemas/schemas-Answer"
            },
            "type": "array"
          },
          "validAnswerRange": {
            "$ref": "#/components/schemas/AnswerRange"
          },
          "metadata": {
            "description": "Metadata on question",
            "items": {
              "$ref": "#/components/schemas/Metadata"
            },
            "type": "array"
          },
          "customAttributes": {
            "description": "Custom attributes of question",
            "items": {
              "$ref": "#/components/schemas/schemas-CustomAttribute"
            },
            "type": "array",
            "minItems": 0,
            "maxItems": 15
          },
          "answerSource": {
            "type": "string",
            "description": "source of the provided answer",
            "enum": [
              "rule",
              "data_link_article",
              "user"
            ]
          }
        }
      },
      "Action": {
        "title": "Action",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "description": "ID of the action",
            "minLength": 10,
            "maxLength": 10
          },
          "title": {
            "type": "string",
            "description": "Name of the action",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$"
          },
          "type": {
            "type": "string",
            "description": "type of the action",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$"
          },
          "shortName": {
            "type": "string",
            "description": "short name of the action",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$"
          },
          "rejectCount": {
            "type": "integer",
            "format": "int64",
            "description": "number of times action was rejected.",
            "minimum": 0,
            "maximum": 9999999999
          },
          "acceptCount": {
            "type": "integer",
            "format": "int64",
            "description": "number of times action was accepted.",
            "minimum": 0,
            "maximum": 9999999999
          },
          "metadata": {
            "description": "Metadata of action",
            "items": {
              "$ref": "#/components/schemas/Metadata"
            },
            "type": "array"
          },
          "articleType": {
            "$ref": "#/components/schemas/ArticleType"
          }
        }
      },
      "CaseSearch": {
        "type": "object",
        "title": "Case Search",
        "properties": {
          "acceptCount": {
            "type": "integer",
            "format": "int64",
            "minimum": 0,
            "maximum": 9999999999,
            "description": "The number of times action was accepted"
          },
          "action": {
            "description": "actions in search",
            "items": {
              "$ref": "#/components/schemas/Action"
            },
            "type": "array"
          },
          "additionalInfo": {
            "description": "This field indicates if action has additional information",
            "type": "boolean"
          },
          "metadata": {
            "description": "Metadata in search",
            "items": {
              "$ref": "#/components/schemas/Metadata"
            },
            "type": "array"
          },
          "caseId": {
            "type": "string",
            "description": "case Id",
            "minLength": 10,
            "maxLength": 15,
            "pattern": "^[1-9]\\d*$"
          },
          "passedThresholdValue": {
            "type": "boolean",
            "description": "This field indicates if the case has passed the threshold value"
          },
          "rejectCount": {
            "minimum": 0,
            "maximum": 9999999999,
            "type": "integer",
            "format": "int64",
            "description": "The number of times action was rejected"
          },
          "shortName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "The short name"
          },
          "score": {
            "type": "number",
            "format": "double",
            "minimum": 0,
            "maximum": 100,
            "description": "The score of the case"
          },
          "title": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "The title of the case"
          },
          "type": {
            "type": "string",
            "enum": [
              "Control",
              "Article"
            ],
            "description": "The type of the action"
          }
        }
      },
      "DynamicCluster": {
        "type": "object",
        "title": "Dynamic Cluster",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 10,
            "maxLength": 10,
            "pattern": "^[0-9]+$",
            "description": "Id of the cluster"
          },
          "title": {
            "type": "string",
            "description": "name of the cluster",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$"
          }
        }
      },
      "DetailField": {
        "title": "Detail Field",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 7,
            "maxLength": 20,
            "example": "PROD-9312",
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "description": "The ID of the Detail Field.<br>The ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."
          },
          "detailLink": {
            "type": "string",
            "minLength": 0,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "description": "link of the detail"
          },
          "detailType": {
            "type": "string",
            "minLength": 0,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "description": "type of the detail"
          },
          "fieldName": {
            "type": "string",
            "minLength": 0,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "description": "name of the field"
          }
        }
      },
      "DisplayField": {
        "title": "Display Field",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 7,
            "maxLength": 20,
            "example": "PROD-9312",
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "description": "The ID of the Display Field.<br>The ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."
          },
          "content": {
            "type": "string",
            "minLength": 0,
            "maxLength": 2097152,
            "pattern": "^[\\w\\W]+$",
            "description": "content in bytes. 2 MB max"
          },
          "fieldName": {
            "minLength": 0,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "description": "name of the field"
          }
        }
      },
      "VirtualCase": {
        "title": "Virtual Case",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "description": "ID of the case"
          },
          "detailField": {
            "description": "detail fields",
            "items": {
              "$ref": "#/components/schemas/DetailField"
            },
            "type": "array"
          },
          "displayField": {
            "description": "display fields",
            "items": {
              "$ref": "#/components/schemas/DisplayField"
            },
            "type": "array"
          },
          "dynamicClusterId": {
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 10,
            "maxLength": 10,
            "example": "1000001035",
            "description": "Cluster id"
          },
          "title": {
            "type": "string",
            "description": "name of the case",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$"
          },
          "virtualCaseId": {
            "type": "string",
            "minLength": 6,
            "maxLength": 20,
            "pattern": "^[0-9]+$",
            "description": "virtual case id"
          }
        }
      },
      "DynamicSearch": {
        "type": "object",
        "title": "Dynamic Search",
        "properties": {
          "dynamicCluster": {
            "description": "clusters in search",
            "items": {
              "$ref": "#/components/schemas/DynamicCluster"
            },
            "type": "array"
          },
          "parentClusterId": {
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 10,
            "maxLength": 10,
            "example": "1000001035",
            "description": "Parent cluster"
          },
          "type": {
            "type": "string",
            "description": "type of search",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$"
          },
          "virtualCase": {
            "description": "cases in search",
            "items": {
              "$ref": "#/components/schemas/VirtualCase"
            },
            "type": "array"
          }
        }
      },
      "Question": {
        "type": "object",
        "title": "Question",
        "properties": {
          "id": {
            "description": "The numerical ID of the question",
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 10,
            "maxLength": 19,
            "example": "1000001035"
          },
          "title": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "description": "Title of the question"
          },
          "type": {
            "type": "string",
            "description": "type of the question",
            "enum": [
              "numeric",
              "enumerated",
              "list",
              "text"
            ]
          },
          "format": {
            "type": "string",
            "description": "format of the question",
            "enum": [
              "radioButton",
              "dropdown",
              "checkbox",
              "mutliSelect",
              "number",
              "singleLineTextField",
              "multiLineTextField"
            ]
          },
          "shortName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "description": "short name"
          },
          "hasAdditionalInfo": {
            "type": "boolean",
            "description": "indicates if question has additional information"
          },
          "hasAction": {
            "type": "boolean",
            "description": "indicates if question has action"
          },
          "validAnswer": {
            "description": "valid answers for question",
            "items": {
              "$ref": "#/components/schemas/schemas-Answer"
            },
            "type": "array"
          },
          "validAnswerRange": {
            "$ref": "#/components/schemas/AnswerRange"
          },
          "metadata": {
            "description": "Metadata on question",
            "items": {
              "$ref": "#/components/schemas/Metadata"
            },
            "type": "array"
          },
          "customAttributes": {
            "description": "Custom attributes of question",
            "items": {
              "$ref": "#/components/schemas/schemas-CustomAttribute"
            },
            "type": "array",
            "minItems": 0,
            "maxItems": 15
          }
        }
      },
      "ClusterId": {
        "type": "object",
        "title": "Cluster id",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 10,
            "maxLength": 15,
            "example": "1000000257",
            "description": "The numerical Cluster ID"
          }
        }
      },
      "GHSearchResult": {
        "type": "object",
        "title": "Guided Help Search Result",
        "properties": {
          "casebase": {
            "$ref": "#/components/schemas/Casebase"
          },
          "actionSearch": {
            "description": "actions in the search",
            "items": {
              "$ref": "#/components/schemas/ActionSearch"
            },
            "type": "array"
          },
          "answeredQuestion": {
            "description": "questions answered in the search",
            "items": {
              "$ref": "#/components/schemas/AnsweredQuestion"
            },
            "type": "array"
          },
          "caseSearch": {
            "description": "cases in the search",
            "items": {
              "$ref": "#/components/schemas/CaseSearch"
            },
            "type": "array"
          },
          "dynamicSearch": {
            "description": "dynamic cases in the search",
            "items": {
              "$ref": "#/components/schemas/DynamicSearch"
            },
            "type": "array"
          },
          "unansweredQuestion": {
            "description": "unanswered questions in the search",
            "items": {
              "$ref": "#/components/schemas/Question"
            },
            "type": "array"
          },
          "startupQuestion": {
            "description": "startup questions in the search",
            "items": {
              "$ref": "#/components/schemas/Question"
            },
            "type": "array"
          },
          "targetClusters": {
            "description": "active clusters in the search",
            "items": {
              "$ref": "#/components/schemas/ClusterId"
            },
            "type": "array"
          }
        }
      },
      "StartQuestionAndAnswer": {
        "type": "object",
        "title": "Question and Answers",
        "description": "Questions and answers of the Casebase",
        "required": [
          "id",
          "answers"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "ID of question",
            "minLength": 6,
            "maxLength": 20,
            "pattern": "^[0-9]+$",
            "example": "1000003852"
          },
          "answers": {
            "minItems": 1,
            "maxItems": 100,
            "type": "array",
            "description": "Answers of question",
            "items": {
              "$ref": "#/components/schemas/Answer"
            }
          }
        }
      },
      "GHSearchRequest": {
        "title": "Guided Help Search Request",
        "type": "object",
        "properties": {
          "casebaseId": {
            "$ref": "#/components/schemas/CasebaseId"
          },
          "questions": {
            "items": {
              "$ref": "#/components/schemas/StartQuestionAndAnswer"
            },
            "minItems": 0,
            "maxItems": 500,
            "description": "Pre-answered Questions in Guided Help search",
            "type": "array"
          },
          "profileId": {
            "type": "string",
            "pattern": "^1$|^[1-9]\\d{9,15}$",
            "minLength": 1,
            "maxLength": 15,
            "description": "The ID of the guided help profile. 1 will always be the **system profile**."
          },
          "sessionVariable": {
            "description": "Session variables used to give Guided Help additional context.",
            "items": {
              "$ref": "#/components/schemas/SessionContextVariable"
            },
            "type": "array"
          },
          "startOver": {
            "type": "boolean",
            "description": "Restart the current Guided Help search with the existing context along with session variable context."
          },
          "useLiveRelease": {
            "type": "boolean",
            "description": "Use current live release snapshot of the Casebase otherwise use the authoring release."
          },
          "ghsArticleId": {
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 15,
            "maxLength": 15,
            "example": "100000000001035",
            "description": "Numeric ID of the guided help session article used for starting search."
          }
        },
        "required": [
          "casebaseId"
        ]
      },
      "CaseListResult": {
        "type": "object",
        "title": "Case",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 10,
            "maxLength": 15,
            "example": "100000000001035",
            "description": "The numerical ID of the case."
          },
          "shortName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "description": "short name of the case."
          },
          "title": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "description": "title of the case"
          },
          "profileId": {
            "$ref": "#/components/schemas/ProfileId"
          },
          "releaseId": {
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 15,
            "maxLength": 15,
            "example": "100000000001035",
            "description": "The numerical ID of the Casebase Release in which case in created"
          },
          "clusterId": {
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 10,
            "maxLength": 15,
            "example": "100000000001035",
            "description": "ID of the cluster in which case is created"
          },
          "createdDate": {
            "description": "The date on which the Case was created.",
            "type": "string",
            "format": "DateAndTime",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$",
            "minLength": 20,
            "maxLength": 25
          },
          "createdBy": {
            "$ref": "#/components/schemas/createdBy"
          },
          "modifiedBy": {
            "$ref": "#/components/schemas/modifiedBy"
          },
          "modifiedDate": {
            "description": "The date on which the Case was last modified.",
            "type": "string",
            "format": "DateAndTime",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$",
            "minLength": 20,
            "maxLength": 25
          },
          "link": {
            "$ref": "#/components/schemas/Link"
          }
        }
      },
      "CaseListResults": {
        "type": "object",
        "title": "Case List Result",
        "properties": {
          "case": {
            "description": "Cases",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CaseListResult"
            }
          },
          "paginationInfo": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        }
      },
      "CaseQuestion": {
        "type": "object",
        "title": "Question",
        "properties": {
          "id": {
            "description": "The numerical ID of the question",
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 10,
            "maxLength": 19,
            "example": "1000001035"
          }
        }
      },
      "CaseAnswer": {
        "title": "Answer",
        "type": "object",
        "properties": {
          "id": {
            "description": "ID of the answer",
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 10,
            "maxLength": 10,
            "example": "1000001035"
          },
          "text": {
            "type": "string",
            "minLength": 1,
            "maxLength": 510,
            "pattern": "^[\\w\\W]+$",
            "description": "Text of the answer"
          }
        }
      },
      "CaseQuestionDetail": {
        "type": "object",
        "title": "Question Detail",
        "required": [
          "question",
          "answer"
        ],
        "properties": {
          "question": {
            "$ref": "#/components/schemas/CaseQuestion"
          },
          "answer": {
            "description": "Answer of the question",
            "items": {
              "$ref": "#/components/schemas/CaseAnswer"
            },
            "type": "array"
          },
          "scoringValue": {
            "type": "number",
            "format": "double",
            "description": "Weightage of the question"
          }
        }
      },
      "Case": {
        "type": "object",
        "title": "Case",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 10,
            "maxLength": 15,
            "example": "100000000001035",
            "description": "The numerical ID of the case."
          },
          "shortName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "description": "short name of the case."
          },
          "title": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "description": "title of the case"
          },
          "comments": {
            "type": "string",
            "pattern": "^[\\w\\W]*$",
            "minLength": 0,
            "maxLength": 255,
            "description": "comments on the case"
          },
          "profileId": {
            "$ref": "#/components/schemas/ProfileId"
          },
          "releaseId": {
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 15,
            "maxLength": 15,
            "example": "100000000001035",
            "description": "The numerical ID of the Casebase Release in which case in created"
          },
          "clusterId": {
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 10,
            "maxLength": 15,
            "example": "100000000001035",
            "description": "ID of the cluster in which case is created"
          },
          "createdDate": {
            "description": "The date on which the Case was created.",
            "type": "string",
            "format": "DateAndTime",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$",
            "minLength": 20,
            "maxLength": 25
          },
          "createdBy": {
            "$ref": "#/components/schemas/createdBy"
          },
          "modifiedBy": {
            "$ref": "#/components/schemas/modifiedBy"
          },
          "modifiedDate": {
            "description": "The date on which the Case was last modified.",
            "type": "string",
            "format": "DateAndTime",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$",
            "minLength": 20,
            "maxLength": 25
          },
          "isVisible": {
            "type": "boolean",
            "description": "Flag indicating if the case is visible"
          },
          "rejectCount": {
            "minimum": 0,
            "maximum": 9999999999,
            "type": "integer",
            "format": "int64",
            "description": "number of times case was rejected."
          },
          "acceptCount": {
            "type": "integer",
            "format": "int64",
            "minimum": 0,
            "maximum": 9999999999,
            "description": "number of times case was accepted."
          },
          "action": {
            "description": "actions in the case",
            "items": {
              "$ref": "#/components/schemas/Action"
            },
            "type": "array"
          },
          "metadata": {
            "description": "Metadata of the case",
            "items": {
              "$ref": "#/components/schemas/Metadata"
            },
            "type": "array"
          },
          "thresholdValue": {
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "format": "int32",
            "description": "Threshold value of the case"
          },
          "thresholdType": {
            "type": "string",
            "enum": [
              "Default",
              "Custom"
            ],
            "description": "Threshold type indicating if thresholdValue is default or custom."
          },
          "thresholdValueFromCluster": {
            "type": "number",
            "format": "double",
            "minimum": 0,
            "maximum": 100,
            "description": "Threshold value of the cluster in which case is created"
          },
          "caseType": {
            "type": "string",
            "enum": [
              "Control",
              "Content"
            ],
            "description": "Type of the case. Control or Content type"
          },
          "questionDetail": {
            "description": "Questions in the case",
            "items": {
              "$ref": "#/components/schemas/CaseQuestionDetail"
            },
            "type": "array"
          },
          "link": {
            "$ref": "#/components/schemas/Link"
          }
        }
      },
      "CasebaseReleaseId": {
        "type": "string",
        "pattern": "^[1-9]\\d*$",
        "minLength": 15,
        "maxLength": 15,
        "example": "409601000000001",
        "description": "The numerical ID of the Casebase Release."
      },
      "QuickpickRating": {
        "title": "Rating",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/CasebaseReleaseId"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "description": "name of the case or article"
          },
          "profileId": {
            "$ref": "#/components/schemas/ProfileId"
          }
        },
        "required": [
          "id",
          "name",
          "profileId"
        ]
      },
      "QuickpickResult": {
        "type": "object",
        "title": "Quickpick",
        "properties": {
          "id": {
            "description": "The ID of the Quickpick being accessed.\n",
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 1,
            "maxLength": 19
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[a-zA-Z0-9_-]+$",
            "description": "name of the quick pick"
          },
          "comment": {
            "type": "string",
            "pattern": "^[\\w\\W]+$",
            "maxLength": 255,
            "minLength": 1,
            "description": "comment about quick pick"
          },
          "casebaseReleaseId": {
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 15,
            "maxLength": 15,
            "example": "409601000000001",
            "description": "The numerical ID of the Casebase Release."
          }
        }
      },
      "QuickpickResults": {
        "title": "Quickpick result",
        "type": "object",
        "properties": {
          "quickpick": {
            "description": "quick picks",
            "items": {
              "$ref": "#/components/schemas/QuickpickResult"
            },
            "type": "array"
          },
          "paginationInfo": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        }
      },
      "CreateQuickpick": {
        "required": [
          "casebaseReleaseId"
        ],
        "type": "object",
        "title": "Quickpick",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "description": "name of the quick pick"
          },
          "comment": {
            "type": "string",
            "pattern": "^[\\w\\W]+$",
            "maxLength": 255,
            "minLength": 1,
            "description": "comment about quick pick"
          },
          "casebaseReleaseId": {
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 15,
            "maxLength": 15,
            "example": "409601000000001",
            "description": "The numerical ID of Live release of the Casebase."
          },
          "linkToActivity": {
            "type": "boolean",
            "description": "indicates if quickpick is to be linked with activity"
          }
        }
      },
      "Bookmark": {
        "title": "Bookmark",
        "type": "object",
        "required": [
          "resourceId"
        ],
        "properties": {
          "portalId": {
            "description": "The ID of the portal associated with the bookmark.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 2-4 15 digits.",
            "type": "string",
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "minLength": 7,
            "maxLength": 20,
            "example": "PROD-98123"
          },
          "resourceId": {
            "description": "The ID of the article or topic associated with this bookmark. A case ID or an article ID is composed of a 2-4 letter prefix, followed by a dash and 15 digits.",
            "type": "string",
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "minimum": 7,
            "maximum": 20,
            "example": "DEV-7692"
          },
          "id": {
            "description": "The ID of the bookmark.",
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 4,
            "maxLength": 19,
            "example": "1000001035"
          },
          "bookmarkName": {
            "description": "The name of the bookmark.",
            "type": "string",
            "pattern": "^[\\w\\W]*$",
            "minLength": 0,
            "maxLength": 255
          },
          "resourceType": {
            "description": "Determines the type of resource:\n<li>1 - Article</li>\n<li>2 - Topic</li>\n<li>3 - External Content</li>          ",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "maximum": 3
          },
          "resourceName": {
            "description": "The name of the resource associated with the bookmark.<br><br>This attribute is only available for article and topic bookmarks.",
            "type": "string",
            "pattern": "^[\\w\\W]+$",
            "minLength": 1,
            "maxLength": 255
          },
          "externalContentId": {
            "description": "The ID of the external content.<br><br>This attribute must be provided if <code>resourceType</code> is set to \"3 - External Content\".",
            "type": "string",
            "pattern": "^[\\w\\W]*$",
            "minLength": 0,
            "maxLength": 255
          }
        }
      },
      "BookmarkResult": {
        "title": "BookmarkResult",
        "type": "object",
        "description": "One or more instances of Bookmark.",
        "properties": {
          "bookmarks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Bookmark"
            }
          },
          "paginationInfo": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        }
      },
      "CreateBookmark": {
        "title": "CreateBookmark",
        "type": "object",
        "properties": {
          "resourceId": {
            "description": "The ID of the article or topic associated with this bookmark. A case ID or an article ID is composed of a 2-4 letter prefix, followed by a dash and 15 digits.<br><br>This attribute must be provided if <code>resourceType</code> is set to \"1 - Article\" or \"2 - Topic\".",
            "type": "string",
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "minimum": 7,
            "maximum": 20,
            "example": "DEV-7692"
          },
          "userId": {
            "description": "The ID of the user associated with the bookmark.",
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 1,
            "maxLength": 10,
            "example": "1000001035"
          },
          "userType": {
            "description": "The type of the user associated with the bookmark.",
            "type": "string",
            "enum": [
              "customer",
              "agent"
            ]
          },
          "bookmarkName": {
            "description": "The name of the bookmark.",
            "type": "string",
            "pattern": "^[\\w\\W]+$",
            "minLength": 1,
            "maxLength": 255
          },
          "resourceType": {
            "description": "Determines the type of resource:\n<li>1 - Article</li>\n<li>2 - Topic</li>\n<li>3 - External Content</li>          ",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "maximum": 3
          },
          "resourceName": {
            "description": "The name of the resource associated with the bookmark.<br><br>This attribute is only available for article and topic bookmarks.",
            "type": "string",
            "pattern": "^[\\w\\W]+$",
            "minLength": 1,
            "maxLength": 255
          },
          "externalContentId": {
            "description": "The ID of the external content.<br><br>This attribute must be provided if <code>resourceType</code> is set to \"3 - External Content\".",
            "type": "string",
            "pattern": "^[\\w\\W]+$",
            "minLength": 1,
            "maxLength": 255
          }
        }
      },
      "UserProfile": {
        "title": "User Profile",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "minLength": 7,
            "maxLength": 20,
            "description": "The Readable ID of the user profile.<br>\n"
          },
          "name": {
            "type": "string",
            "minimum": 1,
            "maximum": 250,
            "pattern": "^[A-Za-z0-9_\\- ]*$",
            "description": "Name given to the user profile"
          },
          "isLastUsedInPortal": {
            "type": "boolean",
            "description": "Indicates if the profile was the last one used by the current user in the portal."
          }
        }
      },
      "UserProfiles": {
        "title": "User Profiles",
        "type": "object",
        "properties": {
          "profile": {
            "description": "User profiles assigend to user.",
            "items": {
              "$ref": "#/components/schemas/UserProfile"
            },
            "type": "array"
          }
        }
      },
      "id": {
        "title": "id",
        "description": "ID of the object",
        "type": "string"
      },
      "name": {
        "title": "name",
        "description": "Name of the object",
        "type": "string",
        "maxLength": 255
      },
      "RoleTemplate": {
        "title": "template",
        "x-stoplight": {
          "id": "fn6y73dcuvzj0"
        },
        "type": "object",
        "description": "Role template",
        "properties": {
          "value": {
            "title": "value",
            "description": "Value of the role template",
            "type": "string"
          },
          "displayValue": {
            "title": "displayValue",
            "description": "Display value of the role template",
            "type": "string"
          }
        },
        "required": [
          "value",
          "displayValue"
        ]
      },
      "Role": {
        "type": "object",
        "x-stoplight": {
          "id": "3ceinhaulvu1w"
        },
        "title": "Role",
        "required": [
          "id",
          "name",
          "template"
        ],
        "properties": {
          "id": {
            "description": "ID of the role",
            "$ref": "#/components/schemas/id"
          },
          "name": {
            "description": "Name of the role",
            "$ref": "#/components/schemas/name"
          },
          "template": {
            "title": "template",
            "description": "Template of the role.",
            "$ref": "#/components/schemas/RoleTemplate"
          }
        }
      },
      "UserDetails": {
        "title": "User Details",
        "type": "object",
        "properties": {
          "id": {
            "description": "The numerical ID of the User",
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 1,
            "maxLength": 9
          },
          "roles": {
            "type": "array",
            "description": "Roles of the User",
            "items": {
              "$ref": "#/components/schemas/Role"
            }
          },
          "firstName": {
            "type": "string",
            "pattern": "^[a-zA-Z0-9]|@|\\s|:|.|_|-|&|[\\x80-\\xFF]{1,250}$",
            "description": "First Name of the User",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "pattern": "^[a-zA-Z0-9]|@|\\s|:|.|_|-|&|[\\x80-\\xFF]{1,250}$",
            "description": "Last Name of the User",
            "example": "Doe"
          },
          "hasEmailConfigured": {
            "type": "boolean",
            "description": "Indicates if user has email"
          }
        }
      },
      "ArticleListResult": {
        "title": "Article List",
        "type": "object",
        "required": [
          "id",
          "name"
        ],
        "properties": {
          "name": {
            "description": "The name of the article list.",
            "type": "string",
            "pattern": "^[\\w\\W]+$",
            "minLength": 1,
            "maxLength": 255
          },
          "id": {
            "description": "The ID of the article list.<br><br>An article list ID is either a 4-digit number or composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.",
            "type": "string",
            "pattern": "^[0-9]{4}$|^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "minLength": 4,
            "maxLength": 20
          },
          "description": {
            "description": "The description of the article list. The maximum allowed article list description size is 1 KB.",
            "type": "string",
            "pattern": "^[\\w\\W]*$",
            "minLength": 0,
            "maxLength": 1024
          },
          "typeId": {
            "description": "The type of the article list.",
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 1,
            "maxLength": 4,
            "example": "12"
          },
          "link": {
            "$ref": "#/components/schemas/Link"
          }
        }
      },
      "ArticleListsResult": {
        "title": "Article Lists",
        "description": "Instances of Artice List",
        "type": "object",
        "properties": {
          "articleLists": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ArticleListResult"
            },
            "minItems": 1,
            "maxItems": 50
          }
        }
      },
      "ArticleList": {
        "title": "Article List",
        "type": "object",
        "required": [
          "id",
          "name"
        ],
        "properties": {
          "name": {
            "description": "The name of the article list.",
            "type": "string",
            "pattern": "^[\\w\\W]+$",
            "minLength": 1,
            "maxLength": 255
          },
          "id": {
            "description": "The ID of the article list.<br><br>An article list ID is either a 4-digit number or composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.",
            "type": "string",
            "pattern": "^[0-9]{4}$|^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "minLength": 4,
            "maxLength": 20
          },
          "description": {
            "description": "The description of the article list. The maximum allowed article list description size is 1 KB.",
            "type": "string",
            "pattern": "^[\\w\\W]*$",
            "minLength": 0,
            "maxLength": 1024
          },
          "typeId": {
            "description": "The type of the article list.",
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 1,
            "maxLength": 4,
            "example": "12"
          },
          "articles": {
            "description": "An array of articles that belong to the article list.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ArticleResult"
            },
            "minItems": 0,
            "maxItems": 75
          },
          "link": {
            "$ref": "#/components/schemas/Link"
          }
        }
      },
      "ConfigurableAttribute": {
        "type": "object",
        "required": [
          "name",
          "editable",
          "mandatory"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the attribute."
          },
          "mandatory": {
            "type": "boolean",
            "description": "Indicates if the attribute is mandatory."
          },
          "editable": {
            "type": "boolean",
            "description": "Indicates if the attribute is editable."
          }
        }
      },
      "ConfigurableAttributes": {
        "title": "ConfigurableAttributes",
        "type": "object",
        "properties": {
          "attribute": {
            "type": "array",
            "minItems": 1,
            "maxItems": 50,
            "items": {
              "$ref": "#/components/schemas/ConfigurableAttribute"
            }
          }
        }
      },
      "StringAttributeValue": {
        "title": "StringAttributeValue",
        "type": "object",
        "description": "An attribute can have an external value such as a readable label, and an internal value such as a unique ID. This schema provides both the internal and external values for one attribute.",
        "properties": {
          "internalValue": {
            "type": "string",
            "description": "The internal value of the attribute.",
            "minimum": 1,
            "maximum": 255
          },
          "externalValue": {
            "type": "string",
            "description": "The external or public value of the attribute.",
            "minimum": 1,
            "maximum": 255
          }
        }
      },
      "SearchFilterAttribute": {
        "title": "SearchFilterAttribute",
        "description": "This includes the custom attributes that have been added to the portal for filtering.",
        "type": "object",
        "properties": {
          "internalName": {
            "type": "string",
            "description": "The internal name of a custom attribute.",
            "minimum": 1,
            "maximum": 255
          },
          "externalName": {
            "type": "string",
            "description": "The external or public name of a custom attribute.",
            "minimum": 1,
            "maximum": 255
          },
          "valueType": {
            "enum": [
              "String",
              "Integer",
              "Decimal",
              "Date",
              "Boolean"
            ],
            "description": "The data type of the value of the attribute.",
            "type": "string"
          },
          "isEnumerated": {
            "type": "boolean",
            "description": "Whether the valueType is enumerated."
          },
          "isMultiselect": {
            "type": "boolean",
            "description": "Whether the user can select multiple values."
          },
          "value": {
            "$ref": "#/components/schemas/StringAttributeValue"
          }
        }
      },
      "components-schemas-Tag": {
        "type": "object",
        "description": "Tag",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "description": "Name of the Tag"
          },
          "id": {
            "type": "string",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "description": "The ID of the Tag .<br>A Tag ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."
          }
        }
      },
      "components-schemas-TagGroup": {
        "type": "object",
        "description": "Group of Tags",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "description": "Name of the Tag Group"
          },
          "id": {
            "type": "string",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "description": "The ID of the Tag Group.<br>A Tag Group ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."
          }
        }
      },
      "components-schemas-TagCategory": {
        "type": "object",
        "description": "Tag Categories for Interest configured for a portal.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the Tag Category",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$"
          },
          "id": {
            "type": "string",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "description": "The ID of the Tag Category.<br>A Tag Category ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."
          },
          "tag": {
            "minItems": 0,
            "maxItems": 200,
            "items": {
              "$ref": "#/components/schemas/components-schemas-Tag"
            },
            "type": "array"
          },
          "tagGroup": {
            "minItems": 0,
            "maxItems": 50,
            "items": {
              "$ref": "#/components/schemas/components-schemas-TagGroup"
            }
          }
        }
      },
      "TagCategoriesForInterest": {
        "title": "Tag Categories for Interest",
        "type": "object",
        "properties": {
          "tagCategory": {
            "type": "array",
            "minItems": 0,
            "maxItems": 15,
            "items": {
              "$ref": "#/components/schemas/components-schemas-TagCategory"
            }
          }
        }
      },
      "PortalSettings": {
        "title": "Portal Settings",
        "description": "The settings for this portal.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "isAnnoucementsEnabled": {
            "description": "Whether the announcements section is enabled on this portal.",
            "type": "boolean"
          },
          "isArticleFeedbackEnabled": {
            "description": "Whether article feedback is allowed.",
            "type": "boolean"
          },
          "isArticleFeedbackCommentsEnabled": {
            "description": "Whether comments should be included in the feedback.",
            "type": "boolean"
          },
          "isArticleFeedbackSummaryEnabled": {
            "description": "Whether a summary of feedback ratings should be displayed.",
            "type": "boolean"
          },
          "isRelatedArticlesInSameTopicEnabled": {
            "description": "Whether all articles in the same topic are automatically treated as related articles.",
            "type": "boolean"
          },
          "isRelatedArticlesEnabled": {
            "description": "Whether the related articles section is shown.",
            "type": "boolean"
          },
          "isAuthenticationRequired": {
            "description": "Whether the portal requires authentication for access.",
            "type": "boolean"
          },
          "isAgentsSSOEnabled": {
            "description": "Whether SSO is enabled for agents",
            "type": "boolean"
          },
          "isAgentsDelegatedAuthenticationEnabled": {
            "description": "Whether delegated authentication is enabled for agents",
            "type": "boolean"
          },
          "customerProfileAttributes": {
            "$ref": "#/components/schemas/ConfigurableAttributes"
          },
          "isPopularArticlesListEnabled": {
            "description": "Whether the popular articles list is displayed. Maximum of 50 popular articles will be dislpayed.",
            "type": "boolean"
          },
          "popularArticlesListInfluenceWeight": {
            "description": "The weight assigned to the influence of related articles on the ranking of popular articles in the ranking formula.",
            "type": "number",
            "format": "double",
            "minimum": 0,
            "maximum": 100
          },
          "popularArticlesListInfluencePeriod": {
            "description": "The timeframe in days that related articles affect the ranking of popular articles in the ranking formula.",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "maximum": 100
          },
          "appendSessionJourneyToEmail": {
            "description": "Whether the session transcript should be appended to the email message.",
            "type": "boolean"
          },
          "isArticleSuggestionsBeforeEscalationEnabled": {
            "description": "Whether a user is  shown suggested articles before escalating.",
            "type": "boolean"
          },
          "isEscalationToEmailEnabled": {
            "description": "Whether the user can ask a question via email if Guided Help doesn’t provide an answer, triggering a search before escalation.",
            "type": "boolean"
          },
          "numberOfSuggestedArticlesBeforeEscalation": {
            "description": "The number of articles to show to a customer before escalation.",
            "type": "integer",
            "format": "int32",
            "minimum": 0,
            "maximum": 10
          },
          "isGHEnabled": {
            "description": "Whether guided help is enabled.",
            "type": "boolean"
          },
          "isGHInSearchResultsEnabled": {
            "description": "Whether to show guided help results in search results.",
            "type": "boolean"
          },
          "isGHStartupQuestionsBeforeUnansweredQuestionsEnabled": {
            "description": "Whether startup questions should be presented before unanswered questions in Guided Help.",
            "type": "boolean"
          },
          "isGHDetailsForSearchEnabled": {
            "description": "Whether additional information should be shown in search results.",
            "type": "boolean"
          },
          "isGHShortNameInSearchEnabled": {
            "description": "When enabled it shows the short names in results.",
            "type": "boolean"
          },
          "isGHClusterScopeDiagnosticsEnabled": {
            "description": "Whether to show Cluster scope diagnostics during execution.",
            "type": "boolean"
          },
          "isGHResultsShownOnSuccessfulSearch": {
            "type": "boolean",
            "description": "Whether to automatically display results on search success."
          },
          "isGHControlActionDiagnosticsEnabled": {
            "description": "isGHControlActionDiagnosticsEnabled",
            "type": "boolean"
          },
          "GHFailureSuccessThreshold": {
            "description": "A value from range that indicates the failure-success score",
            "type": "number",
            "format": "double",
            "minimum": 0,
            "maximum": 100
          },
          "maxGHAnsweredQuestions": {
            "description": "A value indicating the maximum number of answered questions.",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "maximum": 100
          },
          "maxGHUnansweredQuestions": {
            "description": "A value indicating the maximum number of unanswered questions.",
            "type": "integer",
            "format": "int32",
            "minimum": 0,
            "maximum": 100
          },
          "maxGHSearchResults": {
            "description": "Maximum number of guided help results to return.",
            "type": "integer",
            "format": "int32",
            "minimum": 0,
            "maximum": 10
          },
          "isSearchAutocompleteEnabled": {
            "description": "Whether the autocomplete interface should be enabled.",
            "type": "boolean"
          },
          "isWebSearchEnabled": {
            "description": "Whether web searches should be performed as part of multi-search.",
            "type": "boolean"
          },
          "maxWebSearchResults": {
            "description": "The maximum number of results from the web search to return.",
            "type": "integer",
            "format": "int32",
            "minimum": 5,
            "maximum": 25
          },
          "webSearchDomain": {
            "description": "Use this to restrict web search results to a specific domain.",
            "type": "string",
            "pattern": "^(https?|ftp):\\/\\/[^\\s/$.?#].[^\\s]*$|^$",
            "minimum": 0,
            "maximum": 1000
          },
          "isIntranetSearchEnabled": {
            "description": "Whether intranet results should be returned as part of multi-search.",
            "type": "boolean"
          },
          "maxIntranetSearchResults": {
            "description": "The maximum number of results from an intranet search to return.",
            "type": "integer",
            "format": "int32",
            "minimum": 5,
            "maximum": 25
          },
          "intranetSearchURL": {
            "description": "The URL for the Intranet Search.",
            "type": "string",
            "minimum": 1,
            "maximum": 255
          },
          "isSpellcheckEnabled": {
            "description": "Whether spell-correction should be performed on search queries. The corrected query is returned with the results, but is not automatically used.",
            "type": "boolean"
          },
          "questionMatchingEngineURL": {
            "description": "The URL for the question matching engine.",
            "type": "string",
            "minimum": 1,
            "maximum": 255
          },
          "isCustomAttributesFilteringEnabled": {
            "description": "Whether search results should be filtered by custom attribute values.",
            "type": "boolean"
          },
          "customAttributesForSearchFilter": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SearchFilterAttribute"
            }
          },
          "searchLearningInclusionThreshold": {
            "description": "The minimum number of accepts and rejects of an article before article ranking is affected.",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "maximum": 99999
          },
          "searchLearningInfluence": {
            "description": "A ranking multiplier for learned scoring.",
            "type": "integer",
            "format": "int32",
            "minimum": 0,
            "maximum": 1000
          },
          "searchLearningLevel": {
            "enum": [
              0,
              1,
              2,
              3,
              4
            ],
            "description": "Affects the influence of learning on search rankings. 0 = off, 1 = low, 2 = medium, 3 = high, 4 = custom.",
            "type": "integer",
            "format": "int32"
          },
          "searchLearningMaxInfluence": {
            "description": "The maximum influence allowed for learned scoring.",
            "type": "integer",
            "format": "int32",
            "minimum": 0,
            "maximum": 1000
          },
          "searchRelatedTermWeight": {
            "description": "The weight assigned to related terms during search.",
            "type": "number",
            "format": "double",
            "minimum": -1,
            "maximum": 1
          },
          "searchRelatedTermsMinResultsThreshold": {
            "description": "If the number of search results is less than or equal to this value, a search with related terms will be used to fill in results.",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "maximum": 99999
          },
          "isArticleSuggestionsEnabled": {
            "description": "Whether users can make suggestions on an article.",
            "type": "boolean"
          },
          "isMySuggestionsEnabled": {
            "description": "Whether a user can view their suggestions.",
            "type": "boolean"
          },
          "isCaptchaEnabled": {
            "description": "Whether CAPTCHA is enabled or not in the portal.",
            "type": "boolean"
          },
          "captchaSiteKey": {
            "description": "The configured CAPTCHA site key.",
            "type": "string",
            "minimum": 1,
            "maximum": 40
          },
          "isArticleSharingEnabled": {
            "description": "Whether the article sharing is enabled.",
            "type": "boolean"
          },
          "tagCategoriesForSearchFilter": {
            "$ref": "#/components/schemas/TagCategoriesForInterest"
          }
        }
      },
      "Portal": {
        "title": "Portal",
        "type": "object",
        "required": [
          "id",
          "name"
        ],
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "description": "The alphanumeric ID of the portal.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.",
            "minLength": 7,
            "maxLength": 20
          },
          "name": {
            "description": "The name of the portal.",
            "type": "string",
            "pattern": "^[\\w\\W]+$",
            "minLength": 1,
            "maxLength": 255
          },
          "departmentId": {
            "description": "The ID of the department.",
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 3,
            "maxLength": 10,
            "example": "1000001035"
          },
          "description": {
            "description": "The description of the portal.",
            "type": "string",
            "pattern": "^[\\w\\W]+$",
            "minLength": 1,
            "maxLength": 255
          },
          "defaultContentLanguageId": {
            "description": "The default ID of the language for the portal content.",
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 1,
            "maxLength": 10,
            "example": "1"
          },
          "defaultContentLanguageCode": {
            "description": "The IETF code of the default language for the portal content.",
            "type": "string",
            "pattern": "^[\\w\\W]+$",
            "minLength": 1,
            "maxLength": 255
          },
          "createdBy": {
            "$ref": "#/components/schemas/createdBy"
          },
          "createdDate": {
            "description": "The date that the portal was created.",
            "type": "string",
            "format": "DateAndTime",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$",
            "minLength": 19,
            "maxLength": 25
          },
          "modifiedBy": {
            "$ref": "#/components/schemas/modifiedBy"
          },
          "modifiedDate": {
            "description": "The date on which the portal was last modified.",
            "type": "string",
            "format": "DateAndTime",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$"
          },
          "isStructuredAuthoringEnabled": {
            "description": "Indicates if Structured Authoring is enabled for the portal.",
            "type": "boolean"
          },
          "enableDraftSearchInPortal": {
            "description": "Indicates if Enable Portal Search for Draft and Staging Articles is enabled for the portal.",
            "type": "boolean"
          },
          "portalSettings": {
            "$ref": "#/components/schemas/PortalSettings"
          },
          "kbLanguages": {
            "$ref": "#/components/schemas/KbLanguages"
          },
          "link": {
            "$ref": "#/components/schemas/Link"
          }
        }
      },
      "PortalResult": {
        "title": "Portal Result",
        "type": "object",
        "properties": {
          "portal": {
            "description": "portals",
            "items": {
              "$ref": "#/components/schemas/Portal"
            },
            "type": "array"
          },
          "paginationInfo": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        }
      },
      "Department": {
        "title": "Department of Portal",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[1-9]\\d*$",
            "minLength": 3,
            "maxLength": 10,
            "example": "1000001035",
            "description": "ID of department"
          },
          "name": {
            "type": "string",
            "minLength": 0,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "description": "Name of Department"
          }
        }
      },
      "ShortURL": {
        "title": "ShortURL",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "description": "The alphanumeric ID of the short URL.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.",
            "minLength": 7,
            "maxLength": 20
          },
          "templateName": {
            "type": "string",
            "minLength": 0,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "description": "Name of template"
          },
          "shortURLName": {
            "type": "string",
            "minLength": 0,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "description": "Name of ShortURL"
          },
          "isDefault": {
            "type": "boolean"
          }
        }
      },
      "AccessiblePortal": {
        "title": "Portals accessible to agent",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "minLength": 7,
            "maxLength": 20,
            "description": "ID of portal. <br>A Portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "description": "Name of portal"
          },
          "description": {
            "type": "string",
            "minLength": 0,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "description": "Description of portal"
          },
          "department": {
            "$ref": "#/components/schemas/Department"
          },
          "shortURL": {
            "title": "ShortURLs",
            "items": {
              "$ref": "#/components/schemas/ShortURL"
            },
            "type": "array"
          }
        }
      },
      "AllAccessiblePortals": {
        "title": "Portal accessible to agent",
        "type": "object",
        "properties": {
          "portal": {
            "description": "portals",
            "items": {
              "$ref": "#/components/schemas/AccessiblePortal"
            },
            "type": "array"
          },
          "paginationInfo": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        }
      },
      "AdditionalSnippets": {
        "type": "object",
        "required": [
          "id",
          "name",
          "docType",
          "snippet",
          "normalizedScore"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "The ID of the Article. <br><br> An Article ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "example": "PROD-2996"
          },
          "name": {
            "type": "string",
            "description": "The name of the Article or source content.",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "example": "Fair Lending FAQs"
          },
          "docType": {
            "type": "string",
            "enum": [
              "HTML",
              "DOCX",
              "PDF",
              "PPTX"
            ],
            "description": "Format of the source document (HTML, DOCX, PPTX or PDF).",
            "example": "DOCX"
          },
          "docName": {
            "type": "string",
            "description": "Name of the attachment, if an attachment was used as the source content.",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "example": "Banking FAQs"
          },
          "snippet": {
            "type": "string",
            "description": "A snippet of the article content.",
            "minLength": 0,
            "maxLength": 5000,
            "pattern": "^[\\w\\W]*$",
            "example": "The following Banking FAQs..."
          },
          "keywordSnippet": {
            "type": "string",
            "description": "A keyword snippet of the article content.",
            "minLength": 0,
            "maxLength": 5000,
            "pattern": "^[\\w\\W]*$",
            "example": "The following Banking FAQs..."
          },
          "relevanceScore": {
            "type": "number",
            "format": "float",
            "description": "Generated confidence score (0.0-1.0) for the snippet's relevance to the query.",
            "minimum": 0,
            "maximum": 1,
            "example": 0.7
          },
          "normalizedScore": {
            "type": "number",
            "format": "float",
            "description": "Score (0.0-1.0) normalized across all results, where the top result is 1.0 and the lowest is 0.0.",
            "minimum": 0,
            "maximum": 1,
            "example": 0.9
          }
        }
      },
      "AITopicSummary": {
        "title": "Topic Summary",
        "type": "object",
        "description": "This schema contains the topic ID and name of the topics. This is used by TopicBreadcrumb.",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "description": "The alphanumeric ID of the topic.<br><br>A topic ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.",
            "minLength": 7,
            "maxLength": 20,
            "example": "PROD-1921"
          },
          "name": {
            "type": "string",
            "description": "The name of the topic.",
            "pattern": "^[\\w\\W]*$",
            "minLength": 1,
            "maxLength": 255,
            "example": "Banking Regulations"
          }
        }
      },
      "AITopicBreadcrumb": {
        "title": "Topic Breadcrumb",
        "type": "object",
        "description": "This schema contains one or more TopicSummary instances.",
        "properties": {
          "topicSummary": {
            "items": {
              "$ref": "#/components/schemas/AITopicSummary"
            },
            "description": "An instance of TopicSummary.",
            "type": "array",
            "minItems": 1,
            "maxItems": 50
          }
        }
      },
      "schemas-Tags": {
        "title": "Tags",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Tag Category ID",
            "minLength": 6,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "Tag ID",
              "minLength": 6,
              "maxLength": 20,
              "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$"
            },
            "minItems": 1,
            "maxItems": 20
          }
        }
      },
      "ArticleAISearchResult": {
        "type": "object",
        "required": [
          "id",
          "name",
          "docType",
          "source",
          "snippet",
          "normalizedScore",
          "topicBreadcrumb"
        ],
        "description": "Represents a single document or snippet returned by search, along with its metadata and relevance score.",
        "properties": {
          "id": {
            "type": "string",
            "description": "The ID of the Article. <br><br> An Article ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "example": "PROD-2996"
          },
          "name": {
            "type": "string",
            "description": "The name of the Article or source content.",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "example": "Fair Lending FAQs"
          },
          "docType": {
            "type": "string",
            "enum": [
              "HTML",
              "DOCX",
              "PDF",
              "PPTX"
            ],
            "description": "Format of the source document (HTML, DOCX, PPTX or PDF).",
            "example": "PDF"
          },
          "docName": {
            "type": "string",
            "description": "Name of the attachment, if an attachment was used as the source content.",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "example": "Lending FAQs"
          },
          "source": {
            "type": "string",
            "enum": [
              "eGain Article",
              "eGain Attachment"
            ],
            "description": "The source type.",
            "example": "eGain Article"
          },
          "customAttributes": {
            "type": "array",
            "description": "Custom attributes assigned to an article",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 4000,
                  "pattern": "^[\\w\\W]+$",
                  "description": "The custom attribute's name.",
                  "example": "loan_id"
                },
                "value": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "The custom attribute's values.",
                  "example": [
                    "78391"
                  ]
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "STRING",
                    "INTEGER",
                    "BOOLEAN",
                    "DATETIME"
                  ],
                  "description": "The custom attribute's type.",
                  "example": "STRING"
                }
              }
            },
            "minItems": 0,
            "maxItems": 15
          },
          "snippet": {
            "type": "string",
            "description": "A semantic snippet of the article content.",
            "minLength": 0,
            "maxLength": 5000,
            "pattern": "^[\\w\\W]*$",
            "example": "What is fair lending..."
          },
          "keywordSnippet": {
            "type": "string",
            "description": "A keyword search snippet of article content.",
            "minLength": 0,
            "maxLength": 5000,
            "pattern": "^[\\w\\W]*$",
            "example": "What is fair lending..."
          },
          "additionalSnippets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdditionalSnippets"
            },
            "minItems": 0,
            "maxItems": 5,
            "description": "An array of snippets belonging to the same article."
          },
          "additionalSnippetCount": {
            "type": "integer",
            "minimum": 0,
            "maximum": 5,
            "description": "Number of additional snippets.",
            "example": 1
          },
          "contextualSummary": {
            "type": "string",
            "description": "Contextual Summary generated as part of metadata for the chunk content.",
            "minLength": 0,
            "maxLength": 1000,
            "pattern": "^[\\w\\W]*$",
            "example": "The summary of the lending FAQ..."
          },
          "modifiedDate": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$",
            "minLength": 20,
            "maxLength": 25,
            "description": "The date on which the Article was last modified.",
            "example": "2025-01-28T19:53:58Z"
          },
          "headerPath": {
            "type": "string",
            "minLength": 0,
            "maxLength": 100,
            "description": "The header path of the snippet retrieved.",
            "pattern": "^[\\w\\W]*$",
            "example": "FAQs"
          },
          "topicBreadcrumb": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AITopicBreadcrumb"
            },
            "minItems": 1,
            "maxItems": 50,
            "description": "A list of topics from the root topic to this Article. There may be multiple paths."
          },
          "tagCategories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/schemas-Tags"
            },
            "description": "An array of tag categories. Note that the total number of tag categories cannot exceed 20.",
            "minItems": 0,
            "maxItems": 20
          },
          "articleTypeAttributes": {
            "type": "object",
            "description": "The type of the Article and its attributes.",
            "properties": {
              "typeName": {
                "type": "string",
                "example": "General",
                "description": "Indicates the article category name.",
                "minLength": 1,
                "maxLength": 255
              },
              "articleTypeId": {
                "description": "The ID of the Article Type.",
                "minLength": 15,
                "maxLength": 15,
                "pattern": "^[0-9]+$",
                "example": 243500000023393
              }
            }
          },
          "relevanceScore": {
            "type": "number",
            "format": "float",
            "description": "Query-specific relevance score (0.0-1.0) that reflects how well the result matches the user query. This score is only available when a re-ranker is enabled and represents a direct relevance comparison between the query and the returned snippet.\n",
            "minimum": 0,
            "maximum": 1,
            "example": 0.8
          },
          "normalizedScore": {
            "type": "number",
            "format": "float",
            "description": "Relative ranking score (0.0-1.0) normalized across all returned results, based on a combination of BM25 and semantic similarity scores. This score indicates how a result ranks compared to others in the same response, not its absolute relevance to the query. As a result, a high score does not necessarily imply strong query relevance.\n",
            "minimum": 0,
            "maximum": 1,
            "example": 0.9
          }
        }
      },
      "AISPaginationInfo": {
        "type": "object",
        "title": "PaginationInfo",
        "required": [
          "count",
          "pagenum",
          "pagesize"
        ],
        "properties": {
          "count": {
            "title": "count",
            "description": "The total number of pages.",
            "type": "integer",
            "minimum": 0,
            "maximum": 1,
            "default": 1
          },
          "pagenum": {
            "title": "pagenum",
            "description": "The page number requested. Page numbers start from 1.",
            "type": "integer",
            "minimum": 1,
            "maximum": 1,
            "default": 1
          },
          "pagesize": {
            "title": "pagesize",
            "description": "The number of objects requested per page. The maximum number of objects per page is 75.",
            "type": "integer",
            "minimum": 1,
            "maximum": 30,
            "default": 20
          },
          "link": {
            "title": "link",
            "description": "Can include the *prev* and *next* link.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Link"
            },
            "maxItems": 2,
            "minItems": 0
          }
        }
      },
      "AISearchResponse": {
        "type": "object",
        "required": [
          "searchResults"
        ],
        "properties": {
          "searchResults": {
            "type": "object",
            "description": "Top search results with relevance scores",
            "properties": {
              "article": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ArticleAISearchResult"
                },
                "minItems": 1,
                "maxItems": 50
              }
            }
          },
          "paginationInfo": {
            "$ref": "#/components/schemas/AISPaginationInfo"
          }
        }
      },
      "Suggestion": {
        "description": "This schema contains information about a Suggestion.",
        "title": "suggestion",
        "type": "object",
        "required": [
          "id",
          "name"
        ],
        "properties": {
          "id": {
            "description": "The ID of the Suggestion. A Suggestion ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.",
            "type": "string",
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "example": "PROD-0623",
            "minLength": 7,
            "maxLength": 20
          },
          "link": {
            "$ref": "#/components/schemas/Link"
          },
          "name": {
            "description": "The name of the Suggestion.",
            "type": "string",
            "pattern": "^[\\s\\S]*\\S[\\s\\S]*$",
            "minLength": 1,
            "maxLength": 255
          },
          "description": {
            "description": "The description of the Suggestion.",
            "type": "string",
            "pattern": "^[\\w\\W]*$",
            "minLength": 0,
            "maxLength": 255
          },
          "content": {
            "description": "The content of the Suggestion.",
            "type": "string",
            "pattern": "^[\\s\\S]*\\S[\\s\\S]*$",
            "minLength": 1,
            "maxLength": 4000
          },
          "hasRelatedArticles": {
            "type": "boolean",
            "description": "If true, the Suggestion has one or more Related Articles."
          },
          "status": {
            "type": "object",
            "title": "L10NString",
            "properties": {
              "value": {
                "title": "value",
                "description": "A string that indicates the value.",
                "type": "string"
              },
              "displayValue": {
                "title": "displayValue",
                "description": "Localized string of the value element.",
                "type": "string"
              }
            },
            "description": "The status of the Suggestion.\n<li>1 : suggested.</li>\n<li>2 : pending</li>\n<li>3 : declined</li>\n<li>4 : approved</li>",
            "pattern": "^[1-4]$",
            "minLength": 1,
            "maxLength": 1
          },
          "modifiedBy": {
            "$ref": "#/components/schemas/modifiedBy"
          },
          "modifiedDate": {
            "description": "The last modified date and last modifying user of the Suggestion.",
            "type": "string",
            "format": "date-time",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$",
            "minLength": 20,
            "maxLength": 25
          },
          "hasAttachments": {
            "description": "Indicates whether the Suggestion has any Attachments.",
            "type": "boolean"
          },
          "hasComments": {
            "description": "Indicates whether the Suggestion has any comments.",
            "type": "boolean"
          },
          "language": {
            "type": "object",
            "title": "Language",
            "required": [
              "code"
            ],
            "properties": {
              "code": {
                "title": "code",
                "description": "The language that describes the details of the resource. Resources available in different languages may differ from each other.",
                "type": "string",
                "enum": [
                  "en-US",
                  "en-GB",
                  "fr-FR",
                  "es-ES",
                  "it-IT",
                  "de-DE",
                  "nl-NL",
                  "pt-BR",
                  "pt-PT",
                  "da-DK",
                  "sv-SE",
                  "ru-RU",
                  "zh-CN",
                  "ja-JP",
                  "ko-KR",
                  "de-AT",
                  "th-TH",
                  "vi-VN",
                  "id-ID",
                  "ms-MY",
                  "fil-PH",
                  "fr-CA",
                  "hi-IN",
                  "uk-UA",
                  "bg-BG",
                  "sk-SK",
                  "sl-SI"
                ]
              },
              "label": {
                "title": "label",
                "description": "The name of the language.",
                "type": "string",
                "enum": [
                  "English",
                  "French",
                  "Spanish",
                  "Italian",
                  "German",
                  "Dutch",
                  "Portuguese",
                  "Danish",
                  "Swedish",
                  "Russian",
                  "Chinese",
                  "Japanese",
                  "Korean",
                  "Thai",
                  "Vietnamese",
                  "Indonesian",
                  "Malay",
                  "Filipino",
                  "Hindi",
                  "Ukrainian",
                  "Bulgarian",
                  "Slovak",
                  "Slovene",
                  "Serbian"
                ]
              }
            },
            "description": "The knowledge base language in which the Suggestion was created."
          },
          "customAttributes": {
            "items": {
              "$ref": "#/components/schemas/CustomAttribute"
            },
            "type": "array",
            "minItems": 0,
            "maxItems": 15,
            "description": "Custom Attributes of the Suggestion."
          }
        }
      },
      "Suggestions": {
        "title": "suggestions",
        "type": "object",
        "description": "One or more instances of Suggestion.",
        "properties": {
          "Suggestion": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Suggestion"
            }
          },
          "paginationInfo": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        }
      },
      "AttachmentForCreateSuggestion": {
        "description": "This schema contains the definition of an Attachment.",
        "title": "attachment",
        "type": "object",
        "properties": {
          "altId": {
            "description": "The alternate Id of the Attachment that was obtained after calling **[Generate signed URL to upload an attachment](../../../../../v3/core/filemgr/api-bundled/storageservice/generatepreuploadurl)**.\n",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
            "minLength": 36,
            "maxLength": 36
          }
        }
      },
      "ModifySuggestion": {
        "description": "This schema contains information about modifying a Suggestion.",
        "title": "suggestion",
        "type": "object",
        "required": [
          "id",
          "modifiedDate"
        ],
        "properties": {
          "id": {
            "description": "The ID of the Suggestion. A Suggestion ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.",
            "type": "string",
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "example": "PROD-3259",
            "minLength": 7,
            "maxLength": 20
          },
          "name": {
            "description": "The name of the Suggestion.",
            "type": "string",
            "pattern": "^[\\s\\S]*\\S[\\s\\S]*$",
            "minLength": 1,
            "maxLength": 255
          },
          "description": {
            "description": "The description of the Suggestion.",
            "type": "string",
            "pattern": "^[\\w\\W]*$",
            "minLength": 0,
            "maxLength": 255
          },
          "content": {
            "description": "The content of the Suggestion.",
            "type": "string",
            "pattern": "^[\\s\\S]*\\S[\\s\\S]*$",
            "minLength": 1,
            "maxLength": 4000
          },
          "modifiedDate": {
            "description": "The date on which the Suggestion was last modified.",
            "type": "string",
            "format": "DateAndTime",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$",
            "minLength": 20,
            "maxLength": 25
          },
          "attachments": {
            "title": "attachments",
            "type": "object",
            "properties": {
              "attachment": {
                "description": "The list of Attachments.<br><br>Required if <code>content</code> and <code>Attachments.unlink</code> are both _not_ provided.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AttachmentForCreateSuggestion"
                },
                "maxItems": 250
              },
              "unlink": {
                "description": "If provided with references to Attachments, <code>unlink</code> removes the Attachment from the Suggestion.<br><br>If the Attachment has no associated objects, it will be deleted.<br><br>Required if <code>content</code> and <code>Attachments.Attachment</code> are both _not_ provided.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Link"
                },
                "maxItems": 250
              }
            },
            "description": "Details of Attachments for the Suggestion."
          },
          "customAttributes": {
            "items": {
              "$ref": "#/components/schemas/CustomAttribute"
            },
            "type": "array",
            "minItems": 0,
            "maxItems": 15,
            "description": "Custom Attributes of the Suggestion."
          }
        }
      },
      "CreateSuggestion": {
        "description": "This schema contains information about a Suggestion.",
        "title": "CreateSuggestion",
        "type": "object",
        "required": [
          "name",
          "content",
          "language"
        ],
        "properties": {
          "name": {
            "description": "The name of the Suggestion.",
            "type": "string",
            "pattern": "^[\\s\\S]*\\S[\\s\\S]*$",
            "minLength": 1,
            "maxLength": 255
          },
          "description": {
            "description": "The description of the Suggestion.",
            "type": "string",
            "pattern": "^[\\w\\W]*$",
            "minLength": 0,
            "maxLength": 255
          },
          "content": {
            "description": "The content of the Suggestion.",
            "type": "string",
            "pattern": "^[\\s\\S]*\\S[\\s\\S]*$",
            "minLength": 1,
            "maxLength": 4000
          },
          "feedbackArticle": {
            "title": "RelatedArticleForCreateUpdateDeleteSuggestion",
            "type": "object",
            "properties": {
              "id": {
                "description": "The ID of a Related Article.<br><br>An Article ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.",
                "type": "string",
                "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
                "example": "PROD-9821",
                "minLength": 7,
                "maxLength": 20
              }
            },
            "description": "The Article that the Suggestion was created for."
          },
          "attachments": {
            "title": "attachments",
            "type": "object",
            "properties": {
              "attachment": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AttachmentForCreateSuggestion"
                },
                "maxItems": 20,
                "description": "The list of Attachments."
              }
            },
            "description": "Details of Attachments for the Suggestion."
          },
          "language": {
            "type": "object",
            "title": "Language",
            "required": [
              "code"
            ],
            "properties": {
              "code": {
                "description": "The code of the language.",
                "type": "string",
                "enum": [
                  "en-US",
                  "fr-FR",
                  "en-GB",
                  "es-ES",
                  "it-IT",
                  "nl-NL",
                  "da-DA",
                  "sv-SE",
                  "pt-PT",
                  "fi-FI",
                  "no-NB",
                  "no-NN",
                  "ja-JA",
                  "de-DE",
                  "pt-BR",
                  "zh-CN",
                  "zh-TW",
                  "ko-KO",
                  "ru-RU",
                  "el-EL",
                  "tr-TR",
                  "pl-PL",
                  "cs-CS",
                  "sk-SK",
                  "hu-HU",
                  "sr-SR",
                  "ar-SA",
                  "hr-HR",
                  "ro-RO",
                  "th-TH",
                  "de-AT",
                  "vi-VN",
                  "id-ID",
                  "ms-MY",
                  "fil-PH",
                  "fr-CA",
                  "hi-IN",
                  "uk-UA",
                  "bg-BG",
                  "sl-SI",
                  "xx-XX"
                ]
              }
            },
            "description": "The knowledge base language in which the Suggestion is created."
          },
          "customAttributes": {
            "description": "The Custom Attributes of the Suggestion.",
            "minItems": 0,
            "maxItems": 15,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomAttribute"
            }
          }
        }
      },
      "FeedbackArticleForSuggestion": {
        "description": "This schema contains information about a Suggestion.",
        "title": "suggestion",
        "type": "object",
        "properties": {
          "id": {
            "description": "The ID of the Suggestion. A Suggestion ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.",
            "type": "string",
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "example": "PROD-3259",
            "minLength": 7,
            "maxLength": 20
          },
          "name": {
            "description": "The name of the Suggestion.",
            "type": "string",
            "pattern": "^[\\s\\S]*\\S[\\s\\S]*$",
            "minLength": 1,
            "maxLength": 255
          },
          "relatedArticles": {
            "description": "Related Articles for the Suggestion.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ArticleResult"
            }
          }
        }
      },
      "Comment": {
        "description": "This schema contains the definition of a comment object.",
        "title": "Comment",
        "type": "object",
        "properties": {
          "id": {
            "properties": {},
            "description": "The ID of the comment.",
            "type": "string",
            "minLength": 1,
            "maxLength": 9,
            "pattern": "^[1-9]\\d*$"
          },
          "content": {
            "properties": {},
            "description": "The content of the comment.",
            "type": "string",
            "pattern": "^[\\s\\S]*\\S[\\s\\S]*$",
            "minLength": 1,
            "maxLength": 2000
          },
          "createdBy": {
            "$ref": "#/components/schemas/createdBy"
          },
          "createdDate": {
            "type": "string",
            "format": "DateAndTime",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$",
            "minLength": 20,
            "maxLength": 25
          }
        }
      },
      "Comments": {
        "description": "This schema contains the definition of an array of comments.",
        "title": "Comments",
        "type": "object",
        "properties": {
          "count": {
            "properties": {},
            "description": "The number of comments.",
            "type": "integer",
            "format": "int32",
            "minimum": 0,
            "maximum": 75
          },
          "comments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Comment"
            },
            "minItems": 1,
            "maxItems": 75,
            "description": "The list of comments."
          }
        }
      },
      "CreateComment": {
        "description": "This schema contains the definition for comment creation.",
        "title": "Comment",
        "type": "object",
        "properties": {
          "content": {
            "description": "Content of the Comment",
            "type": "string",
            "pattern": "^[\\s\\S]*\\S[\\s\\S]*$",
            "minLength": 1,
            "maxLength": 2000
          }
        }
      },
      "AttachmentSummary": {
        "description": "Summary attributes for an Attachment.",
        "title": "attachment",
        "type": "object",
        "properties": {
          "id": {
            "properties": {},
            "description": "The ID of the Attachment.",
            "type": "string",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "example": "PROD-1001"
          },
          "link": {
            "$ref": "#/components/schemas/Link"
          },
          "fileName": {
            "properties": {},
            "description": "The name of the Attachment file.<li>This must not exceed 255 characters.</li>",
            "type": "string",
            "maxLength": 255,
            "minLength": 1
          },
          "size": {
            "properties": {},
            "description": "The size of the Attachment.<li>Limited to 25MB.</li>",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "maximum": 26214400
          }
        }
      },
      "Attachments": {
        "description": "This schema contains the definition of Attachments.",
        "title": "attachments",
        "type": "object",
        "properties": {
          "count": {
            "properties": {},
            "description": "The number of Attachments in the list.",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "maximum": 25
          },
          "link": {
            "$ref": "#/components/schemas/Link"
          },
          "Attachments": {
            "description": "The list of Attachments.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AttachmentSummary"
            },
            "minItems": 1,
            "maxItems": 25
          }
        }
      },
      "SuggestionAttachment": {
        "description": "This schema contains the definition of an Attachment.",
        "title": "attachment",
        "type": "object",
        "properties": {
          "id": {
            "properties": {},
            "description": "The ID of the Attachment.",
            "type": "string",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "example": "PROD-1001"
          },
          "link": {
            "$ref": "#/components/schemas/Link"
          },
          "fileName": {
            "properties": {},
            "description": "The name of the Attachment file.<li>This must not exceed 255 characters.</li>",
            "type": "string",
            "maxLength": 255,
            "minLength": 1
          },
          "size": {
            "properties": {},
            "description": "The size of the Attachment.<li>Limited to 25MB.</li>",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "maximum": 26214400
          },
          "contentUrl": {
            "properties": {},
            "description": "The content URL of the Attachment. Download immediately, as this unique URL exists temporarily and can only be retrieved once before deletion. \n",
            "type": "string",
            "maxLength": 1024,
            "minLength": 1
          }
        }
      },
      "Milestones": {
        "type": "object",
        "title": "Milestones",
        "properties": {
          "milestone": {
            "description": "milestones",
            "items": {
              "$ref": "#/components/schemas/Milestone"
            },
            "type": "array"
          }
        }
      },
      "ArticlePermissions": {
        "type": "object",
        "description": "User permissions on the parent folder.",
        "properties": {
          "view": {
            "type": "boolean",
            "description": "User has 'View Folder' permission on the parent folder."
          },
          "edit": {
            "type": "boolean",
            "description": "User has 'Edit Article' permission on the parent folder."
          }
        }
      },
      "ArticlePermissionsResult": {
        "title": "ArticlePermissions",
        "type": "object",
        "description": "User permissions on the parent folder.",
        "properties": {
          "articleID": {
            "type": "string",
            "description": "ID of Article",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "example": "EGSP-2433"
          },
          "permissions": {
            "$ref": "#/components/schemas/ArticlePermissions"
          }
        }
      },
      "KbLanguageCode": {
        "description": "A short language code. A list of codes can be found below:\n\n|Code|Description\n|----|----------- \n|en-US|English (United States)\n|en-GB|English (United Kingdom)\n|fr-FR|French (France)\n|es-ES|Spanish (Spain)\n|it-IT|Italian (Italy)\n|de-DE|German (Germany)\n|nl-NL|Dutch (Netherlands)\n|pt-BR|Portuguese (Brazil)\n|pt-PT|Portuguese (Portugal)\n|da-DK|Danish (Denmark)\n|sv-SE|Swedish (Sweden)\n|ru-RU|Russian (Russia)\n|fr-CA|French (Canada)\n|zh-CN|Chinese (Simplified, China)\n|ja-JP|Japanese (Japan)\n|ko-KR|Korean (South Korea)\n|nn-NO|Norwegian Nynorsk (Norway)\n",
        "type": "string",
        "enum": [
          "en-US",
          "en-GB",
          "fr-FR",
          "es-ES",
          "it-IT",
          "de-DE",
          "nl-NL",
          "pt-BR",
          "pt-PT",
          "da-DK",
          "sv-SE",
          "ru-RU",
          "fr-CA",
          "zh-CN",
          "ja-JP",
          "ko-KR",
          "nn-NO"
        ]
      },
      "CreateFederatedSearchEvent": {
        "title": "CreateFederatedSearchEvent",
        "type": "object",
        "required": [
          "q",
          "resultType",
          "url",
          "title",
          "languageCode"
        ],
        "properties": {
          "q": {
            "type": "string",
            "pattern": "^[\\w\\W]+$",
            "minLength": 1,
            "maxLength": 1024,
            "example": "India",
            "description": "The search string that was entered by the user"
          },
          "resultType": {
            "type": "string",
            "enum": [
              "external",
              "internal"
            ],
            "description": "Only \"external\" or \"internal\" allowed",
            "example": "external"
          },
          "url": {
            "type": "string",
            "pattern": "^(https?|ftp):\\/\\/([a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,6}(:\\d+)?(\\/[^\\s]*)?$",
            "minLength": 10,
            "maxLength": 2000,
            "example": "https://egain.com/"
          },
          "title": {
            "type": "string",
            "pattern": "^[\\w\\W]+$",
            "minLength": 1,
            "maxLength": 255,
            "example": "Welcome to eGain"
          },
          "languageCode": {
            "$ref": "#/components/schemas/KbLanguageCode"
          }
        }
      },
      "createSearchResultEventForConnectors": {
        "type": "object",
        "title": "createViewedSearchResultEventForConnectors",
        "required": [
          "languageCode",
          "q",
          "numberOfSearchResults"
        ],
        "properties": {
          "languageCode": {
            "$ref": "#/components/schemas/KbLanguageCode"
          },
          "q": {
            "type": "string",
            "example": "India",
            "description": "The string to use for the search.",
            "minLength": 1,
            "maxLength": 1024
          },
          "numberOfSearchResults": {
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "maximum": 25,
            "example": 10
          }
        }
      },
      "createViewedSearchResultEventForConnectors": {
        "type": "object",
        "title": "createSearchResultEventForConnectors",
        "required": [
          "q",
          "url",
          "title",
          "languageCode"
        ],
        "properties": {
          "languageCode": {
            "$ref": "#/components/schemas/KbLanguageCode"
          },
          "q": {
            "description": "The string to use for the search.",
            "type": "string",
            "example": "India",
            "pattern": "^[\\w\\W]+$",
            "minLength": 1,
            "maxLength": 1024
          },
          "url": {
            "type": "string",
            "description": "The URL of the search result.",
            "pattern": "^(https?|ftp):\\/\\/([a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,6}(:\\d+)?(\\/[^\\s]*)?$",
            "minLength": 10,
            "maxLength": 2000,
            "example": "https://egain.com/"
          },
          "title": {
            "type": "string",
            "description": "The title of the search result.",
            "pattern": "^[\\w\\W]+$",
            "minLength": 1,
            "maxLength": 255,
            "example": "Welcome to India"
          }
        }
      },
      "AttachmentUpload": {
        "required": [
          "name",
          "size"
        ],
        "title": "AttachmentUpload",
        "type": "object",
        "properties": {
          "name": {
            "description": "The name of the attachment.",
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "pattern": "^[\\w\\W]+$"
          },
          "size": {
            "type": "integer",
            "format": "int64",
            "description": "The size of the attachment in bytes. The maximum size is limited to 25MB.",
            "minimum": 1,
            "maximum": 26214400
          }
        }
      },
      "Attachment": {
        "title": "Attachment",
        "type": "object",
        "properties": {
          "altId": {
            "description": "The ID of the attachment.",
            "type": "string",
            "minLength": 36,
            "maxLength": 36,
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
            "example": "f665fb41-6485-43c3-a2c8-c72857c29f74"
          },
          "name": {
            "description": "The name of the attachment.",
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "pattern": "^[\\w\\W]+$",
            "example": "article.png"
          },
          "contentUrl": {
            "description": "The content URL to upload an attachment.",
            "type": "string",
            "pattern": "^(https?|ftp):\\/\\/[^\\s/$.?#].[^\\s]*$",
            "maxLength": 1000,
            "example": "https://EG5842ain.ezdev.net/knowledge/portalmgr/v4/attachmnet/upload?signature=3552656867434671616F6C51786335674B764E7848586E786B383255555A41574F6B656F542B396258677A334341322F2B32336F434D6D6E47637955714C6A6E4D527476666C534E4C6232520D0A4F6F70637259773043515A6778596949586F3247666B6E624350386336563446624C5446746C546B2F324A734E425939634758507465722B6C584435685747734C4A2B6C626342732F426E640D0A4D7965456452564A6670525069536D2B43423232384A67724F636C4161654F39336F42784942354C6776462F50724D67674A3248527253504C53457551596A7A6D4B347A4F7A63416C7047450D0A39556133495776504A4875336D77757330773D3D"
          }
        }
      },
      "SftpConfig": {
        "type": "object",
        "properties": {
          "username": {
            "type": "string",
            "maxLength": 128,
            "example": "rtka-user"
          },
          "password": {
            "type": "string",
            "maxLength": 128,
            "example": "xyz1234"
          },
          "host": {
            "type": "string",
            "description": "The hostname of the SFTP server",
            "pattern": "^(?!:\\/\\/)([a-zA-Z0-9-]{1,63}\\.)+[a-zA-Z]{2,63}$",
            "maxLength": 128,
            "example": "sftp.yourcompany.com"
          },
          "port": {
            "type": "integer",
            "description": "The server port number",
            "format": "int32",
            "default": 22
          }
        },
        "required": [
          "username",
          "host"
        ]
      },
      "S3Config": {
        "type": "object",
        "properties": {
          "region": {
            "description": "Region of the data destination",
            "type": "string",
            "maxLength": 20,
            "example": "us-west-2"
          },
          "accessKey": {
            "type": "string",
            "maxLength": 128,
            "example": "s3-access-key"
          },
          "secretKey": {
            "type": "string",
            "maxLength": 128,
            "example": "s3-access-secret"
          }
        },
        "required": [
          "region",
          "accessKey",
          "secretKey"
        ]
      },
      "KnowledgeExport": {
        "title": "KnowledgeExport",
        "type": "object",
        "required": [
          "portalID",
          "language",
          "resourceTypes",
          "dataDestination"
        ],
        "properties": {
          "articleCategories": {
            "description": "Category of articles to return. If all is selected, it includes both browsable and searchable articles.",
            "type": "string",
            "enum": [
              "searchable",
              "all"
            ],
            "default": "searchable"
          },
          "portalID": {
            "description": "The ID of the portal being accessed.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.",
            "type": "string",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "example": "PROD-1000"
          },
          "language": {
            "description": "The Knowledge Base language in which the content is created.",
            "type": "object",
            "title": "language",
            "required": [
              "code"
            ],
            "properties": {
              "code": {
                "description": "The code of the language.",
                "type": "string",
                "enum": [
                  "en-US",
                  "fr-FR",
                  "en-GB",
                  "es-ES",
                  "it-IT",
                  "nl-NL",
                  "da-DA",
                  "sv-SE",
                  "pt-PT",
                  "fi-FI",
                  "no-NB",
                  "no-NN",
                  "ja-JA",
                  "de-DE",
                  "pt-BR",
                  "zh-CN",
                  "zh-TW",
                  "ko-KO",
                  "ru-RU",
                  "el-EL",
                  "tr-TR",
                  "pl-PL",
                  "cs-CS",
                  "sk-SK",
                  "hu-HU",
                  "sr-SR",
                  "ar-SA",
                  "hr-HR",
                  "ro-RO",
                  "th-TH",
                  "de-AT",
                  "vi-VN",
                  "id-ID",
                  "ms-MY",
                  "fil-PH",
                  "fr-CA",
                  "hi-IN",
                  "uk-UA",
                  "bg-BG",
                  "sl-SI",
                  "xx-XX"
                ],
                "example": "en-US"
              }
            }
          },
          "exportUnpublishedOnly": {
            "description": "Determines which article version to export. If true, the latest unpublished version will be exported for each article where available, and articles that do not have an unpublished version will be omitted from the export. If this property is false or omitted, the latest published version will be exported for each article where available. Each request exports either all published or all unpublished article versions in a portal; never both.",
            "type": "boolean",
            "default": false
          },
          "resourceTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "articles",
                "topics",
                "portals",
                "all"
              ],
              "example": "articles"
            },
            "description": "Types of Knowledge Hub resources to export. Use 'all' to specify all resource types at once. \n\nBelow are the attributes that are returned for each resource type specified.\n\n##### Portal Resource Type Attributes\nPortal Attribute Name | Description \n------------------------------- | -----------\n| id | The ID of the Portal in Readable format.\n| alternateId | The system-generated ID of the Portal in long format.\n| name  | The name of the Portal.\n| description | The Portal's description.\n| departmentId | ID of the department this Portal belongs to. \n| defaultContentLanguageId | The default ID of the language for the portal content.\n\n##### Topic Resource Type Attributes\n| Topic Attribute Name | Description \n| ------------------------------ | -----------\n| id | The ID of the Topic in Readable form.\n| alternateId | The system-generated ID of the Topic in long form.\n| name  | The name of the Topic.\n| departmentId | ID of the department this Topic belongs to.\n| modifiedDate | The date when the Topic was last modified on.\n| topicHomeArticleId | The ID of the Article used as the home page of this Topic.\n| childCount | Total number of children sub-topis below the current Topic.\n| subTopicIds | Array with the list of sub-topics (all levels of the topic hierarchy).\n| parentTopicId | ID of the parent Topic. -1 if it is the root Topic.\n| imageURL | URL of the inline Topic image.\n| customAttributes | One or more comma-separated names for Topic custom attributes defined by the user to be returned.\n\n##### Article Resource Type Attributes\nExport article's attributes returned are aligned with the response of the [Get Article By ID with Editions](../article/getarticlebyidwitheditions) API.\n"
          },
          "dataDestination": {
            "type": "object",
            "properties": {
              "destinationType": {
                "type": "string",
                "description": "Type of data destination",
                "enum": [
                  "AWS S3 bucket",
                  "SFTP server"
                ],
                "example": "AWS S3 bucket"
              },
              "path": {
                "type": "string",
                "description": "Path of the data destination. For S3 bucket, it can be root or a folder. For SFTP, it can be target directory on the server.\n\n**Examples:**\n\n* **For S3:** `\"s3://amzn-s3-demo-bucket/mydeptfolder\"`\n* **For SFTP:** `\"exports/mydeptfolder\"`\n",
                "maxLength": 1024,
                "example": "s3://amzn-s3-demo-bucket/mydeptfolder"
              },
              "sftpDetails": {
                "$ref": "#/components/schemas/SftpConfig"
              },
              "s3Details": {
                "$ref": "#/components/schemas/S3Config"
              }
            },
            "required": [
              "destinationType",
              "path"
            ]
          }
        }
      },
      "ExportStatus": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "Pending",
              "In Progress",
              "Successful",
              "Failed"
            ],
            "example": "In Progress"
          },
          "progress": {
            "type": "object",
            "description": "Details about the job's progress.",
            "properties": {
              "processed": {
                "type": "integer",
                "description": "The number of items processed so far.",
                "example": 1500
              },
              "total": {
                "type": "integer",
                "description": "The total number of items to process.",
                "example": 4500
              },
              "percentage": {
                "type": "number",
                "format": "float",
                "description": "The percentage of the job that is complete.",
                "example": 30
              }
            }
          },
          "startTime": {
            "type": "string",
            "format": "date-time",
            "description": "The timestamp when the job started.",
            "example": "2025-09-15T10:00:00.000Z"
          },
          "estimatedCompletion": {
            "type": "string",
            "format": "date-time",
            "description": "The estimated timestamp when the job is expected to finish.",
            "example": "2025-09-15T11:30:00.000Z"
          },
          "completionTime": {
            "type": "string",
            "format": "date-time",
            "description": "The timestamp when the job completed.",
            "example": "2025-09-15T11:25:00.000Z"
          },
          "failureTime": {
            "type": "string",
            "format": "date-time",
            "description": "The timestamp when the job failed.",
            "example": "2025-09-15T10:45:00.000Z"
          },
          "results": {
            "type": "object",
            "description": "Breakdown of completed job results.",
            "properties": {
              "successful": {
                "type": "integer",
                "description": "The count of successfully processed items.",
                "example": 4485
              },
              "warnings": {
                "type": "integer",
                "description": "The count of items with warnings.",
                "example": 10
              },
              "errors": {
                "type": "integer",
                "description": "The count of items with errors.",
                "example": 5
              }
            }
          },
          "error": {
            "type": "string",
            "description": "A description of the job failure reason.",
            "example": "Connection timeout after processing 1500 items."
          }
        },
        "required": [
          "status"
        ]
      },
      "TagCategoryForExport": {
        "title": "TagCategory",
        "type": "object",
        "properties": {
          "id": {
            "description": "ID of the tag category.",
            "type": "string",
            "example": "PROD-1046",
            "minLength": 7,
            "maxLength": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$"
          },
          "name": {
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[\\w\\W]+$",
            "type": "string",
            "description": "name of the tag category."
          },
          "tagGroup": {
            "items": {
              "$ref": "#/components/schemas/schemas-TagGroup"
            },
            "type": "array"
          },
          "tag": {
            "items": {
              "$ref": "#/components/schemas/schemas-Tag"
            },
            "type": "array"
          },
          "created": {
            "type": "object",
            "title": "DateAndTime",
            "required": [
              "date"
            ],
            "properties": {
              "user": {
                "$ref": "#/components/schemas/UserView"
              },
              "date": {
                "title": "date",
                "description": "The date in the format <code>YYYY-MM-DDTHH:MM:SS</code>.",
                "type": "string",
                "format": "date-time",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$"
              }
            },
            "description": "Date the Tag Category was created."
          },
          "lastModified": {
            "type": "object",
            "title": "DateAndTime",
            "required": [
              "date"
            ],
            "properties": {
              "user": {
                "$ref": "#/components/schemas/UserView"
              },
              "date": {
                "title": "date",
                "description": "The date in the format <code>YYYY-MM-DDTHH:MM:SS</code>.",
                "type": "string",
                "format": "date-time",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z$"
              }
            },
            "description": "Date of last modification."
          }
        }
      }
    },
    "securitySchemes": {
      "oAuthUser": {
        "type": "oauth2",
        "description": "Authenticate as a user (agent) using code flow with PKCE.",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://login.egain.cloud/f51302dd-7036-41b5-b619-e1a52a67c780/B2C_1A_User_V3_SignIn_OIDC/oauth2/v2.0/authorize?domain_hint=developerv3api.egain.cloud",
            "tokenUrl": "https://login.egain.cloud/f51302dd-7036-41b5-b619-e1a52a67c780/B2C_1A_User_V3_SignIn_OIDC/oauth2/v2.0/token",
            "scopes": {
              "https://api.egain.cloud/auth/knowledge.portalmgr.read": "Allows read access to the eGain Knowledge Portal Manager APIs.",
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage": "Allows full access to the eGain Knowledge Portal Manager APIs."
            },
            "x-usePkce": {
              "disableManualConfiguration": true,
              "hideClientSecretInput": true
            }
          }
        },
        "x-defaultClientId": "9924ecd8-7716-427f-9998-d87081df567a"
      },
      "oAuthOnBehalfOfUser": {
        "type": "oauth2",
        "description": "Authenticate as a client application (server) acting on behalf of a user.",
        "flows": {
          "password": {
            "tokenUrl": "https://api.egain.cloud/core/authmgr/v4/oauth2/v2.0/onbehalfof/token?user_type=user&tenantId=TMPROD69343811",
            "scopes": {
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read": "Allows read access to the eGain Knowledge Portal Manager APIs on behalf of a user.",
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage": "Allows full access to the eGain Knowledge Portal Manager APIs on behalf of a user."
            }
          }
        }
      },
      "oAuthCustomer": {
        "type": "oauth2",
        "description": "Authenticate as a customer using code flow with PKCE.",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://login.egain.cloud/f51302dd-7036-41b5-b619-e1a52a67c780/B2C_1A_Customer_V3_SignUpOrSignIn_OIDC/oauth2/v2.0/authorize?domain_hint=developerv3api.egain.cloud",
            "tokenUrl": "https://login.egain.cloud/f51302dd-7036-41b5-b619-e1a52a67c780/B2C_1A_Customer_V3_SignUpOrSignIn_OIDC/oauth2/v2.0/token",
            "scopes": {
              "https://api.egain.cloud/auth/knowledge.portalmgr.read": "Allows read access to the eGain Knowledge Portal Manager APIs.",
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage": "Allows full access to the eGain Knowledge Portal Manager APIs."
            },
            "x-usePkce": {
              "disableManualConfiguration": true,
              "hideClientSecretInput": true
            }
          }
        },
        "x-defaultClientId": "9924ecd8-7716-427f-9998-d87081df567a"
      },
      "oAuthOnBehalfOfCustomer": {
        "type": "oauth2",
        "description": "Authenticate as a client application (server) acting on behalf of a customer.",
        "flows": {
          "password": {
            "tokenUrl": "https://api.egain.cloud/core/authmgr/v4/oauth2/v2.0/onbehalfof/token?user_type=customer&tenantId=TMPROD69343811",
            "scopes": {
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read": "Allows read access to the eGain Knowledge Portal Manager APIs on behalf of a customer.",
              "https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.manage": "Allows full access to the eGain Knowledge Portal Manager APIs on behalf of a customer."
            }
          }
        }
      },
      "oAuthAnonymousCustomer": {
        "type": "oauth2",
        "description": "Authenticate as an anonymous customer.",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://login.egain.cloud/internal/oauth2/v2.0/anonymous/token?user_type=customer&domain_hint=developerv3api.egain.cloud",
            "scopes": {
              "https://api.egain.cloud/auth/knowledge.portalmgr.read": "Allows read access to the eGain Knowledge Portal Manager APIs.",
              "https://api.egain.cloud/auth/knowledge.portalmgr.manage": "Allows full access to the eGain Knowledge Portal Manager APIs."
            }
          }
        },
        "x-defaultClientId": "7bbc9ba6-0465-46f0-91f4-d2742cdc0ef8"
      },
      "oAuthClient": {
        "type": "oauth2",
        "description": "Authenticate as a client (Server to Server).",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://login.egain.cloud/global/f51302dd-7036-41b5-b619-e1a52a67c780/oauth2/v2.0/token",
            "scopes": {
              "https://api.egain.cloud/auth/.default": "Default scope"
            }
          }
        },
        "x-defaultClientId": "7bbc9ba6-0465-46f0-91f4-d2742cdc0ef8"
      },
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    },
    "parameters": {
      "xEgainActivityId": {
        "name": "x-egain-activity-id",
        "in": "header",
        "description": "A unique numeric interaction identifier from eGain.",
        "required": false,
        "schema": {
          "type": "string",
          "minLength": 4,
          "maxLength": 9,
          "pattern": "^[0-9]{4,9}$"
        },
        "example": "59237"
      },
      "xExtIntegrationId": {
        "name": "x-ext-integration-id",
        "in": "header",
        "description": "The unique numeric identifier for a tenant, used in self-service functionality as well as third-party integrations.<br><br>*Note: The x-ext-integration-id and x-ext-interaction-id headers must always be provided together and cannot be supplied independently.<br><br>The x-egain-activity-id may be provided on its own, or it may be provided along with both x-ext-integration-id and x-ext-interaction-id.*",
        "required": false,
        "schema": {
          "type": "string",
          "maxLength": 40,
          "pattern": "^[\\w\\W]+$"
        },
        "examples": {
          "uuid": {
            "value": "3155180e-0c13-43e9-9c38-e9045bcbf176"
          },
          "hex": {
            "value": "00Dbn00000IxGnx"
          }
        }
      },
      "xExtInteractionId": {
        "name": "x-ext-interaction-id",
        "in": "header",
        "description": "A unique interaction identifier from other CRM applications.<br><br>*Note: The x-ext-integration-id and x-ext-interaction-id headers must always be provided together and cannot be supplied independently.<br><br>The x-egain-activity-id may be provided on its own, or it may be provided along with both x-ext-integration-id and x-ext-interaction-id.*",
        "required": false,
        "schema": {
          "type": "string",
          "maxLength": 40,
          "pattern": "^[\\w\\W]+$"
        },
        "examples": {
          "uuid": {
            "value": "3155180e-0c13-43e9-9c38-e9045bcbf176"
          },
          "hex": {
            "value": "00Dbn00000IxGnx"
          }
        }
      },
      "acceptLanguage": {
        "name": "Accept-Language",
        "in": "header",
        "description": "The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses).",
        "required": true,
        "schema": {
          "type": "string",
          "enum": [
            "en-US",
            "es-ES",
            "fr-FR",
            "it-IT",
            "de-DE",
            "nl-NL",
            "pt-BR",
            "pt-PT",
            "da-DK",
            "ru-RU",
            "fr-CA",
            "zh-CN",
            "ja-JP",
            "ko-KR",
            "sv-SE"
          ],
          "example": "en-US"
        }
      },
      "portalReadableId": {
        "name": "portalID",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "minLength": 7,
          "maxLength": 20,
          "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
          "example": "PROD-1000"
        },
        "description": "The ID of the portal being accessed.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."
      },
      "articleReadableId": {
        "name": "articleID",
        "description": "The ID of the Article.<br><br>An Article ID is composed of a 2-4 letter prefix followed by a dash and 4-15 digits.",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
          "minLength": 7,
          "maxLength": 20,
          "example": "PROD-2996"
        }
      },
      "languageQueryParameter": {
        "name": "$lang",
        "in": "query",
        "description": "The language that describes the details of a resource. Resources available in different languages may differ from each other.<li>If <code>lang</code> is not passed, then the portal's default language is used.</li>",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "en-US",
            "fr-FR",
            "en-GB",
            "es-ES",
            "it-IT",
            "nl-NL",
            "da-DA",
            "sv-SE",
            "pt-PT",
            "fi-FI",
            "no-NB",
            "no-NN",
            "ja-JA",
            "de-DE",
            "pt-BR",
            "zh-CN",
            "zh-TW",
            "ko-KO",
            "ru-RU",
            "el-EL",
            "tr-TR",
            "pl-PL",
            "cs-CS",
            "sk-SK",
            "hu-HU",
            "sr-SR",
            "ar-SA",
            "hr-HR",
            "ro-RO",
            "th-TH",
            "de-AT",
            "vi-VN",
            "id-ID",
            "ms-MY",
            "fil-PH",
            "fr-CA",
            "hi-IN",
            "uk-UA",
            "bg-BG",
            "sl-SI",
            "xx-XX"
          ],
          "example": "en-US"
        }
      },
      "articleAdditionalAttributes": {
        "name": "articleAdditionalAttributes",
        "in": "query",
        "required": false,
        "schema": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "articleMacro",
              "availabilityDate",
              "availableEditions",
              "averageRating",
              "bookmarkStatus",
              "content",
              "contentText",
              "compliance",
              "timesRated",
              "createdBy.userName",
              "modifiedBy.userName",
              "ownedBy",
              "ownedBy.userName",
              "workflow",
              "all"
            ]
          }
        },
        "description": "The attributes of an Article to be returned *in addition to* the default list of attributes, listed below. Multiple additional attributes can be specified using a comma-separated list. Passing 'all' will return all attributes.\n\n#### Default Attributes\nThese Article attributes are always returned:\n\n| Name | Description \n| ---- | -----------\n| id | The ID of the Article.\n| name  | The name of the Article.\n| additionalInfo | Additional information provided as Article metadata.\n| articleType | The Article type and its attributes.\n| articleKeywords | A comma-separated list of keywords associated with this Article.\n| articleState | The current state of the Article. States include A (Authoring), S (Staging), and P (Published).\n| articleSummary | A brief summary of the Article, provided as metadata.\n| createdBy | The ID, first name, middle name and last name of the user that created the Article.\n| createdDate | The date that the Article was created.\n| departmentId | ID of the department for which this Article belongs to.\n| description | The Article's description.\n| expirationDate | The date that the Article is set to expire.\n| attachments | The Article's attachments\n| imageURL | The URL of the image that is present in the Article version. It is used as the thumbnail image for the Article.\n| includeInGenAI | Indicates whether this Article is used for eGain's generative AI features.\n| isSubscribed | Indicates whether the Article is subscribed for notifications. \n| languageCode | The language code of the Article language. \n| link | The link object, used to retrieve the details of the Article.\n| modifiedBy | The ID, first name, middle name and last name of the user that last modified the Article.\n| modifiedDate | The date that the Article was last modified on.\n| topicBreadcrumb | Contains a list of topics from the top-level topic to this Article. There may be multiple paths.\n| versionId | The ID of the Article version that is returned.\n",
        "style": "form",
        "explode": false,
        "examples": {
          "Single": {
            "value": [
              "averageRating"
            ],
            "description": "An additional attribute to be returned."
          },
          "Multiple": {
            "value": [
              "ownedBy",
              "ownedBy.userName"
            ],
            "description": "Additional attributes to be returned."
          },
          "All": {
            "value": [
              "all"
            ],
            "description": "All additional attributes to be returned."
          }
        }
      },
      "customAdditionalAttributes": {
        "name": "$customAdditionalAttributes",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "pattern": "^([a-zA-Z0-9_-]+)(?:,[a-zA-Z0-9_-]+)*$",
          "minLength": 1,
          "maxLength": 4000,
          "description": "One or more comma-separated names for custom attributes defined by the user to be returned."
        },
        "examples": {
          "Single": {
            "value": "country_name",
            "description": "A user-defined custom attribute."
          },
          "Multiple": {
            "value": "internalScore,performance-rating_dept_923",
            "description": "Multiple user-defined custom attributes."
          }
        }
      },
      "workflowMilestone": {
        "name": "workflowMilestone",
        "in": "query",
        "description": "For agents with the View Author Portal or View Staging Portal actions, this determines which version of the Article is returned.<li>'Authoring' returns the most recent version of an Article checked-in by an author.</li><li>'Staging' returns the updated version currently being processed in a workflow.</li><li>'Publish' returns the most recently published version.</li>",
        "schema": {
          "type": "string",
          "enum": [
            "authoring",
            "staging",
            "publish"
          ],
          "example": "publish"
        }
      },
      "mandatoryLanguageQueryParameter": {
        "name": "$lang",
        "in": "query",
        "description": "The language used for fetching the details of a resource. Resources available in different languages may differ from each other.",
        "required": true,
        "schema": {
          "type": "string",
          "enum": [
            "en-US",
            "fr-FR",
            "en-GB",
            "es-ES",
            "it-IT",
            "nl-NL",
            "da-DA",
            "sv-SE",
            "pt-PT",
            "fi-FI",
            "no-NB",
            "no-NN",
            "ja-JA",
            "de-DE",
            "pt-BR",
            "zh-CN",
            "zh-TW",
            "ko-KO",
            "ru-RU",
            "el-EL",
            "tr-TR",
            "pl-PL",
            "cs-CS",
            "sk-SK",
            "hu-HU",
            "sr-SR",
            "ar-SA",
            "hr-HR",
            "ro-RO",
            "th-TH",
            "de-AT",
            "vi-VN",
            "id-ID",
            "ms-MY",
            "fil-PH",
            "fr-CA",
            "hi-IN",
            "uk-UA",
            "bg-BG",
            "sl-SI",
            "xx-XX"
          ],
          "example": "en-US"
        }
      },
      "articleId": {
        "name": "articleID",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "minLength": 7,
          "maxLength": 20,
          "example": "PROD-2996"
        },
        "description": "The ID of the Article. Both numeric and alternate ID formats are supported.<br><br>Valid numerical IDs are 15-19 digits long.",
        "examples": {
          "Readable Id": {
            "value": "PROD-2996",
            "description": "A readable Article ID."
          },
          "Numeric Id": {
            "value": "202200000002996",
            "description": "A numerical Article ID."
          }
        }
      },
      "readablePublishViewId": {
        "name": "publishViewId",
        "in": "path",
        "required": true,
        "description": "The ID of a Publish View Id.<br><br>A Publish View Id ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.",
        "schema": {
          "type": "string",
          "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
          "minLength": 7,
          "maxLength": 20,
          "example": "PROD-3020"
        }
      },
      "accept": {
        "name": "Accept",
        "in": "header",
        "description": "The content type accepted by the client.",
        "required": true,
        "schema": {
          "type": "string",
          "default": "application/json",
          "enum": [
            "application/json"
          ]
        }
      },
      "searchProfileId": {
        "name": "searchProfileId",
        "in": "query",
        "description": "Search Profile ID",
        "schema": {
          "type": "string",
          "minLength": 1,
          "maxLength": 15,
          "example": "959500000204621"
        }
      },
      "filterTopicIdRequired": {
        "name": "$filter[topicId]",
        "in": "query",
        "required": true,
        "schema": {
          "type": "string",
          "minLength": 7,
          "maxLength": 20,
          "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$"
        },
        "description": "The ID of the topic. It is used to restrict to a specific topic.",
        "example": "PROD-1065"
      },
      "articleResultAdditionalAttributes": {
        "name": "articleResultAdditionalAttributes",
        "in": "query",
        "required": false,
        "schema": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "averageRating",
              "customAttributes",
              "description",
              "articleSummary",
              "imageURL",
              "isSubscribed",
              "timesRated",
              "topicBreadcrumb",
              "ownedBy",
              "ownedBy.userName",
              "workflow",
              "compliance",
              "personalization",
              "all"
            ]
          }
        },
        "description": "The attributes of an Article to be returned *in addition to* the default list of attributes, listed below. Multiple additional attributes can be specified using a comma-separated list. Passing 'all' will return all attributes.\n\n#### Default Attributes\nThese Article attributes are always returned:\n\n| Name | Description \n| ---- | -----------\n| id | The ID of the Article.\n| name  | The name of the Article.\n| articleType | The Article Type and its attributes.\n| createdBy | The ID, first name, middle name and last name of the user that created the Article.\n| createdDate | The date that the Article was created.\n| hasAttachments | True: The Article has one or more attachments.<br>False: The Article does not have any attachments.\n| languageCode | The language code of the Article language. \n| modifiedBy | The ID, first name, middle name and last name of the user that last modified the Article.\n| modifiedDate | The date that the Article was last modified on.\n| link | The link object, used to retrieve the details of the Article.\n| versionId | The ID of the Article version that is returned.\n",
        "style": "form",
        "explode": false,
        "examples": {
          "Single": {
            "value": [
              "averageRating"
            ],
            "description": "An additional attribute to be returned."
          },
          "Multiple": {
            "value": [
              "ownedBy",
              "ownedBy.userName"
            ],
            "description": "Additional attributes to be returned."
          },
          "All": {
            "value": [
              "all"
            ],
            "description": "All additional attributes to be returned."
          }
        }
      },
      "tags": {
        "name": "$filter[tags]",
        "description": "A comma separated list of Tag / Tag Group IDs. The query results will be filtered by the tags that are specified.<br><br>Tag IDs and Tag Group IDs can be mixed together.",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "pattern": "^([a-zA-Z0-9]{2,4}-\\d{4,15})(,([a-zA-Z0-9]{2,4}-\\d{4,15})){0,19}$",
          "minLength": 7,
          "maxLength": 2048,
          "example": "PROD-5381"
        }
      },
      "pagenum": {
        "name": "$pagenum",
        "in": "query",
        "description": "Pagination parameter that specifies the page number of results to be returned. Used in conjunction with $pagesize.",
        "required": false,
        "schema": {
          "type": "integer",
          "format": "int64",
          "minimum": 1,
          "maximum": 999,
          "default": 1
        }
      },
      "pagesize": {
        "name": "$pagesize",
        "in": "query",
        "description": "Pagination parameter that specifies the number of results per page. Used in conjunction with $pagenum.",
        "required": false,
        "schema": {
          "type": "integer",
          "format": "int64",
          "minimum": 1,
          "maximum": 75,
          "default": 10
        }
      },
      "articleSort": {
        "name": "$sort",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "availabilityDate",
            "popularity",
            "name"
          ],
          "example": "name"
        },
        "description": "Articles to be sorted on."
      },
      "articleSortOrder": {
        "name": "$order",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "asc",
            "desc"
          ],
          "example": "asc",
          "description": "Sort order of articles."
        }
      },
      "attachmentId": {
        "name": "attachmentID",
        "description": "The ID of the attachment.<br><br>An attachment ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "minLength": 7,
          "maxLength": 20,
          "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
          "example": "PROD-1000"
        }
      },
      "complianceArticleResultAdditionalAttributes": {
        "name": "complianceArticleResultAdditionalAttributes",
        "in": "query",
        "required": false,
        "schema": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "averageRating",
              "articleSummary",
              "customAttributes",
              "description",
              "imageURL",
              "isSubscribed",
              "timesRated",
              "topicBreadcrumb",
              "ownedBy",
              "ownedBy.userName",
              "workflow",
              "compliance",
              "personalization",
              "all"
            ]
          }
        },
        "description": "The attributes of an Article to be returned *in addition to* the default list of attributes, listed below. Multiple additional attributes can be specified using a comma-separated list. Passing 'all' will return all attributes.\n\n#### Default Attributes\nThese Article attributes are always returned:\n\n| Name | Description \n| ---- | -----------\n| id | The ID of the Article.\n| name  | The name of the Article.\n| updateSummary | Summary of the Article update.\n| articleType | The Article Type and its attributes.\n| createdBy | The ID, first name, middle name and last name of the user that created the Article.\n| createdDate | The date that the Article was created.\n| hasAttachments | True: The Article has one or more attachments.<br>False: The Article does not have any attachments.\n| languageCode | The language code of the Article language. \n| modifiedBy | The ID, first name, middle name and last name of the user that last modified the Article.\n| modifiedDate | The date that the Article was last modified on.\n| link | The link object, used to retrieve the details of the Article.\n| versionId | The ID of the Article version that is returned.\n",
        "style": "form",
        "explode": false,
        "examples": {
          "Single": {
            "value": [
              "averageRating"
            ],
            "description": "An additional attribute to be returned."
          },
          "Multiple": {
            "value": [
              "ownedBy",
              "ownedBy.userName"
            ],
            "description": "Additional attributes to be returned."
          },
          "All": {
            "value": [
              "all"
            ],
            "description": "All additional attributes to be returned."
          }
        }
      },
      "topicReadableId": {
        "name": "topicID",
        "in": "path",
        "required": true,
        "description": "The ID of a topic.<br><br>A topic ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.",
        "schema": {
          "type": "string",
          "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
          "minLength": 7,
          "maxLength": 20,
          "example": "PROD-1069"
        }
      },
      "level": {
        "name": "level",
        "description": "Depth of the topic hierarchy to be returned in the response.",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "format": "int64",
          "minimum": -1,
          "maximum": 20,
          "example": 1
        },
        "examples": {
          "AllLevels": {
            "value": -1,
            "description": "All levels are returned"
          },
          "Parent": {
            "value": 0,
            "description": "Only parent topic is returned"
          },
          "Immediate": {
            "value": 1,
            "description": "Parent and immediate children topics are returned"
          },
          "Grand Children": {
            "value": 2,
            "description": "Immediate children and grand children are returned"
          }
        }
      },
      "topicAdditionalAttributes": {
        "name": "topicAdditionalAttributes",
        "in": "query",
        "required": false,
        "schema": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "description",
              "createdBy.userName",
              "createdBy.firstName",
              "createdBy.lastName",
              "createdBy.middleName",
              "modifiedBy.userName",
              "modifiedBy.firstName",
              "modifiedBy.lastName",
              "modifiedBy.middleName",
              "imageUrl",
              "textMetaData",
              "all"
            ]
          }
        },
        "style": "form",
        "explode": false,
        "description": "The attributes of a topic to be returned *in addition to* the default list of attributes, listed below. Multiple additional attributes can be specified using a comma-separated list. Passing 'all' returns all attributes.\n\n#### Default Attributes\nThese topic attributes are always returned:\n\n| Name | Description \n| ---- | -----------\n| id | The ID of the topic.\n| name  | The name of the topic.\n| articleCountInTopic | Number of articles in this topic.\n| articleCountInTopicTree  | Number of articles in this topic and all sub-topics.\n| createdBy.id | The ID of the user that created the topic. \n| createdDate | The date when the topic was created.\n| departmentId | ID of the department for which this topic belongs to. \n| topicHomeArticleId | The ID of the article used as the home page of this topic.\n| modifiedBy.id | The ID of the user that last modified the topic. \n| modifiedDate | The date when the topic was last modified on.\n| childCount | Total number of children sub-topis below the current topic\n| subTopicIds | Array with the list of sub-topics\n| parentTopicId | ID of the parent topic. -1 if it is the root topic. \n",
        "examples": {
          "Single": {
            "value": [
              "modifiedBy.userName"
            ],
            "description": "An additional attribute to be returned."
          },
          "Multiple": {
            "value": [
              "description",
              "imageUrl"
            ],
            "description": "Additional attributes to be returned."
          },
          "All": {
            "value": [
              "all"
            ],
            "description": "All additional attributes to be returned."
          }
        }
      },
      "pagenumTopics": {
        "name": "$pagenum",
        "in": "query",
        "description": "Pagination parameter that specifies the page number of results to be returned. Used in conjunction with $pagesize.",
        "required": false,
        "schema": {
          "type": "integer",
          "format": "int32",
          "minimum": 1,
          "maximum": 999,
          "default": 1
        }
      },
      "pagesizeTopics": {
        "name": "$pagesize",
        "in": "query",
        "description": "Pagination parameter that specifies the number of results per page. Used in conjunction with $pagenum.",
        "required": false,
        "schema": {
          "type": "integer",
          "format": "int32",
          "minimum": 1,
          "maximum": 75,
          "default": 10
        }
      },
      "filterTopicId": {
        "name": "$filter[topicId]",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "minLength": 7,
          "maxLength": 20,
          "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$"
        },
        "description": "The ID of the topic. It is used to restrict to a specific topic.",
        "example": "PROD-1067"
      },
      "casebaseReleaseId": {
        "name": "casebaseReleaseID",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "pattern": "^[1-9]\\d{14}$",
          "example": "202201000000002"
        },
        "description": "The numerical ID of the Casebase Release for which details is to be fetched."
      },
      "filterCasebaseRelease": {
        "name": "filter[casebaseRelease]",
        "in": "query",
        "required": false,
        "description": "Filter by Casebase Release",
        "schema": {
          "pattern": "^[1-9]\\d{14}$",
          "type": "string",
          "example": "202201000000002"
        }
      },
      "contentType": {
        "name": "Content-Type",
        "in": "header",
        "description": "The media type sent by the client.",
        "required": true,
        "schema": {
          "type": "string",
          "default": "application/json",
          "enum": [
            "application/json"
          ]
        }
      },
      "ghCustomAdditionalAttributes": {
        "name": "ghCustomAdditionalAttributes",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "pattern": "^question\\.custom\\.[^,]+(?:,question\\.custom\\.[^,]+)*$",
          "minLength": 1,
          "maxLength": 4000,
          "description": "Custom attributes to be fetched. \n\nPossible values are:\n- question.custom.\\<name\\> where \\<name\\> is the internal name of custom attribute of question. 'question' is used as a prefix to distinguish question's custom attribute from other objects custom attributes.\n"
        },
        "examples": {
          "Single": {
            "value": "question.custom.score",
            "description": "A user-defined custom attribute."
          },
          "Multiple": {
            "value": "question.custom.score,question.custom.test",
            "description": "Multiple user-defined custom attributes."
          }
        }
      },
      "clusterId": {
        "name": "clusterID",
        "in": "path",
        "required": true,
        "description": "ID of Cluster.",
        "schema": {
          "type": "string",
          "pattern": "^[1-9]\\d*$",
          "minLength": 10,
          "maxLength": 10,
          "example": "1000000402"
        }
      },
      "caseId": {
        "name": "caseID",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "pattern": "^[1-9]\\d*$",
          "minLength": 10,
          "maxLength": 15,
          "example": "1000001085"
        },
        "description": "The numerical ID of the Case for which details is to be fetched."
      },
      "caseAdditionalAttributes": {
        "name": "caseAdditionalAttributes",
        "in": "query",
        "required": false,
        "schema": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "questionDetail",
              "actions",
              "all"
            ],
            "example": "all"
          }
        },
        "description": "Additional case attributes to be fetched.",
        "style": "form",
        "explode": false,
        "examples": {
          "Single": {
            "value": [
              "actions"
            ],
            "description": "An additional attributes to be returned."
          },
          "Multiple": {
            "value": [
              "questionDetail",
              "actions"
            ],
            "description": "Additional attributes to be returned."
          },
          "All": {
            "value": [
              "all"
            ],
            "description": "All additional attributes to be returned."
          }
        }
      },
      "casebaseReleaseIdQuery": {
        "name": "casebaseReleaseID",
        "in": "query",
        "required": true,
        "schema": {
          "type": "string",
          "pattern": "^[1-9]\\d{14}$",
          "example": "202201000000002"
        },
        "description": "The numerical ID of the Casebase Release for which details is to be fetched."
      },
      "quickpickReadableId": {
        "name": "quickpickID",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "pattern": "^[1-9]\\d*$",
          "minLength": 1,
          "maxLength": 19,
          "example": "11"
        },
        "description": "The ID of the quickpick."
      },
      "bookmarkId": {
        "name": "bookmarkID",
        "description": "The ID of the bookmark.",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "pattern": "^[1-9]\\d*$",
          "minLength": 4,
          "maxLength": 19,
          "example": "4759"
        }
      },
      "userProfileIdInPath": {
        "name": "userProfileID",
        "in": "path",
        "description": "The ID of the user profile. \n",
        "required": true,
        "schema": {
          "type": "string",
          "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
          "minLength": 7,
          "maxLength": 20,
          "description": "The Readable ID of the user profile.<br>\n",
          "example": "PROD-3210"
        }
      },
      "sortIdNameDepartment": {
        "name": "$sort",
        "in": "query",
        "description": "Objects returned in server response are sorted based on the attribute supplied under $sort. <br>_Default value_: name.",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "name",
            "departmentName"
          ]
        }
      },
      "order": {
        "name": "$order",
        "in": "query",
        "description": "Common query parameter $order.<br>_Default value_: asc",
        "required": false,
        "style": "form",
        "explode": true,
        "schema": {
          "type": "string",
          "enum": [
            "asc",
            "desc"
          ],
          "example": "asc"
        }
      },
      "pagesizeNewFrameWork": {
        "name": "$pagesize",
        "in": "query",
        "description": "Pagination parameter that specifies the number of results per page. Used in conjunction with $pagenum.<br>Valid range of 5-75<br>_Default value_: 25",
        "required": false,
        "schema": {
          "type": "integer",
          "format": "int64",
          "minimum": 1,
          "maximum": 75,
          "default": 25
        }
      },
      "q": {
        "name": "q",
        "description": "The search query string. The string must be escaped as required by the URL syntax rules.",
        "in": "query",
        "required": true,
        "schema": {
          "pattern": "^[\\w\\W]+$",
          "type": "string",
          "minLength": 1,
          "maxLength": 1024,
          "example": "What is a loan?"
        }
      },
      "filterUserProfileID": {
        "name": "$filter[userProfileID]",
        "in": "query",
        "description": "The ID of the user profile. \n",
        "required": false,
        "schema": {
          "type": "string",
          "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
          "minLength": 7,
          "maxLength": 20,
          "description": "The Readable ID of the user profile.<br>\n",
          "example": "PROD-1030"
        }
      },
      "languageCode": {
        "name": "$lang",
        "required": true,
        "in": "query",
        "description": "The language that describes the details of a resource. Resources available in different languages may differ from each other. <br><br> If lang is not passed, then the portal's default language is used.",
        "schema": {
          "type": "string",
          "example": "en-US",
          "enum": [
            "en-US",
            "fr-FR",
            "en-GB",
            "es-ES",
            "it-IT",
            "nl-NL",
            "da-DA",
            "sv-SE",
            "pt-PT",
            "fi-FI",
            "no-NB",
            "no-NN",
            "ja-JA",
            "de-DE",
            "pt-BR",
            "zh-CN",
            "zh-TW",
            "ko-KO",
            "ru-RU",
            "el-EL",
            "tr-TR",
            "pl-PL",
            "cs-CS",
            "sk-SK",
            "hu-HU",
            "sr-SR",
            "ar-SA",
            "hr-HR",
            "ro-RO",
            "th-TH",
            "de-AT",
            "vi-VN",
            "id-ID",
            "ms-MY",
            "fil-PH",
            "fr-CA",
            "hi-IN",
            "uk-UA",
            "bg-BG",
            "sl-SI",
            "xx-XX"
          ]
        }
      },
      "filterTags": {
        "name": "$filter[tags]",
        "in": "query",
        "required": false,
        "schema": {
          "type": "object",
          "minProperties": 1,
          "maxProperties": 20,
          "additionalProperties": {
            "type": "array",
            "description": "Tag Category IDs",
            "minItems": 0,
            "maxItems": 20,
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
            "items": {
              "type": "string",
              "description": "Tag IDs",
              "minLength": 7,
              "maxLength": 20,
              "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$"
            }
          }
        },
        "description": "An object where each key is a **Category Tag ID** (numeric string),  \nand each value is an array of **Tag IDs** for that category.\n **Note**:\n  - The '$filter[tags]' query parameter JSON value should be url encoded.\n  - Some developer tools for invoking APIs may not url encode the '$filter[tags]' query parameter JSON value by default. Ensure that only url encoded values are used.\n  - Example of JSON value: {\"BASE-40845\":[\"BASE-40849\",\"BASE-40853\"]}\n  - Example of URL encoded value: %7B%22BASE-40845%22%3A%5B%22BASE-40849%22%2C%22BASE-40853%22%5D%7D\n",
        "example": {
          "PROD-1234": [
            "PROD-2000",
            "PROD-2003"
          ],
          "PROD-2005": [
            "PROD-2007"
          ]
        }
      },
      "filterTopicIds": {
        "name": "$filter[topicIds]",
        "in": "query",
        "description": "An array of topic IDs. It is used to restrict search results to specific topics.",
        "schema": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$"
          },
          "minItems": 1,
          "maxItems": 20
        }
      },
      "articleCustomFields": {
        "name": "articleCustomAdditionalAttributes",
        "in": "query",
        "description": "One or more comma-separated names for article custom attributes defined by the user to be returned.",
        "schema": {
          "type": "string",
          "minLength": 1,
          "maxLength": 4000
        }
      },
      "aispagenum": {
        "name": "$pagenum",
        "in": "query",
        "description": "Pagination parameter that specifies the page number of results to be returned. Used in conjunction with $pagesize.",
        "required": false,
        "schema": {
          "type": "integer",
          "format": "int64",
          "minimum": 1,
          "maximum": 1,
          "default": 1
        }
      },
      "aispagesize": {
        "name": "$pagesize",
        "in": "query",
        "description": "Pagination parameter that specifies the number of results per page. Used in conjunction with $pagenum.",
        "required": false,
        "schema": {
          "type": "integer",
          "format": "int64",
          "minimum": 1,
          "maximum": 30,
          "default": 20
        }
      },
      "sortIdName": {
        "name": "$sort",
        "in": "query",
        "description": "Objects returned in server response are sorted based on the attribute supplied under $sort.",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "name"
          ],
          "example": "id"
        }
      },
      "suggestionId": {
        "name": "suggestionID",
        "description": "The ID of the Suggestion.<br><br>A Suggestion ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "pattern": "^[a-zA-Z0-9]{2,4}-\\d{4,15}$",
          "minLength": 7,
          "maxLength": 20
        },
        "example": "PROD-11829"
      },
      "suggestionAdditionalAttributes": {
        "name": "suggestionAdditionalAttributes",
        "in": "query",
        "required": false,
        "schema": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "content",
              "modifiedBy.userName",
              "all"
            ]
          }
        },
        "style": "form",
        "explode": false,
        "description": "The attributes of a Suggestion to be returned *in addition to* the default list of attributes, listed below. Multiple additional attributes can be specified using a comma-separated list. Passing 'all' returns all attributes.\n\n#### Default Attributes\nThese Suggestion attributes are always returned:\n\n| Name | Description \n| ---- | -----------\n| id | The ID of the Suggestion.\n| name  | The name of the Suggestion.\n| status | The status of the Suggestion.\n| description | The description of the Suggestion.\n| language | Details about the language of the Suggestion.\n| modifiedBy.id | The ID of the user that last modified the Suggestion. \n| modifiedBy.firstName | The Suggestion's last modified user's first name.\n| modifiedBy.middleName | The Suggestion's last modified user's middle name.\n| modifiedBy.lastName | The Suggestion's last modified user's last name.\n| modifiedDate | The Suggestion's last modified date <u>and</u> information about the user that last modified the Suggestion.\n| link | The link object, used to retrieve the details of the Suggestion.\n| hasComments | The Suggestion has one or more comments\n| hasAttachments | The Suggestion has one or more attachments\n| hasRelatedArticles | The Suggestion has related articles\n",
        "examples": {
          "Single": {
            "value": [
              "content"
            ],
            "description": "An additional attribute to be returned."
          },
          "Multiple": {
            "value": [
              "content",
              "modifiedBy.userName"
            ],
            "description": "Additional attributes to be returned."
          },
          "All": {
            "value": [
              "all"
            ],
            "description": "All additional attributes to be returned."
          }
        }
      },
      "attachmentAdditionalAttributes": {
        "name": "attachmentAdditionalAttributes",
        "in": "query",
        "required": false,
        "schema": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "contentUrl",
              "all"
            ]
          }
        },
        "style": "form",
        "explode": false,
        "description": "The attributes of an attachment to be returned, along with the default attachment details.\n\n| Attribute    | Description                        |\n|--------------|------------------------------------|\n| id         | Unique identifier for the attachment |\n| fileName   | Name of the file                   |\n| contentType| Content type of the file              |\n| size       | Size of the file in bytes          |\n| link       | Link to the attachment             | \n",
        "examples": {
          "Single": {
            "value": [
              "contentUrl"
            ],
            "description": "An additional attribute to be returned."
          }
        }
      }
    },
    "responses": {
      "ArticleGetByIdResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Article"
            },
            "examples": {
              "Summary Attributes": {
                "value": {
                  "id": "PROD-2996",
                  "name": "Fair Lending FAQs",
                  "additionalInfo": "Can be shared to public.",
                  "articleType": {
                    "articleCategoryId": 0,
                    "typeName": "General",
                    "useStructuredAuthoring": false,
                    "articleTypeId": "999900000002020"
                  },
                  "articleKeywords": "Fair lending, Fair Housing Act, Discrimination protection, Residential mortgage loans, Equal opportunity housing",
                  "articleState": "P",
                  "articleSummary": "Fair lending ensures that lenders do not discriminate based on race, color,national origin, religion, sex, familial status, or disability when applying forresidential mortgage loans. The federal Fair Housing Act protects individuals'fair lending rights, enforced by the Office of Fair Housing and Equal Opportunity,along with state and local agencies. This law applies to U.S. citizens, greencard holders, and undocumented residents, ensuring equal opportunities in homesales, rentals, and financing.",
                  "attachments": [
                    {
                      "name": "eightbank.png",
                      "type": "INTERNAL",
                      "size": 45152,
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articles/attachments/PROD-1000?q=fair%2Blending&%articleAdditionalAttributes=allonalArticleResult&workflowMilestone=publish&%24lang=en-US"
                      },
                      "id": "PROD-1000"
                    }
                  ],
                  "createdBy": {
                    "id": "1013",
                    "firstName": "John",
                    "middleName": "",
                    "lastName": "Doe"
                  },
                  "createdDate": "2022-06-30T14:54:55Z",
                  "departmentID": "1001",
                  "description": "Common questions and answers regarding Fair Lending.",
                  "expirationDate": "2031-01-02T10:56:00Z",
                  "imageURL": "https://hd.egain.com/images/km-for-dummies-24.jpg",
                  "includeInGenAI": true,
                  "isSubscribed": true,
                  "languageCode": "en-US",
                  "modifiedBy": {
                    "id": "1013",
                    "firstName": "John",
                    "middleName": "",
                    "lastName": "Doe"
                  },
                  "modifiedDate": "2025-01-28T19:53:58Z",
                  "link": {
                    "rel": "self",
                    "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articles/PROD-2996?%&workflowMilestone=publish&accessSource=article_view&publishViewId=PROD-3203&%24lang=en-US"
                  },
                  "topicBreadcrumb": [
                    {
                      "topicSummary": [
                        {
                          "name": "Banking Regulations",
                          "link": {
                            "rel": "self",
                            "href": "/knowledge/portalmgr/v4/portals/PROD-1000/topics/PROD-1080"
                          }
                        }
                      ]
                    }
                  ],
                  "versionId": "PROD-2884"
                }
              },
              "Summary Attributes with Structured Authoring enabled": {
                "value": {
                  "id": "PROD-2996",
                  "name": "Fair Lending FAQs",
                  "additionalInfo": "Can be shared to public.",
                  "articleType": {
                    "articleCategoryId": 0,
                    "typeName": "General",
                    "useStructuredAuthoring": true,
                    "articleTypeId": "999800000002020"
                  },
                  "articleKeywords": "Fair lending, Fair Housing Act, Discrimination protection, Residential mortgage loans, Equal opportunity housing",
                  "articleState": "P",
                  "articleSummary": "Fair lending ensures that lenders do not discriminate based on race, color,national origin, religion, sex, familial status, or disability when applying forresidential mortgage loans. The federal Fair Housing Act protects individuals'fair lending rights, enforced by the Office of Fair Housing and Equal Opportunity,along with state and local agencies. This law applies to U.S. citizens, greencard holders, and undocumented residents, ensuring equal opportunities in homesales, rentals, and financing.",
                  "attachments": [
                    {
                      "name": "eightbank.png",
                      "type": "INTERNAL",
                      "size": 45152,
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articles/attachments/PROD-1000?q=fair%2Blending&%articleAdditionalAttributes=allonalArticleResult&workflowMilestone=publish&%24lang=en-US"
                      },
                      "id": "PROD-1000"
                    }
                  ],
                  "createdBy": {
                    "id": "1013",
                    "firstName": "John",
                    "middleName": "",
                    "lastName": "Doe"
                  },
                  "createdDate": "2022-06-30T14:54:55Z",
                  "departmentID": "1001",
                  "description": "Common questions and answers regarding Fair Lending.",
                  "expirationDate": "2031-01-02T10:56:00Z",
                  "hasAttachments": true,
                  "imageURL": "https://hd.egain.com/images/km-for-dummies-24.jpg",
                  "includeInGenAI": true,
                  "languageCode": "en-US",
                  "structuredAuthoringFields": {
                    "confidenceLevel": {
                      "value": "",
                      "displayValue": ""
                    },
                    "issue": "",
                    "environment": "",
                    "cause": ""
                  },
                  "modifiedBy": {
                    "id": "1013",
                    "firstName": "John",
                    "middleName": "",
                    "lastName": "Doe"
                  },
                  "modifiedDate": "2025-01-28T19:53:58Z",
                  "link": {
                    "rel": "self",
                    "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articles/PROD-2996?workflowMilestone=publish&accessSource=article_view&publishViewId=PROD-3203&%24lang=en-US"
                  },
                  "topicBreadcrumb": [
                    {
                      "topicSummary": [
                        {
                          "name": "Banking Regulations",
                          "link": {
                            "rel": "self",
                            "href": "/knowledge/portalmgr/v4/portals/PROD-1000/topics/PROD-1080"
                          }
                        }
                      ]
                    }
                  ],
                  "versionId": "PROD-2884"
                }
              },
              "All Attributes": {
                "value": {
                  "id": "PROD-2996",
                  "name": "Fair Lending FAQs",
                  "additionalInfo": "Can be shared to public.",
                  "articleType": {
                    "articleCategoryId": 0,
                    "typeName": "General",
                    "useStructuredAuthoring": false,
                    "articleTypeId": "999700000002020"
                  },
                  "articleKeywords": "Fair lending, Fair Housing Act, Discrimination protection, Residential mortgage loans, Equal opportunity housing",
                  "articleMacro": "",
                  "articleState": "P",
                  "articleSummary": "Fair lending ensures that lenders do not discriminate based on race, color,national origin, religion, sex, familial status, or disability when applying forresidential mortgage loans. The federal Fair Housing Act protects individuals'fair lending rights, enforced by the Office of Fair Housing and Equal Opportunity,along with state and local agencies. This law applies to U.S. citizens, greencard holders, and undocumented residents, ensuring equal opportunities in homesales, rentals, and financing.",
                  "attachments": [
                    {
                      "name": "eightbank.png",
                      "type": "INTERNAL",
                      "size": 45152,
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articles/attachments/PROD-1000?q=fair%2Blending&%articleAdditionalAttributes=allonalArticleResult&workflowMilestone=publish&%24lang=en-US"
                      },
                      "id": "PROD-1000"
                    }
                  ],
                  "availabilityDate": "2025-01-28T19:53:58Z",
                  "availableEditions": [
                    {
                      "id": "PROD-2886",
                      "name": "Customers",
                      "isContentEdition": true,
                      "publishProfile": {
                        "id": "PROD-3203",
                        "name": "default"
                      },
                      "link": {
                        "rel": "article",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articles/PROD-2996?%articleResultAdditionalAttributes=allonalArticleResult&workflowMilestone=publish&%24lang=en-US&edition=PROD-2886"
                      }
                    }
                  ],
                  "averageRating": 0,
                  "bookmarkStatus": {
                    "isBookmarked": true,
                    "bookmarkID": 777700000001234,
                    "folderBreadcrumb": {
                      "folderSummary": [
                        {
                          "name": "content",
                          "link": {
                            "rel": "self",
                            "href": "/knowledge/portalmgr/v4/portals/PROD-0001/bookmarks/folders/1001"
                          },
                          "id": 1001
                        }
                      ]
                    }
                  },
                  "compliance": {
                    "startDate": {
                      "date": "2022-06-30T14:54:55Z"
                    },
                    "dueDate": {
                      "date": "2025-07-30T14:54:55Z"
                    }
                  },
                  "content": "<h1>What is fair lending?</h1>\\n\\n<p>Fair lending prohibits lenders from considering your race, color, national origin, religion, sex, familial status, or disability when applying for residential mortgage loans. Fair lending guarantees the same lending opportunities to everyone.</p>\\n\\n\\n\\n\\n\\n<h1>If I am not from the United States, does the federal Fair Housing Act protect me?</h1>\\n\\n<p>Yes, whether you are a U.S. citizen, registered alien (a “green card” holder), or an undocumented resident of the U.S., you are protected by the federal Fair Housing Act.</p>\\n\\n<h1>How can the Fair Housing Act protect me when I purchase a home?</h1>\\n\\n<p>The federal Fair Housing Act makes it unlawful to discriminate in the sale, rental, or financing of homes because of race, color, national origin, religion, sex, familial status, or disability</p>\\n",
                  "contentText": "What is fair lending?\r\n\n\n\r\nFair lending prohibits lenders from considering your race, color, national origin, religion, sex, familial status, or disability when applying for residential mortgage loans. Fair lending guarantees the same lending opportunities to everyone.\n\n\n\n\n\n\r\nIf I am not from the United States, does the federal Fair Housing Act protect me?\r\n\n\n\r\nYes, whether you are a U.S. citizen, registered alien (a “green card” holder), or an undocumented resident of the U.S., you are protected by the federal Fair Housing Act.\n\n\r\nHow can the Fair Housing Act protect me when I purchase a home?\r\n\n\n\r\nThe federal Fair Housing Act makes it unlawful to discriminate in the sale, rental, or financing of homes because of race, color, national origin, religion, sex, familial status, or disability\n",
                  "createdBy": {
                    "id": "1013",
                    "firstName": "John",
                    "middleName": "",
                    "lastName": "Doe"
                  },
                  "createdDate": "2022-06-30T14:54:55Z",
                  "departmentID": "1001",
                  "description": "Common questions and answers regarding Fair Lending.",
                  "expirationDate": "2031-01-02T10:56:00Z",
                  "hasAttachments": true,
                  "imageURL": "https://hd.egain.com/images/km-for-dummies-24.jpg",
                  "includeInGenAI": true,
                  "isSubscribed": true,
                  "languageCode": "en-US",
                  "structuredAuthoringFields": {
                    "confidenceLevel": {
                      "value": "",
                      "displayValue": ""
                    },
                    "issue": "",
                    "environment": "",
                    "cause": ""
                  },
                  "modifiedBy": {
                    "id": "1013",
                    "firstName": "John",
                    "middleName": "",
                    "lastName": "Doe"
                  },
                  "modifiedDate": "2025-01-28T19:53:58Z",
                  "link": {
                    "rel": "self",
                    "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articles/PROD-2996?q=fair%2Blending&%articleAdditionalAttributes=all&workflowMilestone=publish&accessSource=article_view&publishViewId=PROD-3203&%24lang=en-US"
                  },
                  "ownedBy": {
                    "id": "1013",
                    "firstName": "John",
                    "middleName": "",
                    "lastName": "Doe"
                  },
                  "timesRated": 0,
                  "topicBreadcrumb": [
                    {
                      "topicSummary": [
                        {
                          "name": "Banking Regulations",
                          "link": {
                            "rel": "self",
                            "href": "/knowledge/portalmgr/v4/portals/PROD-1000/topics/PROD-1080"
                          }
                        }
                      ]
                    }
                  ],
                  "customAttributes": [],
                  "versionId": "PROD-2884",
                  "workflow": {
                    "stages": [
                      {
                        "name": "publish",
                        "milestone": {
                          "name": {
                            "value": "publish",
                            "displayValue": "Published"
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        }
      },
      "204_common_no_content": {
        "description": "No Content"
      },
      "400_common_bad_request": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WSErrorCommon"
            },
            "examples": {
              "Required Attribute missing": {
                "$ref": "#/components/examples/Required_Attribute_Missing"
              },
              "Unallowed attribute value": {
                "$ref": "#/components/examples/Unallowed_Attribute_Value"
              }
            }
          }
        }
      },
      "401_invalid_authorization": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WSErrorCommon"
            },
            "examples": {
              "Invalid Authorization": {
                "$ref": "#/components/examples/Invalid_Authorization"
              }
            }
          }
        }
      },
      "403_scope_not_assigned": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WSErrorCommon"
            },
            "examples": {
              "Required Scope Missing": {
                "$ref": "#/components/examples/Scope_Not_Assigned"
              }
            }
          }
        }
      },
      "404_common_not_found": {
        "description": "Not Found",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WSErrorCommon"
            },
            "examples": {
              "Resource Not Found": {
                "$ref": "#/components/examples/Resource_Not_Found"
              }
            }
          }
        }
      },
      "NotAcceptable": {
        "description": "Not acceptable",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WSErrorCommon"
            },
            "examples": {
              "Not Acceptable": {
                "$ref": "#/components/examples/NotAcceptable"
              }
            }
          }
        }
      },
      "InternalServerError": {
        "description": "Internal server error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WSErrorCommon"
            },
            "examples": {
              "Internal Server Error": {
                "$ref": "#/components/examples/InternalServerError"
              }
            }
          }
        }
      },
      "ArticleGetByIdWithEditionsResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ArticleWithEditions"
            },
            "examples": {
              "Article with Editions": {
                "value": {
                  "id": "PROD-2996",
                  "additionalInfo": "Can be shared to public.",
                  "articleType": {
                    "articleCategoryId": 0,
                    "typeName": "General",
                    "useStructuredAuthoring": false,
                    "articleTypeId": "100100000002020"
                  },
                  "articleKeywords": "Fair lending, Fair Housing Act, Discrimination protection, Residential mortgage loans, Equal opportunity housing",
                  "articleSummary": "Fair lending ensures that lenders do not discriminate based on race, color, national origin, religion, sex, familial status, or disability when applying for residential mortgage loans. The federal Fair Housing Act protects individuals' fair lending rights, enforced by the Office of Fair Housing and Equal Opportunity, along with state and local agencies. This law applies to U.S. citizens, green card holders, and undocumented residents, ensuring equal opportunities in home sales, rentals, and financing.",
                  "attachments": [
                    {
                      "id": "PROD-1000",
                      "name": "eightbank.png",
                      "size": 45152,
                      "type": "INTERNAL",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/articles/attachments/PROD-1000"
                      }
                    }
                  ],
                  "availabilityDate": "2025-01-28T19:53:58.000Z",
                  "availableEditions": [
                    {
                      "id": "PROD-2940",
                      "publishProfile": {
                        "id": "PROD-3020",
                        "name": "Internal"
                      },
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/articles/PROD-2996/editions/PROD-3020?%24lang=en-US"
                      }
                    },
                    {
                      "id": "PROD-2941",
                      "publishProfile": {
                        "id": "PROD-3203",
                        "name": "Customers"
                      },
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/articles/PROD-2996/editions/PROD-3203?%24lang=en-US"
                      }
                    }
                  ],
                  "averageRating": 0,
                  "createdBy": {
                    "id": "1013",
                    "userName": "jdoe",
                    "firstName": "John",
                    "middleName": "",
                    "lastName": "Doe"
                  },
                  "modifiedBy": {
                    "id": "1013",
                    "userName": "jdoe",
                    "firstName": "John",
                    "middleName": "",
                    "lastName": "Doe"
                  },
                  "ownedBy": {
                    "id": "1013",
                    "userName": "jdoe",
                    "firstName": "John",
                    "middleName": "",
                    "lastName": "Doe"
                  },
                  "createdDate": "2022-06-30T07:54:55.000Z",
                  "customAttributes": [],
                  "departmentID": "1001",
                  "description": "Common questions and answers regarding Fair Lending.",
                  "expirationDate": "2031-01-02T18:56:15.000Z",
                  "imageURL": "https://hd.egain.com/images/km-for-dummies-24.jpg",
                  "includeInGenAI": true,
                  "isSubscribed": false,
                  "modifiedDate": "2025-01-28T19:53:58.000Z",
                  "languageCode": "en-US",
                  "link": {
                    "rel": "self",
                    "href": "/knowledge/portalmgr/v4/articles/PROD-2996/witheditions?%24lang=en-US"
                  },
                  "name": "Fair Lending FAQs",
                  "articleState": "P",
                  "timesRated": 0,
                  "versionId": "PROD-2939",
                  "workflow": {
                    "stages": [
                      {
                        "name": "publish",
                        "milestone": {
                          "name": {
                            "value": "publish",
                            "displayValue": "Published"
                          }
                        }
                      }
                    ]
                  },
                  "personalization": {
                    "filters": {
                      "tagCategory": [
                        {
                          "name": "Banking",
                          "id": "PROD-1014",
                          "tags": {
                            "tag": [
                              {
                                "name": "Fair Lending",
                                "id": "PROD-5381"
                              },
                              {
                                "name": "Banking Industry Regulations",
                                "id": "PROD-2930"
                              }
                            ]
                          },
                          "tagGroups": {
                            "tagGroup": [
                              {
                                "name": "Banking",
                                "id": "PROD-2745"
                              }
                            ]
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      },
      "ArticleEditionDetailsResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/EditionWithContent"
            },
            "example": {
              "id": "PROD-2940",
              "name": "Internal",
              "publishProfile": {
                "id": "PROD-3020",
                "name": "Internal"
              },
              "content": "<h1>What is fair lending?</h1>\n\n<p>Fair lending prohibits lenders from considering your race, color, national origin, religion, sex, familial status, or disability when applying for residential mortgage loans. Fair lending guarantees the same lending opportunities to everyone.</p>\n\n\n\n\n\n<h1>If I am not from the United States, does the federal Fair Housing Act protect me?</h1>\n\n<p>Yes, whether you are a U.S. citizen, registered alien (a “green card” holder), or an undocumented resident of the U.S., you are protected by the federal Fair Housing Act.</p>\n\n<h1>How can the Fair Housing Act protect me when I purchase a home?</h1>\n\n<p>The federal Fair Housing Act makes it unlawful to discriminate in the sale, rental, or financing of homes because of race, color, national origin, religion, sex, familial status, or disability</p>\n\n<p></p>\n",
              "contentText": "What is fair lending?\r\n\n\n\r\nFair lending prohibits lenders from considering your race, color, national origin, religion, sex, familial status, or disability when applying for residential mortgage loans. Fair lending guarantees the same lending opportunities to everyone.\n\n\n\n\n\n\r\nIf I am not from the United States, does the federal Fair Housing Act protect me?\r\n\n\n\r\nYes, whether you are a U.S. citizen, registered alien (a “green card” holder), or an undocumented resident of the U.S., you are protected by the federal Fair Housing Act.\n\n\r\nHow can the Fair Housing Act protect me when I purchase a home?\r\n\n\n\r\nThe federal Fair Housing Act makes it unlawful to discriminate in the sale, rental, or financing of homes because of race, color, national origin, religion, sex, familial status, or disability\n\n\r\n\n",
              "accessTags": {
                "tagCategory": [
                  {
                    "name": "Channel",
                    "tag": [
                      {
                        "id": "PROD-1010",
                        "name": "Internal"
                      }
                    ]
                  },
                  {
                    "name": "Banking",
                    "tag": [
                      {
                        "id": "PROD-2196",
                        "name": "FAQs"
                      }
                    ]
                  }
                ]
              },
              "link": {
                "rel": "self",
                "href": "/knowledge/portalmgr/v4/articles/PROD-2996/editions/PROD-3020?%24lang=en-US"
              }
            }
          }
        }
      },
      "ArticleTypesGetByDepartmentResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ArticleTypes"
            },
            "example": [
              {
                "articleTypeId": "100100000000001",
                "typeName": "General",
                "description": "Knowledge",
                "imageURL": "https://hd.egain.com/images/km-for-dummies-24.jpg",
                "articleCategoryId": 0,
                "useStructuredAuthoring": true,
                "isSearchable": true,
                "isBrowsable": true
              },
              {
                "articleTypeId": "100100000000002",
                "typeName": "General",
                "description": "FAQ",
                "articleCategoryId": 0,
                "useStructuredAuthoring": true,
                "isSearchable": true,
                "isBrowsable": true
              },
              {
                "articleTypeId": "100100000000003",
                "typeName": "Suggestion",
                "description": "Suggestions",
                "articleCategoryId": 4,
                "useStructuredAuthoring": true,
                "isSearchable": true,
                "isBrowsable": true
              }
            ]
          }
        }
      },
      "GetTopicBreadCrumb": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/TopicBreadcrumbsList"
            },
            "example": {
              "topicBreadcrumb": [
                {
                  "topicSummary": [
                    {
                      "id": "PROD-1001",
                      "name": "Digital Banking",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/topics/PROD-1001"
                      }
                    },
                    {
                      "id": "PROD-1072",
                      "name": "Electronic Payments",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/topics/PROD-1072"
                      }
                    },
                    {
                      "id": "PROD-1075",
                      "name": "Transfer Funds",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/topics/PROD-1075"
                      }
                    }
                  ]
                },
                {
                  "topicSummary": [
                    {
                      "id": "PROD-1066",
                      "name": "Checking and Savings Accounts",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/topics/PROD-1066"
                      }
                    },
                    {
                      "id": "PROD-1075",
                      "name": "Transfer Funds",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/topics/PROD-1075"
                      }
                    }
                  ]
                }
              ]
            }
          }
        }
      },
      "415_unsupported_media_type": {
        "description": "Incorrect Content Type Header"
      },
      "ArticlesInTopicResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ArticleResults"
            },
            "examples": {
              "Summary Attributes": {
                "value": {
                  "articles": [
                    {
                      "id": "PROD-2996",
                      "name": "Fair Lending FAQs",
                      "articleType": {
                        "articleCategoryId": 0,
                        "typeName": "General",
                        "useStructuredAuthoring": false,
                        "articleTypeId": "999200000002020"
                      },
                      "createdBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe"
                      },
                      "createdDate": "2022-06-30T14:54:55Z",
                      "hasAttachments": true,
                      "languageCode": "en-US",
                      "modifiedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe"
                      },
                      "modifiedDate": "2025-01-28T19:53:58Z",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articles/PROD-2996?filter%5Btopic%5D=PROD-1069&workflowMilestone=publish&%24lang=en-US"
                      },
                      "versionId": "PROD-2884"
                    }
                  ],
                  "paginationInfo": {
                    "count": 1,
                    "pagenum": 1,
                    "pagesize": 10
                  }
                }
              },
              "All Attributes": {
                "value": {
                  "articles": [
                    {
                      "id": "PROD-2996",
                      "name": "Fair Lending FAQs",
                      "articleType": {
                        "articleCategoryId": 0,
                        "typeName": "General",
                        "useStructuredAuthoring": false,
                        "articleTypeId": "999100000002020"
                      },
                      "articleSummary": "Fair lending ensures that lenders do not discriminate based on race, color,national origin, religion, sex, familial status, or disability when applying forresidential mortgage loans. The federal Fair Housing Act protects individuals'fair lending rights, enforced by the Office of Fair Housing and Equal Opportunity,along with state and local agencies. This law applies to U.S. citizens, greencard holders, and undocumented residents, ensuring equal opportunities in homesales, rentals, and financing.",
                      "averageRating": 0,
                      "compliance": {
                        "startDate": {
                          "date": "2022-06-30T14:54:55Z"
                        },
                        "dueDate": {
                          "date": "2025-07-30T14:54:55Z"
                        }
                      },
                      "createdBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe",
                        "userName": "jdoe"
                      },
                      "createdDate": "2022-06-30T14:54:55Z",
                      "description": "Common questions and answers regarding Fair Lending.",
                      "hasAttachments": true,
                      "imageURL": "https://hd.egain.com/images/km-for-dummies-24.jpg",
                      "isSubscribed": true,
                      "languageCode": "en-US",
                      "modifiedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe",
                        "userName": "jdoe"
                      },
                      "modifiedDate": "2025-01-28T19:53:58Z",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articles/PROD-2996?24articleResultAdditionalAttributes=all&filter%5Btopic%5D=PROD-1069&workflowMilestone=publish&%24lang=en-US"
                      },
                      "ownedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe",
                        "userName": "jdoe"
                      },
                      "timesRated": 0,
                      "topicBreadcrumb": [
                        {
                          "topicSummary": [
                            {
                              "name": "Banking Regulations",
                              "link": {
                                "rel": "self",
                                "href": "/knowledge/portalmgr/v4/portals/PROD-1000/topics/PROD-1080"
                              }
                            }
                          ]
                        }
                      ],
                      "versionId": "PROD-2884",
                      "customAttributes": [],
                      "workflow": {
                        "stages": [
                          {
                            "name": "publish",
                            "milestone": {
                              "name": {
                                "value": "publish",
                                "displayValue": "Published"
                              }
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "paginationInfo": {
                    "count": 1,
                    "pagenum": 1,
                    "pagesize": 10
                  }
                }
              }
            }
          }
        }
      },
      "AttachmentGetByIdClientAppResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/AttachmentContentResult"
            },
            "examples": {
              "GetAttachmentById": {
                "value": {
                  "attachmentContent": [
                    {
                      "attachmentId": "PROD-1000",
                      "name": "eightbank.png",
                      "type": "INTERNAL",
                      "attachmentContentType": "image/png",
                      "streamingUrl": "https://developerv3api.egain.cloud/system/ws/v11/internal/stream/23a8f919-f9be-4d66-b717-69f51d6044c9",
                      "size": 45152,
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v3/portals/PROD-1000/articles/attachments/PROD-1000?%24attribute=all&%24lang=en-US"
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "403_client_app": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WSErrorCommon"
            },
            "examples": {
              "Actor Not Allowed": {
                "description": "This actor is not allowed to access this API. Refer to Authorization section of API description to know \nwhich actors are allowed to access this API.\n",
                "value": {
                  "code": "403-112",
                  "developerMessage": "Unauthorized URL access: <actor> are not allowed to access this URL."
                }
              },
              "Required Scope Missing": {
                "description": "This actor does not have required scope to call this API. Refer to Authorization section of API \ndescription to know which scope needs to be assigned to actor.\n",
                "value": {
                  "code": "403-197",
                  "developerMessage": "Unauthorized URL access: Logged in actor must have '<required_scopes>' scope to access this URL."
                }
              }
            }
          }
        }
      },
      "GetAttachmentByIdResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/AttachmentContentResult"
            },
            "examples": {
              "All Attributes": {
                "value": {
                  "attachmentContent": [
                    {
                      "attachmentId": "PROD-1000",
                      "name": "eightbank.png",
                      "type": "INTERNAL",
                      "attachmentContentType": "image/png",
                      "streamingUrl": "https://developerv3api.egain.cloud/system/ws/v11/internal/stream/23a8f919-f9be-4d66-b717-69f51d6044c9",
                      "size": 45152,
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v3/portals/PROD-1000/articles/attachments/PROD-1000?%24attribute=all&%24lang=en-US"
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "RelatedArticlesResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ArticleResults"
            },
            "examples": {
              "Summary Attributes": {
                "value": {
                  "articles": [
                    {
                      "id": "PROD-3002",
                      "name": "Fair Lending",
                      "articleType": {
                        "articleCategoryId": 0,
                        "typeName": "General",
                        "useStructuredAuthoring": false,
                        "articleTypeId": "988500000002020"
                      },
                      "createdBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe"
                      },
                      "createdDate": "2022-06-30T18:25:22Z",
                      "hasAttachments": false,
                      "languageCode": "en-US",
                      "modifiedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe"
                      },
                      "modifiedDate": "2025-01-28T20:58:11Z",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articles/PROD-3002?%&workflowMilestone=publish&filter%5Btags%5D=PROD-5381&%24lang=en-US"
                      },
                      "versionId": "PROD-2897"
                    }
                  ],
                  "paginationInfo": {
                    "count": 1,
                    "pagenum": 1,
                    "pagesize": 10
                  }
                }
              },
              "All Attributes": {
                "value": {
                  "articles": [
                    {
                      "id": "PROD-3002",
                      "name": "Fair Lending",
                      "articleType": {
                        "articleCategoryId": 0,
                        "typeName": "General",
                        "useStructuredAuthoring": false,
                        "articleTypeId": "988200000002020"
                      },
                      "articleSummary": "Fair lending ensures that lenders do not discriminate based on race, color, national origin, religion, sex, familial status, or disability when offering residential mortgage loans, guaranteeing equal opportunities for all. The Office of Fair Housing and Equal Opportunity enforces the federal Fair Housing Act, with state and local agencies ensuring similar protections. Additional laws, such as the Equal Credit Opportunities Act, also safeguard your rights. For more information, visit the U.S. Department of Housing and Urban Development website.",
                      "averageRating": 0,
                      "createdBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe",
                        "userName": "jdoe"
                      },
                      "createdDate": "2022-06-30T18:25:22Z",
                      "description": "Article detailing Fair Lending.",
                      "hasAttachments": false,
                      "imageURL": "",
                      "isSubscribed": false,
                      "languageCode": "en-US",
                      "modifiedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe",
                        "userName": "jdoe"
                      },
                      "modifiedDate": "2025-01-28T20:58:11Z",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articles/PROD-3002?%articleResultAdditionalAttributes=all&workflowMilestone=publish&filter%5Btags%5D=PROD-5381&%24lang=en-US"
                      },
                      "ownedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe",
                        "userName": "jdoe"
                      },
                      "timesRated": 0,
                      "topicBreadcrumb": [
                        {
                          "topicSummary": [
                            {
                              "name": "Banking Regulations",
                              "link": {
                                "rel": "self",
                                "href": "/knowledge/portalmgr/v4/portals/PROD-1000/topics/PROD-1080"
                              }
                            }
                          ]
                        }
                      ],
                      "customAttributes": [],
                      "versionId": "PROD-2897",
                      "workflow": {
                        "stages": [
                          {
                            "name": "publish",
                            "milestone": {
                              "name": {
                                "value": "publish",
                                "displayValue": "Published"
                              }
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "paginationInfo": {
                    "count": 1,
                    "pagenum": 1,
                    "pagesize": 10
                  }
                }
              }
            }
          }
        }
      },
      "AnnouncementArticlesResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ArticleResults"
            },
            "examples": {
              "Summary Attributes": {
                "value": {
                  "articles": [
                    {
                      "id": "PROD-2996",
                      "name": "Fair Lending FAQs",
                      "articleType": {
                        "articleCategoryId": 0,
                        "typeName": "General",
                        "useStructuredAuthoring": false,
                        "articleTypeId": "988100000002020"
                      },
                      "createdBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe"
                      },
                      "createdDate": "2022-06-30T14:54:55Z",
                      "hasAttachments": true,
                      "languageCode": "en-US",
                      "modifiedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe"
                      },
                      "modifiedDate": "2025-01-28T19:53:58Z",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articles/PROD-2996?filter%5Btopic%5D=PROD-1069&workflowMilestone=publish&%24lang=en-US"
                      },
                      "versionId": "PROD-2884"
                    }
                  ],
                  "paginationInfo": {
                    "count": 1,
                    "pagenum": 1,
                    "pagesize": 10
                  }
                }
              },
              "All Attributes": {
                "value": {
                  "articles": [
                    {
                      "id": "PROD-2996",
                      "name": "Fair Lending FAQs",
                      "articleType": {
                        "articleCategoryId": 0,
                        "typeName": "General",
                        "useStructuredAuthoring": false,
                        "articleTypeId": "987100000002020"
                      },
                      "articleSummary": "Fair lending ensures that lenders do not discriminate based on race, color,national origin, religion, sex, familial status, or disability when applying forresidential mortgage loans. The federal Fair Housing Act protects individuals'fair lending rights, enforced by the Office of Fair Housing and Equal Opportunity,along with state and local agencies. This law applies to U.S. citizens, greencard holders, and undocumented residents, ensuring equal opportunities in homesales, rentals, and financing.",
                      "averageRating": 0,
                      "compliance": {
                        "startDate": {
                          "date": "2022-06-30T14:54:55Z"
                        },
                        "dueDate": {
                          "date": "2025-07-30T14:54:55Z"
                        }
                      },
                      "createdBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe",
                        "userName": "jdoe"
                      },
                      "createdDate": "2022-06-30T14:54:55Z",
                      "description": "Common questions and answers regarding Fair Lending.",
                      "hasAttachments": true,
                      "imageURL": "https://hd.egain.com/images/km-for-dummies-24.jpg",
                      "isSubscribed": true,
                      "languageCode": "en-US",
                      "modifiedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe",
                        "userName": "jdoe"
                      },
                      "modifiedDate": "2025-01-28T19:53:58Z",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articles/PROD-2996?24articleResultAdditionalAttributes=all&filter%5Btopic%5D=PROD-1069&workflowMilestone=publish&%24lang=en-US"
                      },
                      "ownedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe",
                        "userName": "jdoe"
                      },
                      "timesRated": 0,
                      "topicBreadcrumb": [
                        {
                          "topicSummary": [
                            {
                              "name": "Banking Regulations",
                              "link": {
                                "rel": "self",
                                "href": "/knowledge/portalmgr/v4/portals/PROD-1000/topics/PROD-1080"
                              }
                            }
                          ]
                        }
                      ],
                      "versionId": "PROD-2884",
                      "customAttributes": [],
                      "workflow": {
                        "stages": [
                          {
                            "name": "publish",
                            "milestone": {
                              "name": {
                                "value": "publish",
                                "displayValue": "Published"
                              }
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "paginationInfo": {
                    "count": 1,
                    "pagenum": 1,
                    "pagesize": 10
                  }
                }
              }
            }
          }
        }
      },
      "GetArticleRatingsResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ArticleRatingsResponse"
            },
            "example": {
              "articleRatings": [
                {
                  "id": "1000",
                  "articleId": "PROD-29028",
                  "ratingValue": 85,
                  "ratingComments": "Good article",
                  "userId": "1002",
                  "ratingTimestamp": "2024-09-16T14:30:00Z"
                },
                {
                  "id": "1001",
                  "articleId": "PROD-29028",
                  "ratingValue": 80,
                  "ratingComments": "Good article",
                  "userId": "1005",
                  "ratingTimestamp": "2024-11-16T14:30:00Z"
                }
              ],
              "paginationInfo": {
                "count": 2,
                "pagenum": 1,
                "pagesize": 10,
                "link": [
                  {
                    "rel": "next",
                    "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articles/PROD-2996/ratings?$pagenum=2"
                  }
                ]
              }
            }
          }
        }
      },
      "PendingArticleComplianceResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ComplianceArticleResults"
            },
            "examples": {
              "Summary Article": {
                "value": {
                  "articles": [
                    {
                      "id": "PROD-2996",
                      "name": "Fair Lending FAQs",
                      "articleType": {
                        "articleCategoryId": 0,
                        "typeName": "General",
                        "useStructuredAuthoring": false,
                        "articleTypeId": "999500000002020"
                      },
                      "updateSummary": "",
                      "createdBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe"
                      },
                      "createdDate": "2022-06-30T14:54:55Z",
                      "hasAttachments": true,
                      "languageCode": "en-US",
                      "modifiedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe"
                      },
                      "modifiedDate": "2025-01-28T19:53:58Z",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articles/PROD-2996?filter%5Btopic%5D=PROD-1069&workflowMilestone=publish&%24lang=en-US"
                      },
                      "versionId": "PROD-2884"
                    }
                  ],
                  "paginationInfo": {
                    "count": 1,
                    "pagenum": 1,
                    "pagesize": 10
                  }
                }
              },
              "All Attributes": {
                "value": {
                  "articles": [
                    {
                      "id": "PROD-2996",
                      "name": "Fair Lending FAQs",
                      "articleType": {
                        "articleCategoryId": 0,
                        "typeName": "General",
                        "useStructuredAuthoring": false,
                        "articleTypeId": "999400000002020"
                      },
                      "articleSummary": "Fair lending ensures that lenders do not discriminate based on race, color,national origin, religion, sex, familial status, or disability when applying forresidential mortgage loans. The federal Fair Housing Act protects individuals'fair lending rights, enforced by the Office of Fair Housing and Equal Opportunity,along with state and local agencies. This law applies to U.S. citizens, greencard holders, and undocumented residents, ensuring equal opportunities in homesales, rentals, and financing.",
                      "updateSummary": "",
                      "averageRating": 0,
                      "compliance": {
                        "startDate": {
                          "date": "2022-06-30T14:54:55Z"
                        },
                        "dueDate": {
                          "date": "2025-07-30T14:54:55Z"
                        }
                      },
                      "createdBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe",
                        "userName": "jdoe"
                      },
                      "createdDate": "2022-06-30T14:54:55Z",
                      "description": "Common questions and answers regarding Fair Lending.",
                      "hasAttachments": true,
                      "imageURL": "https://hd.egain.com/images/km-for-dummies-24.jpg",
                      "isSubscribed": true,
                      "languageCode": "en-US",
                      "modifiedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe",
                        "userName": "jdoe"
                      },
                      "modifiedDate": "2025-01-28T19:53:58Z",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articles/PROD-2996?24articleResultAdditionalAttributes=all&filter%5Btopic%5D=PROD-1069&workflowMilestone=publish&%24lang=en-US"
                      },
                      "ownedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe",
                        "userName": "jdoe"
                      },
                      "timesRated": 0,
                      "topicBreadcrumb": [
                        {
                          "topicSummary": [
                            {
                              "name": "Banking Regulations",
                              "link": {
                                "rel": "self",
                                "href": "/knowledge/portalmgr/v4/portals/PROD-1000/topics/PROD-1080"
                              }
                            }
                          ]
                        }
                      ],
                      "versionId": "PROD-2884",
                      "customAttributes": [],
                      "workflow": {
                        "stages": [
                          {
                            "name": "publish",
                            "milestone": {
                              "name": {
                                "value": "publish",
                                "displayValue": "Published"
                              }
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "paginationInfo": {
                    "count": 1,
                    "pagenum": 1,
                    "pagesize": 10
                  }
                }
              }
            }
          }
        }
      },
      "AcknowledgedArticleComplianceResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ComplianceArticleResults"
            },
            "examples": {
              "Summary Article": {
                "value": {
                  "articles": [
                    {
                      "id": "PROD-2996",
                      "name": "Fair Lending FAQs",
                      "articleType": {
                        "articleCategoryId": 0,
                        "typeName": "General",
                        "useStructuredAuthoring": false,
                        "articleTypeId": "999500000002020"
                      },
                      "updateSummary": "",
                      "createdBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe"
                      },
                      "createdDate": "2022-06-30T14:54:55Z",
                      "hasAttachments": true,
                      "languageCode": "en-US",
                      "modifiedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe"
                      },
                      "modifiedDate": "2025-01-28T19:53:58Z",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articles/PROD-2996?filter%5Btopic%5D=PROD-1069&workflowMilestone=publish&%24lang=en-US"
                      },
                      "versionId": "PROD-2884"
                    }
                  ],
                  "paginationInfo": {
                    "count": 1,
                    "pagenum": 1,
                    "pagesize": 10
                  }
                }
              },
              "All Attributes": {
                "value": {
                  "articles": [
                    {
                      "id": "PROD-2996",
                      "name": "Fair Lending FAQs",
                      "articleType": {
                        "articleCategoryId": 0,
                        "typeName": "General",
                        "useStructuredAuthoring": false,
                        "articleTypeId": "999400000002020"
                      },
                      "articleSummary": "Fair lending ensures that lenders do not discriminate based on race, color,national origin, religion, sex, familial status, or disability when applying forresidential mortgage loans. The federal Fair Housing Act protects individuals'fair lending rights, enforced by the Office of Fair Housing and Equal Opportunity,along with state and local agencies. This law applies to U.S. citizens, greencard holders, and undocumented residents, ensuring equal opportunities in homesales, rentals, and financing.",
                      "updateSummary": "",
                      "averageRating": 0,
                      "compliance": {
                        "startDate": {
                          "date": "2022-06-30T14:54:55Z"
                        },
                        "dueDate": {
                          "date": "2025-07-30T14:54:55Z"
                        }
                      },
                      "createdBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe",
                        "userName": "jdoe"
                      },
                      "createdDate": "2022-06-30T14:54:55Z",
                      "description": "Common questions and answers regarding Fair Lending.",
                      "hasAttachments": true,
                      "imageURL": "https://hd.egain.com/images/km-for-dummies-24.jpg",
                      "isSubscribed": true,
                      "languageCode": "en-US",
                      "modifiedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe",
                        "userName": "jdoe"
                      },
                      "modifiedDate": "2025-01-28T19:53:58Z",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articles/PROD-2996?24articleResultAdditionalAttributes=all&filter%5Btopic%5D=PROD-1069&workflowMilestone=publish&%24lang=en-US"
                      },
                      "ownedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe",
                        "userName": "jdoe"
                      },
                      "timesRated": 0,
                      "topicBreadcrumb": [
                        {
                          "topicSummary": [
                            {
                              "name": "Banking Regulations",
                              "link": {
                                "rel": "self",
                                "href": "/knowledge/portalmgr/v4/portals/PROD-1000/topics/PROD-1080"
                              }
                            }
                          ]
                        }
                      ],
                      "versionId": "PROD-2884",
                      "customAttributes": [],
                      "workflow": {
                        "stages": [
                          {
                            "name": "publish",
                            "milestone": {
                              "name": {
                                "value": "publish",
                                "displayValue": "Published"
                              }
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "paginationInfo": {
                    "count": 1,
                    "pagenum": 1,
                    "pagesize": 10
                  }
                }
              }
            }
          }
        }
      },
      "SubscribedArticleResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ArticleResults"
            },
            "examples": {
              "Summary Article": {
                "value": {
                  "articles": [
                    {
                      "id": "PROD-2996",
                      "name": "Fair Lending FAQs",
                      "articleType": {
                        "articleCategoryId": 0,
                        "typeName": "General",
                        "useStructuredAuthoring": false,
                        "articleTypeId": "999300000002020"
                      },
                      "createdBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe"
                      },
                      "createdDate": "2022-06-30T14:54:55Z",
                      "hasAttachments": true,
                      "languageCode": "en-US",
                      "modifiedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe"
                      },
                      "modifiedDate": "2025-01-28T19:53:58Z",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articles/PROD-2996?filter%5Btopic%5D=PROD-1069&workflowMilestone=publish&%24lang=en-US"
                      },
                      "versionId": "PROD-2884"
                    }
                  ],
                  "paginationInfo": {
                    "count": 1,
                    "pagenum": 1,
                    "pagesize": 10
                  }
                }
              },
              "All Attributes": {
                "value": {
                  "articles": [
                    {
                      "id": "PROD-2996",
                      "name": "Fair Lending FAQs",
                      "articleType": {
                        "articleCategoryId": 0,
                        "typeName": "General",
                        "useStructuredAuthoring": false,
                        "articleTypeId": "999200000002020"
                      },
                      "articleSummary": "Fair lending ensures that lenders do not discriminate based on race, color,national origin, religion, sex, familial status, or disability when applying forresidential mortgage loans. The federal Fair Housing Act protects individuals'fair lending rights, enforced by the Office of Fair Housing and Equal Opportunity,along with state and local agencies. This law applies to U.S. citizens, greencard holders, and undocumented residents, ensuring equal opportunities in homesales, rentals, and financing.",
                      "averageRating": 0,
                      "compliance": {
                        "startDate": {
                          "date": "2022-06-30T14:54:55Z"
                        },
                        "dueDate": {
                          "date": "2025-07-30T14:54:55Z"
                        }
                      },
                      "createdBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe",
                        "userName": "jdoe"
                      },
                      "createdDate": "2022-06-30T14:54:55Z",
                      "description": "Common questions and answers regarding Fair Lending.",
                      "hasAttachments": true,
                      "imageURL": "https://hd.egain.com/images/km-for-dummies-24.jpg",
                      "isSubscribed": true,
                      "languageCode": "en-US",
                      "modifiedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe",
                        "userName": "jdoe"
                      },
                      "modifiedDate": "2025-01-28T19:53:58Z",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articles/PROD-2996?24articleResultAdditionalAttributes=all&filter%5Btopic%5D=PROD-1069&workflowMilestone=publish&%24lang=en-US"
                      },
                      "ownedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe",
                        "userName": "jdoe"
                      },
                      "timesRated": 0,
                      "topicBreadcrumb": [
                        {
                          "topicSummary": [
                            {
                              "name": "Banking Regulations",
                              "link": {
                                "rel": "self",
                                "href": "/knowledge/portalmgr/v4/portals/PROD-1000/topics/PROD-1080"
                              }
                            }
                          ]
                        }
                      ],
                      "versionId": "PROD-2884",
                      "customAttributes": [],
                      "workflow": {
                        "stages": [
                          {
                            "name": "publish",
                            "milestone": {
                              "name": {
                                "value": "publish",
                                "displayValue": "Published"
                              }
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "paginationInfo": {
                    "count": 1,
                    "pagenum": 1,
                    "pagesize": 10
                  }
                }
              }
            }
          }
        }
      },
      "GetTopicByIdResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/TopicTreeResult"
            },
            "examples": {
              "Get topic tree with $level value 0": {
                "value": {
                  "topicTree": [
                    {
                      "topic": {
                        "name": "Debit Cards",
                        "articleCountInTopic": 4,
                        "articleCountInTopicTree": 4,
                        "createdBy": {
                          "id": "1013",
                          "firstName": "John",
                          "middleName": "",
                          "lastName": "Doe"
                        },
                        "createdDate": "2022-08-04T16:25:45Z",
                        "departmentId": 1001,
                        "modifiedBy": {
                          "id": "1013",
                          "firstName": "John",
                          "middleName": "",
                          "lastName": "Doe"
                        },
                        "modifiedDate": "2022-09-04T16:25:45Z",
                        "parentTopicId": "PROD-1066",
                        "topicHomeArticleId": "",
                        "subTopicIds": [],
                        "childCount": 0,
                        "id": "PROD-1069"
                      }
                    }
                  ]
                }
              },
              "Get topic tree with $level value 1": {
                "value": {
                  "topicTree": [
                    {
                      "topic": {
                        "name": "Debit Cards",
                        "articleCountInTopic": 4,
                        "articleCountInTopicTree": 4,
                        "createdBy": {
                          "id": "1013",
                          "firstName": "John",
                          "middleName": "",
                          "lastName": "Doe"
                        },
                        "createdDate": "2022-08-04T16:25:45Z",
                        "departmentId": 1001,
                        "modifiedBy": {
                          "id": "1013",
                          "firstName": "John",
                          "middleName": "",
                          "lastName": "Doe"
                        },
                        "modifiedDate": "2022-09-04T16:25:45Z",
                        "parentTopicId": "PROD-1066",
                        "topicHomeArticleId": "",
                        "subTopicIds": [],
                        "childCount": 0,
                        "id": "PROD-1069"
                      },
                      "topicTree": []
                    }
                  ],
                  "paginationInfo": {
                    "count": 0,
                    "pagenum": 1,
                    "pagesize": 10
                  }
                }
              },
              "Topic tree with additional attributes with $level value 0": {
                "value": {
                  "topicTree": [
                    {
                      "topic": {
                        "name": "Debit Cards",
                        "articleCountInTopic": 4,
                        "articleCountInTopicTree": 4,
                        "createdBy": {
                          "id": "1013",
                          "firstName": "John",
                          "middleName": "",
                          "lastName": "Doe"
                        },
                        "createdDate": "2022-08-04T16:25:45Z",
                        "departmentId": 1001,
                        "modifiedBy": {
                          "id": "1013",
                          "firstName": "John",
                          "middleName": "",
                          "lastName": "Doe"
                        },
                        "modifiedDate": "2022-09-04T16:25:45Z",
                        "parentTopicId": "PROD-1066",
                        "topicHomeArticleId": "",
                        "subTopicIds": [],
                        "childCount": 0,
                        "id": "PROD-1069",
                        "imageUrl": "",
                        "description": "",
                        "textMetadata": {
                          "highlightMetadata": []
                        }
                      }
                    }
                  ]
                }
              },
              "Topic tree with custom attributes and $level value 0": {
                "value": {
                  "topicTree": [
                    {
                      "topic": {
                        "name": "Debit Cards",
                        "articleCountInTopic": 4,
                        "articleCountInTopicTree": 4,
                        "createdBy": {
                          "id": "1013",
                          "firstName": "John",
                          "middleName": "",
                          "lastName": "Doe"
                        },
                        "createdDate": "2022-08-04T16:25:45Z",
                        "departmentId": 1001,
                        "modifiedBy": {
                          "id": "1013",
                          "firstName": "John",
                          "middleName": "",
                          "lastName": "Doe"
                        },
                        "modifiedDate": "2022-09-04T16:25:45Z",
                        "parentTopicId": "PROD-1066",
                        "topicHomeArticleId": "",
                        "subTopicIds": [],
                        "childCount": 0,
                        "id": "PROD-1069",
                        "customAttributes": []
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "GetParentTopicsResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/TopicResult"
            },
            "examples": {
              "Summary Attributes": {
                "value": {
                  "topic": [
                    {
                      "name": "Checking and Savings Accounts",
                      "articleCountInTopic": 0,
                      "createdBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe"
                      },
                      "createdDate": "2022-08-04T16:25:45Z",
                      "departmentId": "1001",
                      "modifiedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe"
                      },
                      "modifiedDate": "2022-09-04T16:25:45Z",
                      "topicHomeArticleId": "",
                      "parentTopicId": "-1",
                      "childCount": 0,
                      "subTopicsIds": [],
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v3/portals/PROD-1000/topics/PROD-1066?%24lang=en-US"
                      },
                      "id": "PROD-1066"
                    }
                  ],
                  "paginationInfo": {
                    "count": 1,
                    "pagenum": 1,
                    "pagesize": 10
                  }
                }
              },
              "With Additional Attributes": {
                "value": {
                  "topic": [
                    {
                      "name": "Checking and Savings Accounts",
                      "articleCountInTopic": 0,
                      "createdBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe"
                      },
                      "createdDate": "2022-08-04T16:25:45Z",
                      "departmentId": "1001",
                      "modifiedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe"
                      },
                      "modifiedDate": "2022-09-04T16:25:45Z",
                      "topicHomeArticleId": "",
                      "parentTopicId": "-1",
                      "childCount": 0,
                      "subTopicsIds": [],
                      "description": "",
                      "imageUrl": "",
                      "textMetadata": {
                        "highlightMetadata": []
                      },
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v3/portals/PROD-1000/topics/PROD-1066?%24lang=en-US"
                      },
                      "id": "PROD-1066"
                    }
                  ],
                  "paginationInfo": {
                    "count": 1,
                    "pagenum": 1,
                    "pagesize": 10
                  }
                }
              }
            }
          }
        }
      },
      "GetAllTopicsResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/TopicTreeResult"
            },
            "examples": {
              "Summary Attributes": {
                "value": {
                  "topicTree": [
                    {
                      "topic": {
                        "name": "Online Access",
                        "description": "",
                        "articleCountInTopic": 0,
                        "articleCountInTopicTree": 73,
                        "createdBy": {
                          "id": "1013",
                          "firstName": "John",
                          "middleName": "",
                          "lastName": "Doe"
                        },
                        "createdDate": "2022-05-23T19:44:02Z",
                        "departmentId": 1001,
                        "modifiedBy": {
                          "id": "1013",
                          "firstName": "John",
                          "middleName": "",
                          "lastName": "Doe"
                        },
                        "modifiedDate": "2022-05-24T13:52:26Z",
                        "parentTopicId": -1,
                        "childCount": 9,
                        "id": "PROD-1001"
                      },
                      "topicTree": [
                        {
                          "topic": {
                            "name": "Accessing Your Account",
                            "description": "",
                            "articleCountInTopic": 18,
                            "articleCountInTopicTree": 18,
                            "createdBy": {
                              "id": "1013",
                              "firstName": "John",
                              "middleName": "",
                              "lastName": "Doe"
                            },
                            "createdDate": "2022-06-08T22:39:09Z",
                            "departmentId": 1001,
                            "modifiedBy": {
                              "id": "1013",
                              "firstName": "John",
                              "middleName": "",
                              "lastName": "Doe"
                            },
                            "modifiedDate": "2022-06-08T22:39:09Z",
                            "parentTopicId": "PROD-1001",
                            "childCount": 0,
                            "id": "PROD-1062"
                          }
                        },
                        {
                          "topic": {
                            "name": "Electronic Payments & Deposits",
                            "description": "",
                            "articleCountInTopic": 3,
                            "articleCountInTopicTree": 3,
                            "createdBy": {
                              "id": "1013",
                              "firstName": "John",
                              "middleName": "",
                              "lastName": "Doe"
                            },
                            "createdDate": "2022-07-01T14:01:38Z",
                            "departmentId": 1001,
                            "modifiedBy": {
                              "id": "1013",
                              "firstName": "John",
                              "middleName": "",
                              "lastName": "Doe"
                            },
                            "modifiedDate": "2022-07-07T17:10:33Z",
                            "parentTopicId": "PROD-1001",
                            "childCount": 0,
                            "id": "PROD-1152"
                          }
                        },
                        {
                          "topic": {
                            "name": "Manage Accounts",
                            "description": "",
                            "articleCountInTopic": 16,
                            "articleCountInTopicTree": 16,
                            "createdBy": {
                              "id": "1013",
                              "firstName": "John",
                              "middleName": "",
                              "lastName": "Doe"
                            },
                            "createdDate": "2022-06-09T15:15:36Z",
                            "departmentId": 1001,
                            "modifiedBy": {
                              "id": "1013",
                              "firstName": "John",
                              "middleName": "",
                              "lastName": "Doe"
                            },
                            "modifiedDate": "2022-07-12T14:33:27Z",
                            "parentTopicId": "PROD-1001",
                            "childCount": 0,
                            "id": "PROD-1063"
                          }
                        },
                        {
                          "topic": {
                            "name": "Membership",
                            "description": "",
                            "articleCountInTopic": 3,
                            "articleCountInTopicTree": 3,
                            "createdBy": {
                              "id": "1013",
                              "firstName": "John",
                              "middleName": "",
                              "lastName": "Doe"
                            },
                            "createdDate": "2022-06-22T19:38:45Z",
                            "departmentId": 1001,
                            "modifiedBy": {
                              "id": "1013",
                              "firstName": "John",
                              "middleName": "",
                              "lastName": "Doe"
                            },
                            "modifiedDate": "2022-06-22T19:38:45Z",
                            "parentTopicId": "PROD-1001",
                            "childCount": 0,
                            "id": "PROD-1124"
                          }
                        },
                        {
                          "topic": {
                            "name": "Mobile Banking",
                            "description": "",
                            "articleCountInTopic": 3,
                            "articleCountInTopicTree": 3,
                            "createdBy": {
                              "id": "1013",
                              "firstName": "John",
                              "middleName": "",
                              "lastName": "Doe"
                            },
                            "createdDate": "2022-06-10T14:29:46Z",
                            "departmentId": 1001,
                            "modifiedBy": {
                              "id": "1013",
                              "firstName": "John",
                              "middleName": "",
                              "lastName": "Doe"
                            },
                            "modifiedDate": "2022-06-10T14:30:52Z",
                            "parentTopicId": "PROD-1001",
                            "childCount": 0,
                            "id": "PROD-1082"
                          }
                        },
                        {
                          "topic": {
                            "name": "Personal Information",
                            "description": "",
                            "articleCountInTopic": 2,
                            "articleCountInTopicTree": 2,
                            "createdBy": {
                              "id": "1013",
                              "firstName": "John",
                              "middleName": "",
                              "lastName": "Doe"
                            },
                            "createdDate": "2022-06-10T15:28:51Z",
                            "departmentId": 1001,
                            "modifiedBy": {
                              "id": "1013",
                              "firstName": "John",
                              "middleName": "",
                              "lastName": "Doe"
                            },
                            "modifiedDate": "2022-06-10T15:28:51Z",
                            "parentTopicId": "PROD-1001",
                            "childCount": 0,
                            "id": "PROD-1090"
                          }
                        },
                        {
                          "topic": {
                            "name": "Stop Payments",
                            "description": "",
                            "articleCountInTopic": 3,
                            "articleCountInTopicTree": 3,
                            "createdBy": {
                              "id": "1013",
                              "firstName": "John",
                              "middleName": "",
                              "lastName": "Doe"
                            },
                            "createdDate": "2022-06-10T15:32:01Z",
                            "departmentId": 1001,
                            "modifiedBy": {
                              "id": "1013",
                              "firstName": "John",
                              "middleName": "",
                              "lastName": "Doe"
                            },
                            "modifiedDate": "2022-06-10T15:32:01Z",
                            "parentTopicId": "PROD-1001",
                            "childCount": 0,
                            "id": "PROD-1091"
                          }
                        },
                        {
                          "topic": {
                            "name": "Using Online Banking",
                            "description": "",
                            "articleCountInTopic": 21,
                            "articleCountInTopicTree": 21,
                            "createdBy": {
                              "id": "1013",
                              "firstName": "John",
                              "middleName": "",
                              "lastName": "Doe"
                            },
                            "createdDate": "2022-06-10T14:41:53Z",
                            "departmentId": 1001,
                            "modifiedBy": {
                              "id": "1013",
                              "firstName": "John",
                              "middleName": "",
                              "lastName": "Doe"
                            },
                            "modifiedDate": "2022-06-10T14:41:53Z",
                            "parentTopicId": "PROD-1001",
                            "childCount": 0,
                            "id": "PROD-1088"
                          }
                        },
                        {
                          "topic": {
                            "name": "Zelle",
                            "description": "",
                            "articleCountInTopic": 4,
                            "articleCountInTopicTree": 4,
                            "createdBy": {
                              "id": "1013",
                              "firstName": "John",
                              "middleName": "",
                              "lastName": "Doe"
                            },
                            "createdDate": "2022-06-10T14:31:11Z",
                            "departmentId": 1001,
                            "modifiedBy": {
                              "id": "1013",
                              "firstName": "John",
                              "middleName": "",
                              "lastName": "Doe"
                            },
                            "modifiedDate": "2022-06-10T18:08:01Z",
                            "parentTopicId": "PROD-1001",
                            "childCount": 0,
                            "id": "PROD-1084"
                          }
                        }
                      ]
                    },
                    {
                      "topic": {
                        "name": "Accessing Your Account",
                        "articleCountInTopic": 21,
                        "articleCountInTopicTree": 21,
                        "createdBy": {
                          "id": "1013",
                          "firstName": "John",
                          "middleName": "",
                          "lastName": "Doe"
                        },
                        "createdDate": "2022-06-09T16:24:27Z",
                        "departmentId": 1001,
                        "modifiedBy": {
                          "id": "1013",
                          "firstName": "John",
                          "middleName": "",
                          "lastName": "Doe"
                        },
                        "modifiedDate": "2022-06-09T16:24:27Z",
                        "parentTopicId": -1,
                        "childCount": 0,
                        "id": "PROD-1064"
                      }
                    },
                    {
                      "topic": {
                        "name": "Banking Regulations",
                        "articleCountInTopic": 19,
                        "articleCountInTopicTree": 19,
                        "createdBy": {
                          "id": "1013",
                          "firstName": "John",
                          "middleName": "",
                          "lastName": "Doe"
                        },
                        "createdDate": "2022-06-09T16:24:37Z",
                        "departmentId": 1001,
                        "modifiedBy": {
                          "id": "1013",
                          "firstName": "John",
                          "middleName": "",
                          "lastName": "Doe"
                        },
                        "modifiedDate": "2022-06-09T16:24:37Z",
                        "parentTopicId": -1,
                        "childCount": 0,
                        "id": "PROD-1065"
                      }
                    },
                    {
                      "topic": {
                        "name": "Checking and Savings Accounts",
                        "articleCountInTopic": 12,
                        "articleCountInTopicTree": 26,
                        "createdBy": {
                          "id": "1013",
                          "firstName": "John",
                          "middleName": "",
                          "lastName": "Doe"
                        },
                        "createdDate": "2022-06-09T16:24:49Z",
                        "departmentId": 1001,
                        "modifiedBy": {
                          "id": "1013",
                          "firstName": "John",
                          "middleName": "",
                          "lastName": "Doe"
                        },
                        "modifiedDate": "2022-06-09T16:24:49Z",
                        "parentTopicId": -1,
                        "childCount": 2,
                        "id": "PROD-1066"
                      },
                      "topicTree": [
                        {
                          "topic": {
                            "name": "Credit Cards",
                            "articleCountInTopic": 10,
                            "articleCountInTopicTree": 10,
                            "createdBy": {
                              "id": "1013",
                              "firstName": "John",
                              "middleName": "",
                              "lastName": "Doe"
                            },
                            "createdDate": "2022-06-09T16:25:27Z",
                            "departmentId": 1001,
                            "modifiedBy": {
                              "id": "1013",
                              "firstName": "John",
                              "middleName": "",
                              "lastName": "Doe"
                            },
                            "modifiedDate": "2022-06-09T16:25:27Z",
                            "parentTopicId": "PROD-1066",
                            "childCount": 0,
                            "id": "PROD-1068"
                          }
                        },
                        {
                          "topic": {
                            "name": "Debit Cards",
                            "articleCountInTopic": 4,
                            "articleCountInTopicTree": 4,
                            "createdBy": {
                              "id": "1013",
                              "firstName": "John",
                              "middleName": "",
                              "lastName": "Doe"
                            },
                            "createdDate": "2022-06-09T16:25:45Z",
                            "departmentId": 1001,
                            "modifiedBy": {
                              "id": "1013",
                              "firstName": "John",
                              "middleName": "",
                              "lastName": "Doe"
                            },
                            "modifiedDate": "2022-06-09T16:25:45Z",
                            "parentTopicId": "PROD-1066",
                            "childCount": 0,
                            "id": "PROD-1069"
                          }
                        }
                      ]
                    },
                    {
                      "topic": {
                        "name": "Claims",
                        "articleCountInTopic": 0,
                        "articleCountInTopicTree": 0,
                        "createdBy": {
                          "id": "1013",
                          "firstName": "John",
                          "middleName": "",
                          "lastName": "Doe"
                        },
                        "createdDate": "2022-06-10T14:31:45Z",
                        "departmentId": 1001,
                        "modifiedBy": {
                          "id": "1013",
                          "firstName": "John",
                          "middleName": "",
                          "lastName": "Doe"
                        },
                        "modifiedDate": "2022-06-10T14:31:45Z",
                        "parentTopicId": -1,
                        "childCount": 0,
                        "id": "PROD-1085"
                      }
                    },
                    {
                      "topic": {
                        "name": "Loans",
                        "articleCountInTopic": 11,
                        "articleCountInTopicTree": 11,
                        "createdBy": {
                          "id": "1013",
                          "firstName": "John",
                          "middleName": "",
                          "lastName": "Doe"
                        },
                        "createdDate": "2022-06-09T16:30:12Z",
                        "departmentId": 1001,
                        "modifiedBy": {
                          "id": "1013",
                          "firstName": "John",
                          "middleName": "",
                          "lastName": "Doe"
                        },
                        "modifiedDate": "2022-06-09T16:30:12Z",
                        "parentTopicId": -1,
                        "childCount": 0,
                        "id": "PROD-1070"
                      }
                    },
                    {
                      "topic": {
                        "name": "Membership",
                        "articleCountInTopic": 5,
                        "articleCountInTopicTree": 5,
                        "createdBy": {
                          "id": "1013",
                          "firstName": "John",
                          "middleName": "",
                          "lastName": "Doe"
                        },
                        "createdDate": "2022-06-09T16:30:25Z",
                        "departmentId": 1001,
                        "modifiedBy": {
                          "id": "1013",
                          "firstName": "John",
                          "middleName": "",
                          "lastName": "Doe"
                        },
                        "modifiedDate": "2022-06-09T16:30:25Z",
                        "parentTopicId": -1,
                        "childCount": 0,
                        "id": "PROD-1071"
                      }
                    },
                    {
                      "topic": {
                        "name": "Using Online Banking",
                        "articleCountInTopic": 20,
                        "articleCountInTopicTree": 46,
                        "createdBy": {
                          "id": "1013",
                          "firstName": "John",
                          "middleName": "",
                          "lastName": "Doe"
                        },
                        "createdDate": "2022-06-09T16:31:03Z",
                        "departmentId": 1001,
                        "modifiedBy": {
                          "id": "1013",
                          "firstName": "John",
                          "middleName": "",
                          "lastName": "Doe"
                        },
                        "modifiedDate": "2022-06-09T16:31:03Z",
                        "parentTopicId": -1,
                        "childCount": 3,
                        "id": "PROD-1072"
                      },
                      "topicTree": [
                        {
                          "topic": {
                            "name": "Mobile Banking",
                            "articleCountInTopic": 3,
                            "articleCountInTopicTree": 3,
                            "createdBy": {
                              "id": "1013",
                              "firstName": "John",
                              "middleName": "",
                              "lastName": "Doe"
                            },
                            "createdDate": "2022-06-09T16:31:12Z",
                            "departmentId": 1001,
                            "modifiedBy": {
                              "id": "1013",
                              "firstName": "John",
                              "middleName": "",
                              "lastName": "Doe"
                            },
                            "modifiedDate": "2022-06-09T16:31:12Z",
                            "parentTopicId": "PROD-1072",
                            "childCount": 0,
                            "id": "PROD-1073"
                          }
                        },
                        {
                          "topic": {
                            "name": "Online Banking",
                            "articleCountInTopic": 19,
                            "articleCountInTopicTree": 19,
                            "createdBy": {
                              "id": "1013",
                              "firstName": "John",
                              "middleName": "",
                              "lastName": "Doe"
                            },
                            "createdDate": "2022-06-09T16:31:24Z",
                            "departmentId": 1001,
                            "modifiedBy": {
                              "id": "1013",
                              "firstName": "John",
                              "middleName": "",
                              "lastName": "Doe"
                            },
                            "modifiedDate": "2022-06-09T16:31:24Z",
                            "parentTopicId": "PROD-1072",
                            "childCount": 0,
                            "id": "PROD-1074"
                          }
                        },
                        {
                          "topic": {
                            "name": "Zelle",
                            "articleCountInTopic": 4,
                            "articleCountInTopicTree": 4,
                            "createdBy": {
                              "id": "1013",
                              "firstName": "John",
                              "middleName": "",
                              "lastName": "Doe"
                            },
                            "createdDate": "2022-06-09T16:31:32Z",
                            "departmentId": 1001,
                            "modifiedBy": {
                              "id": "1013",
                              "firstName": "John",
                              "middleName": "",
                              "lastName": "Doe"
                            },
                            "modifiedDate": "2022-06-09T16:31:32Z",
                            "parentTopicId": "PROD-1072",
                            "childCount": 0,
                            "id": "PROD-1075"
                          }
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "GetPopularArticlesResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ArticleResults"
            },
            "examples": {
              "Summary Attributes": {
                "value": {
                  "articles": [
                    {
                      "id": "PROD-2996",
                      "name": "Fair Lending FAQs",
                      "createdBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe"
                      },
                      "createdDate": "2022-06-30T14:54:55Z",
                      "hasAttachments": true,
                      "languageCode": "en-US",
                      "modifiedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe"
                      },
                      "modifiedDate": "2025-01-28T19:53:58Z",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articles/PROD-2996?filter%5Btopic%5D=PROD-1069&workflowMilestone=publish&%24lang=en-US"
                      },
                      "versionId": "PROD-2884"
                    }
                  ],
                  "paginationInfo": {
                    "count": 1,
                    "pagenum": 1,
                    "pagesize": 10
                  }
                }
              },
              "All Attributes": {
                "value": {
                  "articles": [
                    {
                      "id": "PROD-2996",
                      "name": "Fair Lending FAQs",
                      "articleSummary": "Fair lending ensures that lenders do not discriminate based on race, color,national origin, religion, sex, familial status, or disability when applying forresidential mortgage loans. The federal Fair Housing Act protects individuals'fair lending rights, enforced by the Office of Fair Housing and Equal Opportunity,along with state and local agencies. This law applies to U.S. citizens, greencard holders, and undocumented residents, ensuring equal opportunities in homesales, rentals, and financing.",
                      "articleType": {
                        "articleCategoryId": 0,
                        "typeName": "General",
                        "useStructuredAuthoring": false,
                        "articleTypeId": "987600000002020"
                      },
                      "averageRating": 0,
                      "compliance": {
                        "startDate": {
                          "date": "2022-06-30T14:54:55Z"
                        },
                        "dueDate": {
                          "date": "2025-07-30T14:54:55Z"
                        }
                      },
                      "createdBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe",
                        "userName": "jdoe"
                      },
                      "createdDate": "2022-06-30T14:54:55Z",
                      "description": "Common questions and answers regarding Fair Lending.",
                      "hasAttachments": true,
                      "imageURL": "https://hd.egain.com/images/km-for-dummies-24.jpg",
                      "isSubscribed": true,
                      "languageCode": "en-US",
                      "modifiedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe",
                        "userName": "jdoe"
                      },
                      "modifiedDate": "2025-01-28T19:53:58Z",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articles/PROD-2996?24articleResultAdditionalAttributes=all&filter%5Btopic%5D=PROD-1069&workflowMilestone=publish&%24lang=en-US"
                      },
                      "ownedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe",
                        "userName": "jdoe"
                      },
                      "timesRated": 0,
                      "topicBreadcrumb": [
                        {
                          "topicSummary": [
                            {
                              "name": "Banking Regulations",
                              "link": {
                                "rel": "self",
                                "href": "/knowledge/portalmgr/v4/portals/PROD-1000/topics/PROD-1080"
                              }
                            }
                          ]
                        }
                      ],
                      "versionId": "PROD-2884",
                      "customAttributes": [],
                      "workflow": {
                        "stages": [
                          {
                            "name": "publish",
                            "milestone": {
                              "name": {
                                "value": "publish",
                                "displayValue": "Published"
                              }
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "paginationInfo": {
                    "count": 1,
                    "pagenum": 1,
                    "pagesize": 10
                  }
                }
              }
            }
          }
        }
      },
      "GetAllCasebaseReleasesResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CasebaseResult"
            },
            "example": {
              "casebase": [
                {
                  "name": "Financial Vertical Bot",
                  "id": "202201000000002",
                  "status": "live",
                  "casebaseId": "202201000000002",
                  "profiles": [
                    {
                      "profile": [
                        {
                          "name": "system profile",
                          "id": "100100000000001"
                        }
                      ]
                    }
                  ],
                  "languages": {
                    "kbLanguage": [
                      {
                        "name": "English (US)",
                        "code": "en-US"
                      }
                    ]
                  },
                  "link": {
                    "rel": "self",
                    "href": "/knowledge/portalmgr/v4/portals/PROD-1000/gh/casebasereleases/202201000000002?%24lang=en-US"
                  }
                }
              ],
              "paginationInfo": {
                "count": 1,
                "pagenum": 1,
                "pagesize": 10
              }
            }
          }
        }
      },
      "GetCasebaseReleaseByIdResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CasebaseResult"
            },
            "example": {
              "casebase": [
                {
                  "name": "Financial Vertical Bot",
                  "id": "202201000000002",
                  "status": "author",
                  "casebaseId": "202201000000002",
                  "profiles": [
                    {
                      "profile": [
                        {
                          "name": "system profile",
                          "id": "100100000000001"
                        }
                      ]
                    }
                  ],
                  "languages": {
                    "kbLanguage": [
                      {
                        "name": "English (US)",
                        "code": "en-US"
                      }
                    ]
                  },
                  "link": {
                    "rel": "self",
                    "href": "/knowledge/portalmgr/v4/portals/PROD-1000/gh/casebasereleases/202201000000002?%24lang=en-US"
                  }
                },
                {
                  "name": "Live",
                  "id": "202201000000005",
                  "status": "live",
                  "casebaseId": "202201000000002",
                  "profiles": [
                    {
                      "profile": [
                        {
                          "name": "system profile",
                          "id": "100100000000001"
                        }
                      ]
                    }
                  ],
                  "languages": {
                    "kbLanguage": [
                      {
                        "name": "English (US)",
                        "code": "en-US"
                      }
                    ]
                  },
                  "link": {
                    "rel": "self",
                    "href": "/knowledge/portalmgr/v4/portals/PROD-1000/gh/casebasereleases/202201000000005?%24lang=en-US"
                  }
                }
              ]
            }
          }
        }
      },
      "getClusterByCasebaseReleaseIdResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ClusterResults"
            },
            "example": {
              "cluster": [
                {
                  "name": "Root Cluster",
                  "depth": 0,
                  "shortName": "Root Cluster",
                  "startup": false,
                  "id": "1000000257"
                },
                {
                  "name": "",
                  "depth": 1,
                  "shortName": "C1:Process the Intent",
                  "startup": true,
                  "id": "1000000258"
                },
                {
                  "name": "",
                  "depth": 2,
                  "shortName": "C2:High Intent Confidence",
                  "startup": false,
                  "id": "1000000259"
                },
                {
                  "name": "",
                  "depth": 3,
                  "shortName": "C3:Medium Intent Confidence",
                  "startup": false,
                  "id": "1000000260"
                },
                {
                  "name": "",
                  "depth": 4,
                  "shortName": "C13: Low Confidence Intent",
                  "startup": false,
                  "id": "1000002133"
                },
                {
                  "name": "",
                  "depth": 1,
                  "shortName": "C4: Chat Escalation",
                  "startup": false,
                  "id": "1000000261"
                },
                {
                  "name": "Online Banking",
                  "depth": 1,
                  "shortName": "C7",
                  "startup": false,
                  "id": "1000000401"
                },
                {
                  "name": "Membership",
                  "depth": 1,
                  "shortName": "C6",
                  "startup": false,
                  "id": "1000000402"
                },
                {
                  "name": "Checking and Savings Accounts",
                  "depth": 1,
                  "shortName": "C8",
                  "startup": false,
                  "id": "1000000403"
                },
                {
                  "name": "Debit Card",
                  "depth": 1,
                  "shortName": "C9",
                  "startup": false,
                  "id": "1000000404"
                }
              ],
              "paginationInfo": {
                "count": 13,
                "pagenum": 1,
                "pagesize": 10,
                "link": [
                  {
                    "rel": "next",
                    "href": "/knowledge/portalmgr/v4/portals/PROD-1000/gh/casebasereleases/202201000000002/clusters&$pagenum=2&$pagesize=10"
                  }
                ]
              }
            }
          }
        }
      },
      "GetAllProfilesInPortal": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ProfileResult"
            },
            "example": {
              "profile": [
                {
                  "name": "system profile",
                  "id": "100100000000001"
                }
              ],
              "paginationInfo": {
                "count": 1,
                "pagenum": 1,
                "pagesize": 10
              }
            }
          }
        }
      },
      "GHStepSearchResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/GHSearchResult"
            },
            "example": {
              "casebase": {
                "name": "Financial Vertical Bot",
                "status": "author",
                "casebaseId": "202201000000002",
                "profiles": [
                  {
                    "profile": [
                      {
                        "name": "system profile",
                        "id": "100100000000001"
                      }
                    ]
                  }
                ],
                "id": "202201000000002",
                "searchSettings": {
                  "closeSessionOnAccept": true,
                  "closeSessionOnReject": true
                }
              },
              "actionSearch": [
                {
                  "acceptCount": 0,
                  "additionalInfo": true,
                  "metadata": [
                    {
                      "title": "",
                      "additionalInformation": "",
                      "action": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<iAutomatedAction><iContextSwitchCommandList><iContextSwitchAdd><iTargetClusterIdList><iId>1000000259</iId></iTargetClusterIdList></iContextSwitchAdd></iContextSwitchCommandList></iAutomatedAction>"
                    }
                  ],
                  "articleId": "",
                  "caseId": "1000000332",
                  "passedThreshold": true,
                  "rejectCount": 0,
                  "score": 100,
                  "type": "control",
                  "articleTypeAttributes": {
                    "typeName": "General",
                    "useStructuredAuthoring": false
                  },
                  "id": "1000000265"
                },
                {
                  "acceptCount": 0,
                  "additionalInfo": true,
                  "metadata": [
                    {
                      "title": "",
                      "additionalInformation": "",
                      "action": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<iAutomatedAction><iContextSwitchCommandList><iContextSwitchAdd><iTargetClusterIdList><iId>1000000402</iId></iTargetClusterIdList></iContextSwitchAdd></iContextSwitchCommandList></iAutomatedAction>"
                    }
                  ],
                  "articleId": "",
                  "caseId": "1000000864",
                  "passedThreshold": true,
                  "rejectCount": 0,
                  "score": 100,
                  "type": "control",
                  "articleTypeAttributes": {
                    "typeName": "General",
                    "useStructuredAuthoring": false
                  },
                  "id": "1000000834"
                },
                {
                  "acceptCount": 0,
                  "additionalInfo": true,
                  "metadata": [
                    {
                      "title": "",
                      "additionalInformation": "",
                      "action": "<p>For more information about all of the great benefits of becoming a [Sample Company Name] member, visit Member Benefits via [Sample Link to Account]. You can also connect with a customer service representative via [Sample Main Customer Support Phone Number], our regular business hours are [Insert Customer Hours].</p>"
                    }
                  ],
                  "articleId": "PROD-2827",
                  "alternateId": "PROD-2827",
                  "caseId": "1000001087",
                  "passedThreshold": true,
                  "rejectCount": 0,
                  "shortName": "Member Benefits Information",
                  "score": 100,
                  "type": "article",
                  "articleTypeAttributes": {
                    "typeName": "General",
                    "useStructuredAuthoring": false
                  },
                  "id": "1000001086"
                }
              ],
              "answeredQuestion": [
                {
                  "title": "What about your membership do you want to learn more about?",
                  "type": "enumerated",
                  "format": "dropdown",
                  "shortName": "Q002 - What about membership?",
                  "hasAdditionalInfo": false,
                  "hasAction": false,
                  "previousAnswer": [
                    {
                      "depth": -1,
                      "isInvisible": false,
                      "text": "Benefits of Membership",
                      "id": "1000001001"
                    }
                  ],
                  "validAnswer": [
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "Becoming a Member",
                      "id": "1000001000"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "Benefits of Membership",
                      "id": "1000001001"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "Discontinuing Membership",
                      "id": "1000001002"
                    }
                  ],
                  "metadata": [
                    {
                      "title": "",
                      "additionalInformation": "",
                      "action": ""
                    }
                  ],
                  "customAttribute": [],
                  "answerSource": "user",
                  "id": "1000001006"
                },
                {
                  "title": "[ML]Label",
                  "type": "enumerated",
                  "format": "dropdown",
                  "shortName": "Classifier",
                  "hasAdditionalInfo": false,
                  "hasAction": false,
                  "previousAnswer": [
                    {
                      "depth": -1,
                      "isInvisible": false,
                      "text": "Membership",
                      "id": "1000000842"
                    }
                  ],
                  "validAnswer": [
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "None",
                      "id": "1000000272"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "Membership",
                      "id": "1000000842"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "Online Banking",
                      "id": "1000000843"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "Checking and Savings",
                      "id": "1000000844"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "Debit Card",
                      "id": "1000000845"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "Credit Card",
                      "id": "1000000846"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "Loans",
                      "id": "1000000847"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "Something Else",
                      "id": "1000000848"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "Chat with an Agent",
                      "id": "1000002048"
                    }
                  ],
                  "action": [
                    {
                      "type": "article",
                      "shortName": "AnswerAs label",
                      "rejectCount": 0,
                      "articleId": "202200000002790",
                      "acceptCount": 0,
                      "metadata": [
                        {
                          "title": "",
                          "additionalInformation": "",
                          "action": "{    \"function\": \"auto-answer\",\n    \"var-name\": \"label\",\n    \"action\": {\n        \"action-type\": \"\",\n        \"name\": \"\",\n        \"_comment\": \"modify the number and type of parameters below to match the arguments that you want to pass to the data link\",\n        \"parameters\": []\n    }\n}"
                        }
                      ]
                    }
                  ],
                  "metadata": [
                    {
                      "title": "",
                      "additionalInformation": "",
                      "action": ""
                    }
                  ],
                  "customAttribute": [],
                  "answerSource": "user",
                  "id": "1000000327"
                },
                {
                  "title": "[ML]Label Confidence",
                  "type": "enumerated",
                  "format": "dropdown",
                  "shortName": "ML1",
                  "hasAdditionalInfo": false,
                  "hasAction": false,
                  "previousAnswer": [
                    {
                      "depth": -1,
                      "isInvisible": false,
                      "text": "HIGH",
                      "id": "1000000303"
                    }
                  ],
                  "validAnswer": [
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "HIGH",
                      "id": "1000000303"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "MEDIUM",
                      "id": "1000000304"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "LOW",
                      "id": "1000000305"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "NA",
                      "id": "1000000306"
                    }
                  ],
                  "metadata": [
                    {
                      "title": "",
                      "additionalInformation": "",
                      "action": ""
                    }
                  ],
                  "customAttribute": [],
                  "answerSource": "user",
                  "id": "1000000322"
                }
              ],
              "caseSearch": [
                {
                  "acceptCount": 0,
                  "action": [
                    {
                      "type": "article",
                      "shortName": "Member Benefits Information",
                      "rejectCount": 0,
                      "articleId": "202200000002827",
                      "acceptCount": 0,
                      "metadata": [
                        {
                          "title": "",
                          "additionalInformation": "",
                          "action": "<p>For more information about all of the great benefits of becoming a [Sample Company Name] member, visit Member Benefits via [Sample Link to Account]. You can also connect with a customer service representative via [Sample Main Customer Support Phone Number], our regular business hours are [Insert Customer Hours].</p>"
                        }
                      ]
                    }
                  ],
                  "additionalInfo": false,
                  "metadata": [],
                  "passedThreshold": true,
                  "rejectCount": 0,
                  "score": 100,
                  "shortName": "Case56",
                  "title": "Member Benefits Information",
                  "id": "1000001087"
                }
              ],
              "dynamicSearch": [],
              "unansweredQuestion": [],
              "startupQuestion": [],
              "targetClusters": [
                {
                  "id": "1000000258"
                },
                {
                  "id": "1000000259"
                },
                {
                  "id": "1000000402"
                }
              ]
            }
          }
        }
      },
      "GHStartSearchResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/GHSearchResult"
            },
            "example": {
              "casebase": {
                "name": "Financial Vertical Bot",
                "status": "author",
                "casebaseId": "202201000000002",
                "profiles": [
                  {
                    "profile": [
                      {
                        "name": "system profile",
                        "id": "100100000000001"
                      }
                    ]
                  }
                ],
                "id": "202201000000002",
                "searchSettings": {
                  "closeSessionOnAccept": true,
                  "closeSessionOnReject": true
                }
              },
              "actionSearch": [],
              "answeredQuestion": [],
              "caseSearch": [],
              "dynamicSearch": [],
              "unansweredQuestion": [
                {
                  "title": "[ML]Label Confidence",
                  "type": "enumerated",
                  "format": "dropdown",
                  "shortName": "ML1",
                  "hasAdditionalInfo": true,
                  "hasAction": true,
                  "validAnswer": [
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "HIGH",
                      "id": "1000000303"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "MEDIUM",
                      "id": "1000000304"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "LOW",
                      "id": "1000000305"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "NA",
                      "id": "1000000306"
                    }
                  ],
                  "metadata": [
                    {
                      "title": "",
                      "additionalInformation": "",
                      "action": ""
                    }
                  ],
                  "customAttribute": [],
                  "id": "1000000322"
                },
                {
                  "title": "[ML]Label",
                  "type": "enumerated",
                  "format": "dropdown",
                  "shortName": "Classifier",
                  "hasAdditionalInfo": true,
                  "hasAction": true,
                  "validAnswer": [
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "None",
                      "id": "1000000272"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "Membership",
                      "id": "1000000842"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "Online Banking",
                      "id": "1000000843"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "Checking and Savings",
                      "id": "1000000844"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "Debit Card",
                      "id": "1000000845"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "Credit Card",
                      "id": "1000000846"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "Loans",
                      "id": "1000000847"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "Something Else",
                      "id": "1000000848"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "Chat with an Agent",
                      "id": "1000002048"
                    }
                  ],
                  "metadata": [
                    {
                      "title": "",
                      "additionalInformation": "",
                      "action": ""
                    }
                  ],
                  "customAttribute": [],
                  "id": "1000000327"
                }
              ],
              "startupQuestion": [
                {
                  "title": "[ML]Label Confidence",
                  "type": "enumerated",
                  "format": "dropdown",
                  "shortName": "ML1",
                  "hasAdditionalInfo": true,
                  "hasAction": true,
                  "validAnswer": [
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "HIGH",
                      "id": "1000000303"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "MEDIUM",
                      "id": "1000000304"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "LOW",
                      "id": "1000000305"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "NA",
                      "id": "1000000306"
                    }
                  ],
                  "metadata": [
                    {
                      "title": "",
                      "additionalInformation": "",
                      "action": ""
                    }
                  ],
                  "customAttribute": [],
                  "id": "1000000322"
                },
                {
                  "title": "[ML]Label",
                  "type": "enumerated",
                  "format": "dropdown",
                  "shortName": "Classifier",
                  "hasAdditionalInfo": true,
                  "hasAction": true,
                  "validAnswer": [
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "None",
                      "id": "1000000272"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "Membership",
                      "id": "1000000842"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "Online Banking",
                      "id": "1000000843"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "Checking and Savings",
                      "id": "1000000844"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "Debit Card",
                      "id": "1000000845"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "Credit Card",
                      "id": "1000000846"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "Loans",
                      "id": "1000000847"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "Something Else",
                      "id": "1000000848"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "Chat with an Agent",
                      "id": "1000002048"
                    }
                  ],
                  "metadata": [
                    {
                      "title": "",
                      "additionalInformation": "",
                      "action": ""
                    }
                  ],
                  "customAttribute": [],
                  "id": "1000000327"
                }
              ],
              "targetClusters": [
                {
                  "id": "1000000258"
                }
              ]
            }
          }
        }
      },
      "429_too_many_request": {
        "description": "Too Many Request",
        "headers": {
          "X-RateLimit-Limit": {
            "schema": {
              "type": "integer",
              "maxLength": 3600
            },
            "description": "Request limit per minute."
          },
          "X-RateLimit-Remaining": {
            "schema": {
              "type": "integer",
              "maxLength": 3600
            },
            "description": "The number of requests left for the time window."
          },
          "X-RateLimit-Reset": {
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "The UTC date/time at which the current rate limit window resets."
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WSErrorCommon"
            },
            "examples": {
              "Required Attribute missing": {
                "$ref": "#/components/examples/Unable_Delete_Approved_Suggestion"
              },
              "Too Many Request": {
                "$ref": "#/components/examples/Too_Many_Request"
              }
            }
          }
        }
      },
      "GetAllCasesInReleaseResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CaseListResults"
            },
            "example": {
              "case": [
                {
                  "shortName": "Case55",
                  "title": "Becoming a Member",
                  "link": {
                    "rel": "self",
                    "href": "/knowledge/portalmgr/v4/portals/PROD-1000/gh/casebasereleases/202201000000002/cases/1000001085?%24lang=en-US"
                  },
                  "id": "1000001085"
                },
                {
                  "shortName": "Case56",
                  "title": "Member Benefits Information",
                  "link": {
                    "rel": "self",
                    "href": "/knowledge/portalmgr/v4/portals/PROD-1000/gh/casebasereleases/202201000000002/cases/1000001087?%24lang=en-US"
                  },
                  "id": "1000001087"
                },
                {
                  "shortName": "Case57",
                  "title": "How to Discontinue Membership",
                  "link": {
                    "rel": "self",
                    "href": "/knowledge/portalmgr/v4/portals/PROD-1000/gh/casebasereleases/202201000000002/cases/1000001089?%24lang=en-US"
                  },
                  "id": "1000001089"
                }
              ],
              "paginationInfo": {
                "count": 3,
                "pagenum": 1,
                "pagesize": 10
              }
            }
          }
        }
      },
      "GetCaseByIdResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Case"
            },
            "examples": {
              "Summary Attribute": {
                "value": {
                  "shortName": "Case55",
                  "title": "Becoming a Member",
                  "acceptCount": 0,
                  "rejectCount": 0,
                  "comments": "",
                  "profileId": "1",
                  "releaseId": "202201000000002",
                  "clusterId": "1000000402",
                  "isVisible": true,
                  "thresholdValue": 50,
                  "thresholdType": "Default",
                  "caseType": "Content",
                  "createdBy": {
                    "id": "1013",
                    "firstName": "John",
                    "middleName": "",
                    "lastName": "Doe"
                  },
                  "createdDate": "2022-06-26T11:11:00Z",
                  "modifiedBy": {
                    "id": "1013",
                    "firstName": "John",
                    "middleName": "",
                    "lastName": "Doe"
                  },
                  "modifiedDate": "2022-06-26T11:11:00Z",
                  "thresholdValueFromCluster": 90,
                  "metadata": [
                    {
                      "title": "",
                      "additionalInformation": "",
                      "action": ""
                    }
                  ],
                  "link": {
                    "rel": "self",
                    "href": "/knowledge/portalmgr/v4/portals/PROD-1000/gh/casebasereleases/202201000000002/cases/1000001085?%24lang=en-US"
                  },
                  "id": "1000001085"
                }
              },
              "All Attributes": {
                "value": {
                  "shortName": "Case55",
                  "title": "Becoming a Member",
                  "acceptCount": 0,
                  "rejectCount": 0,
                  "comments": "",
                  "profileId": "1",
                  "releaseId": "202201000000002",
                  "clusterId": "1000000402",
                  "isVisible": true,
                  "thresholdValue": 50,
                  "thresholdType": "Default",
                  "caseType": "Content",
                  "createdBy": {
                    "id": "1013",
                    "firstName": "John",
                    "middleName": "",
                    "lastName": "Doe"
                  },
                  "createdDate": "2022-06-26T11:11:00Z",
                  "modifiedBy": {
                    "id": "1013",
                    "firstName": "John",
                    "middleName": "",
                    "lastName": "Doe"
                  },
                  "modifiedDate": "2022-06-26T11:11:00Z",
                  "thresholdValueFromCluster": 90,
                  "action": [
                    {
                      "type": "2",
                      "shortName": "Becoming a Member",
                      "rejectCount": 0,
                      "articleId": "202200000002824",
                      "acceptCount": 0,
                      "annotation": [],
                      "articleType": {
                        "articleCategoryId": 0,
                        "typeName": "General",
                        "useStructuredAuthoring": false,
                        "articleTypeId": "999500000002020"
                      }
                    }
                  ],
                  "metadata": [
                    {
                      "title": "",
                      "additionalInformation": "",
                      "action": ""
                    }
                  ],
                  "questionDetail": [
                    {
                      "question": {
                        "id": "1000000322"
                      },
                      "answer": [
                        {
                          "text": "HIGH",
                          "id": "1000000303"
                        }
                      ],
                      "scoringValue": 50
                    },
                    {
                      "question": {
                        "id": "1000000322"
                      },
                      "answer": [
                        {
                          "text": "HIGH",
                          "id": "1000000303"
                        }
                      ],
                      "scoringValue": 50
                    }
                  ],
                  "link": {
                    "rel": "self",
                    "href": "/knowledge/portalmgr/v4/portals/PROD-1000/gh/casebasereleases/202201000000002/cases/1000001085?%24attribute=questionDetails%2Cactions%2Ccustom&%24lang=en-US"
                  },
                  "id": "1000001085"
                }
              }
            }
          }
        }
      },
      "412_precondition_failed": {
        "description": "Precondition Failed",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WSErrorCommon"
            },
            "examples": {
              "Precondition Failed": {
                "$ref": "#/components/examples/Precondition_Failed"
              }
            }
          }
        }
      },
      "GetAllQuickPicksResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/QuickpickResults"
            },
            "examples": {
              "Singular Quickpick": {
                "value": {
                  "quickpick": [
                    {
                      "comment": "demo%20quickpick",
                      "name": "QuickPick82700245",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/gh/quickpicks/11?casebaseId=202201000000002&%24lang=en-US"
                      },
                      "id": "11",
                      "linkToActivity": false,
                      "casebaseReleaseId": "202201000000002"
                    }
                  ],
                  "paginationInfo": {
                    "count": 1,
                    "pagenum": 1,
                    "pagesize": 10
                  }
                }
              },
              "Multiple Quickpick": {
                "value": {
                  "quickpick": [
                    {
                      "comment": "demo%20quickpick",
                      "name": "QuickPick82700245",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/gh/quickpicks/11?casebaseId=202201000000002&%24lang=en-US"
                      },
                      "id": "11",
                      "linkToActivity": false,
                      "casebaseReleaseId": "202201000000002"
                    },
                    {
                      "comment": "demo%20quickpick2",
                      "name": "QuickPick82700246",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/gh/quickpicks/11?casebaseId=202201000000002&%24lang=en-US"
                      },
                      "id": "11",
                      "linkToActivity": false,
                      "casebaseReleaseId": "202201000000002"
                    }
                  ],
                  "paginationInfo": {
                    "count": 3,
                    "pagenum": 1,
                    "pagesize": 2,
                    "link": [
                      {
                        "rel": "next",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/gh/quickpicks/11?casebaseId=202201000000002&%24lang=en-US&$pagesize=2&$pagenum=2"
                      }
                    ]
                  }
                }
              }
            }
          }
        }
      },
      "RestoreQuickPicksResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/GHSearchResult"
            },
            "example": {
              "casebase": {
                "name": "Financial Vertical Bot",
                "id": "202201000000002",
                "status": "live",
                "casebaseId": "202201000000002",
                "profiles": [
                  {
                    "profile": [
                      {
                        "name": "system profile",
                        "id": "100100000000001"
                      }
                    ]
                  }
                ]
              },
              "actionSearch": [
                {
                  "acceptCount": 0,
                  "hasAdditionalInfo": true,
                  "metadata": [],
                  "caseId": "1000003892",
                  "passedThresholdValue": false,
                  "rejectCount": 0,
                  "score": 50,
                  "type": "control"
                },
                {
                  "acceptCount": 0,
                  "hasAdditionalInfo": true,
                  "metadata": [],
                  "articleId": "PROD-2202",
                  "caseId": "1000003897",
                  "passedThresholdValue": false,
                  "rejectCount": 0,
                  "shortName": "Main Article",
                  "score": 50,
                  "type": "article",
                  "articleTypeAttributes": {
                    "typeName": "General"
                  }
                }
              ],
              "answeredQuestion": [
                {
                  "title": "Question 1",
                  "type": "list",
                  "format": "radioButton",
                  "hasAdditionalInfo": false,
                  "hasAction": false,
                  "previousAnswer": [
                    {
                      "depth": -1,
                      "isInvisible": false,
                      "text": "Benefits of Membership",
                      "id": "1000001001"
                    }
                  ],
                  "validAnswer": [
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "yes",
                      "id": "1000003848"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "no",
                      "id": "1000003849"
                    }
                  ],
                  "metadata": [],
                  "customAttributes": [],
                  "id": "100000385200000"
                }
              ],
              "caseSearch": [
                {
                  "acceptCount": 0,
                  "action": [],
                  "additionalInfo": true,
                  "metadata": [],
                  "answeredQuestion": [],
                  "passedThresholdValue": false,
                  "rejectCount": 0,
                  "score": 50,
                  "shortName": "Case4",
                  "title": "Main Article",
                  "caseId": "1000003897"
                },
                {
                  "acceptCount": 0,
                  "action": [],
                  "additionalInfo": true,
                  "metadata": [],
                  "answeredQuestion": [],
                  "passedThresholdValue": false,
                  "rejectCount": 0,
                  "score": 50,
                  "shortName": "Case1",
                  "title": "Action",
                  "caseId": "1000003892"
                }
              ],
              "dynamicSearch": [],
              "unansweredQuestion": [
                {
                  "title": "Question 2",
                  "type": "list",
                  "format": "radioButton",
                  "shortName": "Q2",
                  "hasAdditionalInfo": true,
                  "hasAction": false,
                  "validAnswer": [
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "yes",
                      "id": "1000003854"
                    },
                    {
                      "depth": 1,
                      "isInvisible": false,
                      "text": "no",
                      "id": "1000003855"
                    }
                  ],
                  "metadata": [],
                  "customAttributes": [],
                  "id": "100000385800000"
                }
              ],
              "startupQuestion": [],
              "targetClusters": [
                {
                  "id": "100000384300000"
                },
                {
                  "id": "100000384400000"
                }
              ]
            }
          }
        }
      },
      "GetBookmarksResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/BookmarkResult"
            },
            "examples": {
              "Summary Attributes": {
                "value": {
                  "bookmark": [
                    {
                      "resourceId": "PROD-2996",
                      "resourceType": 1,
                      "portalId": "PROD-1000",
                      "resourceName": "Fair Lending FAQs",
                      "bookmarkName": "",
                      "externalContentId": "",
                      "id": 1002
                    }
                  ],
                  "paginationInfo": {
                    "count": 1,
                    "pagenum": 1,
                    "pagesize": 10
                  }
                }
              }
            }
          }
        }
      },
      "GetAllProfilesAssignedToUserResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UserProfiles"
            },
            "example": {
              "profile": [
                {
                  "name": "Loans Agents",
                  "isLastUsedInPortal": false,
                  "id": "PROD-3210"
                },
                {
                  "name": "Credit Cards Supervisors",
                  "isLastUsedInPortal": false,
                  "id": "PROD-3226"
                },
                {
                  "name": "Loans Supervisors",
                  "isLastUsedInPortal": true,
                  "id": "PROD-3215"
                },
                {
                  "name": "Voice Agent",
                  "isLastUsedInPortal": false,
                  "id": "PROD-1037"
                },
                {
                  "name": "Self-Service",
                  "isLastUsedInPortal": false,
                  "id": "PROD-1026"
                },
                {
                  "name": "Digital Agent",
                  "isLastUsedInPortal": false,
                  "id": "PROD-1030"
                },
                {
                  "name": "Banking Agents",
                  "isLastUsedInPortal": false,
                  "id": "PROD-3205"
                },
                {
                  "name": "Credit Card Agents",
                  "isLastUsedInPortal": false,
                  "id": "PROD-3221"
                }
              ]
            }
          }
        }
      },
      "GetUserDetailsResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UserDetails"
            },
            "example": {
              "user": [
                {
                  "id": "1067",
                  "roles": [
                    {
                      "id": "1026",
                      "name": "agent",
                      "template": {
                        "value\"": "",
                        "displayValue\"": ""
                      }
                    }
                  ],
                  "firstName": "John",
                  "lastName": "Smith",
                  "hasEmailConfigured": false
                }
              ]
            }
          }
        }
      },
      "GetArticleListsInPortalResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ArticleListsResult"
            },
            "example": {
              "articleList": [
                {
                  "name": "New Articles",
                  "typeId": "10",
                  "description": "Recently added articles in KB",
                  "link": {
                    "rel": "self",
                    "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articlelists/1003?%24lang=en-US"
                  },
                  "id": "PROD-1003"
                },
                {
                  "name": "Updated Articles",
                  "typeId": "11",
                  "description": "Recently  changed articles in KB",
                  "link": {
                    "rel": "self",
                    "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articlelists/1004?%24lang=en-US"
                  },
                  "id": "PROD-1004"
                },
                {
                  "name": "Lending",
                  "typeId": "50",
                  "description": "Lending related articles in KB",
                  "link": {
                    "rel": "self",
                    "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articlelists/PROD-3258?%24lang=en-US"
                  },
                  "id": "PROD-3258"
                }
              ]
            }
          }
        }
      },
      "GetArticleListByIdResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ArticleList"
            },
            "examples": {
              "Summary Attributes": {
                "value": {
                  "name": "Lending",
                  "typeId": "50",
                  "description": "Lending related articles in KB",
                  "articles": [
                    {
                      "id": "PROD-3002",
                      "name": "Fair Lending",
                      "articleType": {
                        "id": 0,
                        "typeName": "General",
                        "useStructuredAuthoring": false
                      },
                      "createdBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe"
                      },
                      "createdDate": "2022-06-30T18:25:22Z",
                      "hasAttachments": false,
                      "languageCode": "en-US",
                      "modifiedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe"
                      },
                      "modifiedDate": "2025-01-28T20:58:11Z",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articles/PROD-3002?%&workflowMilestone=publish&filter%5Btags%5D=PROD-5381&%24lang=en-US"
                      },
                      "versionId": "PROD-2897"
                    }
                  ],
                  "link": {
                    "rel": "self",
                    "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articlelists/PROD-3258?%24lang=en-US"
                  },
                  "id": "PROD-3258"
                }
              },
              "All Attributes": {
                "value": {
                  "name": "Lending",
                  "typeId": "50",
                  "description": "Lending related articles in KB",
                  "articles": [
                    {
                      "id": "PROD-3002",
                      "name": "Fair Lending",
                      "articleSummary": "Fair lending ensures that lenders do not discriminate based on race, color, national origin, religion, sex, familial status, or disability when offering residential mortgage loans, guaranteeing equal opportunities for all. The Office of Fair Housing and Equal Opportunity enforces the federal Fair Housing Act, with state and local agencies ensuring similar protections. Additional laws, such as the Equal Credit Opportunities Act, also safeguard your rights. For more information, visit the U.S. Department of Housing and Urban Development website.",
                      "articleType": {
                        "id": 0,
                        "typeName": "General",
                        "useStructuredAuthoring": false
                      },
                      "averageRating": 0,
                      "createdBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe",
                        "userName": "jdoe"
                      },
                      "createdDate": "2022-06-30T18:25:22Z",
                      "description": "Article detailing Fair Lending.",
                      "hasAttachments": false,
                      "imageURL": "",
                      "isSubscribed": false,
                      "languageCode": "en-US",
                      "modifiedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe",
                        "userName": "jdoe"
                      },
                      "modifiedDate": "2025-01-28T20:58:11Z",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articles/PROD-3002?%articleResultAdditionalAttributes=all&workflowMilestone=publish&filter%5Btags%5D=PROD-5381&%24lang=en-US"
                      },
                      "ownedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe",
                        "userName": "jdoe"
                      },
                      "timesRated": 0,
                      "topicBreadcrumb": [
                        {
                          "topicSummary": [
                            {
                              "name": "Banking Regulations",
                              "link": {
                                "rel": "self",
                                "href": "/knowledge/portalmgr/v4/portals/PROD-1000/topics/PROD-1080"
                              }
                            }
                          ]
                        }
                      ],
                      "customAttributes": [],
                      "versionId": "PROD-2897",
                      "workflow": {
                        "stages": [
                          {
                            "name": "publish",
                            "milestone": {
                              "name": {
                                "value": "publish",
                                "displayValue": "Published"
                              }
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "link": {
                    "rel": "self",
                    "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articlelists/PROD-3258?%24lang=en-US"
                  },
                  "id": "PROD-3258"
                }
              }
            }
          }
        }
      },
      "GetAllPortalsResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PortalResult"
            },
            "example": {
              "portal": [
                {
                  "id": "PZ-9999",
                  "name": "Master Portal",
                  "departmentId": "999",
                  "description": "Automatically created portal allowing access to all published articles",
                  "defaultContentLanguageId": "1",
                  "defaultContentLanguageCode": "en-US",
                  "createdBy": {
                    "id": "1004",
                    "firstName": "pa",
                    "middleName": "",
                    "lastName": "developer",
                    "userName": "pa_Developer"
                  },
                  "createdDate": "2022-03-09T00:22:14Z",
                  "modifiedBy": {
                    "id": "1004",
                    "firstName": "pa",
                    "middleName": "",
                    "lastName": "developer",
                    "userName": "pa_Developer"
                  },
                  "modifiedDate": "2023-10-18T16:13:53Z",
                  "isStructuredAuthoringEnabled": false,
                  "isManageDraftVisibilityEnabled": false,
                  "portalSettings": {
                    "isAnnoucementsEnabled": false,
                    "isAgentsSSOEnabled": false,
                    "isAgentsDelegatedAuthenticationEnabled": false,
                    "isPopularArticlesListEnabled": false,
                    "popularArticlesListInfluenceWeight": 10,
                    "popularArticlesListInfluencePeriod": 1,
                    "appendSessionJourneyToEmail": false,
                    "isArticleSuggestionsBeforeEscalationEnabled": false,
                    "isEscalationToEmailEnabled": false,
                    "numberOfSuggestedArticlesBeforeEscalation": 0,
                    "isGHInSearchResultsEnabled": false,
                    "webSearchDomain": "",
                    "intranetSearchURL": "",
                    "questionMatchingEngineURL": "",
                    "isCaptchaEnabled": false,
                    "captchaSiteKey": "",
                    "isArticleSharingEnabled": false,
                    "tagCategoriesForSearchFilter": {
                      "tagCategory": []
                    },
                    "maxWebSearchResults": 5,
                    "maxIntranetSearchResults": 5,
                    "isSearchAutocompleteEnabled": true,
                    "isWebSearchEnabled": false,
                    "isIntranetSearchEnabled": false,
                    "isCustomAttributesFilteringEnabled": true,
                    "isSpellcheckEnabled": true,
                    "searchLearningInclusionThreshold": 5,
                    "searchLearningInfluence": 0,
                    "searchLearningMaxInfluence": 300,
                    "searchLearningLevel": 0,
                    "searchRelatedTermsMinResultsThreshold": 10,
                    "searchRelatedTermWeight": 0.25,
                    "customAttributesForSearchFilter": [],
                    "isGHEnabled": false,
                    "isGHStartupQuestionsBeforeUnansweredQuestionsEnabled": true,
                    "isGHDetailsForSearchEnabled": false,
                    "isGHShortNameInSearchEnabled": false,
                    "GHFailureSuccessThreshold": 0,
                    "maxGHAnsweredQuestions": 10,
                    "maxGHUnansweredQuestions": 10,
                    "maxGHSearchResults": 0,
                    "isGHResultsShownOnSuccessfulSearch": false,
                    "isGHControlActionDiagnosticsEnabled": false,
                    "isGHClusterScopeDiagnosticsEnabled": false,
                    "isRelatedArticlesEnabled": true,
                    "isArticleFeedbackEnabled": true,
                    "isArticleFeedbackCommentsEnabled": false,
                    "isArticleFeedbackSummaryEnabled": false,
                    "isRelatedArticlesInSameTopicEnabled": true,
                    "isAuthenticationRequired": true,
                    "isArticleSuggestionsEnabled": true,
                    "isMySuggestionsEnabled": true,
                    "customerProfileAttributes": {
                      "attribute": [
                        {
                          "name": "firstName",
                          "mandatory": false,
                          "editable": true
                        },
                        {
                          "name": "lastName",
                          "mandatory": false,
                          "editable": true
                        },
                        {
                          "name": "emailAddress",
                          "mandatory": false,
                          "editable": true
                        }
                      ]
                    }
                  },
                  "kbLanguages": {
                    "kbLanguage": [
                      {
                        "name": "English (US)",
                        "code": "en-US"
                      }
                    ]
                  },
                  "link": {
                    "rel": "self",
                    "href": "/knowledge/portalmgr/v4/portals/PZ-9999?departmentId=999&%24lang=en-US"
                  }
                }
              ],
              "paginationInfo": {
                "count": 1,
                "pagenum": 1,
                "pagesize": 10
              }
            }
          }
        }
      },
      "GetAllPortalsAccessibleToAgentResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/AllAccessiblePortals"
            },
            "examples": {
              "All Portal with only default Short URL": {
                "description": "By default, shortURL only contains single object",
                "value": {
                  "portal": [
                    {
                      "name": "Master Portal",
                      "description": "Automatically created portal allowing access to all published articles",
                      "department": {
                        "name": "Service",
                        "id": "999"
                      },
                      "shortURL": [
                        {
                          "id": "PROD-1000",
                          "templateName": "silver",
                          "shortURLName": "9BAED8",
                          "isDefault": true
                        }
                      ],
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PZ-9999?filterText=master&department=service&shortUrlTemplate=silver&%24lang=en-US"
                      },
                      "id": "PZ-9999"
                    }
                  ],
                  "paginationInfo": {
                    "count": 1,
                    "pagenum": 1,
                    "pagesize": 25
                  }
                }
              },
              "All Portal with default/non-default Short URL": {
                "description": "If shortUrlTemplate name is passed in parameter then shortURL might contains multiple objects",
                "value": {
                  "portal": [
                    {
                      "id": "PROD-2278",
                      "name": "Support Portal",
                      "description": "Portal Description",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-2278"
                      },
                      "department": {
                        "id": "999",
                        "name": "service"
                      },
                      "shortURL": [
                        {
                          "id": "PROD-1008",
                          "templateName": "silver",
                          "shortURLName": "XEMrao",
                          "isDefault": false
                        }
                      ]
                    },
                    {
                      "id": "PROD-2279",
                      "name": "Escalation Portal",
                      "description": "Portal Description",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-2279"
                      },
                      "department": {
                        "id": "1005",
                        "name": "escalation"
                      },
                      "shortURL": [
                        {
                          "id": "PROD-1002",
                          "templateName": "silver",
                          "shortURLName": "XEMrao",
                          "isDefault": true
                        },
                        {
                          "id": "PROD-1001",
                          "templateName": "silver",
                          "shortURLName": "XEMrap",
                          "isDefault": false
                        }
                      ],
                      "paginationInfo": {
                        "count": 6,
                        "pagenum": 2,
                        "pagesize": 2,
                        "link": [
                          {
                            "rel": "prev",
                            "href": "/knowledge/portalmgr/v4/portals?$pagenum=1&$pagesize=2"
                          },
                          {
                            "rel": "next",
                            "href": "/knowledge/portalmgr/v4/portals?$pagenum=3&$pagesize=2"
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "GetPortalByIdResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Portal"
            },
            "example": {
              "id": "PZ-9999",
              "name": "Master Portal",
              "departmentId": "999",
              "description": "Automatically created portal allowing access to all published articles",
              "defaultContentLanguageId": "1",
              "defaultContentLanguageCode": "en-US",
              "createdBy": {
                "id": "1004",
                "firstName": "pa",
                "middleName": "",
                "lastName": "developer",
                "userName": "pa_Developer"
              },
              "createdDate": "2022-03-09T00:22:14Z",
              "modifiedBy": {
                "id": "1004",
                "firstName": "pa",
                "middleName": "",
                "lastName": "developer",
                "userName": "pa_Developer"
              },
              "modifiedDate": "2023-10-18T16:13:53Z",
              "isStructuredAuthoringEnabled": false,
              "isManageDraftVisibilityEnabled": false,
              "portalSettings": {
                "isAnnoucementsEnabled": false,
                "isAgentsSSOEnabled": false,
                "isAgentsDelegatedAuthenticationEnabled": false,
                "isPopularArticlesListEnabled": false,
                "popularArticlesListInfluenceWeight": 10,
                "popularArticlesListInfluencePeriod": 1,
                "appendSessionJourneyToEmail": false,
                "isArticleSuggestionsBeforeEscalationEnabled": false,
                "isEscalationToEmailEnabled": false,
                "numberOfSuggestedArticlesBeforeEscalation": 0,
                "isGHInSearchResultsEnabled": false,
                "webSearchDomain": "",
                "intranetSearchURL": "",
                "questionMatchingEngineURL": "",
                "isCaptchaEnabled": false,
                "captchaSiteKey": "",
                "isArticleSharingEnabled": false,
                "tagCategoriesForSearchFilter": {
                  "tagCategory": []
                },
                "maxWebSearchResults": 5,
                "maxIntranetSearchResults": 5,
                "isSearchAutocompleteEnabled": true,
                "isWebSearchEnabled": false,
                "isIntranetSearchEnabled": false,
                "isCustomAttributesFilteringEnabled": true,
                "isSpellcheckEnabled": true,
                "searchLearningInclusionThreshold": 5,
                "searchLearningInfluence": 0,
                "searchLearningMaxInfluence": 300,
                "searchLearningLevel": 0,
                "searchRelatedTermsMinResultsThreshold": 10,
                "searchRelatedTermWeight": 0.25,
                "customAttributesForSearchFilter": [],
                "isGHEnabled": false,
                "isGHStartupQuestionsBeforeUnansweredQuestionsEnabled": true,
                "isGHDetailsForSearchEnabled": false,
                "isGHShortNameInSearchEnabled": false,
                "GHFailureSuccessThreshold": 0,
                "maxGHAnsweredQuestions": 10,
                "maxGHUnansweredQuestions": 10,
                "maxGHSearchResults": 0,
                "isGHResultsShownOnSuccessfulSearch": false,
                "isGHControlActionDiagnosticsEnabled": false,
                "isGHClusterScopeDiagnosticsEnabled": false,
                "isRelatedArticlesEnabled": true,
                "isArticleFeedbackEnabled": true,
                "isArticleFeedbackCommentsEnabled": false,
                "isArticleFeedbackSummaryEnabled": false,
                "isRelatedArticlesInSameTopicEnabled": true,
                "isAuthenticationRequired": true,
                "isArticleSuggestionsEnabled": true,
                "isMySuggestionsEnabled": true,
                "customerProfileAttributes": {
                  "attribute": [
                    {
                      "name": "firstName",
                      "mandatory": false,
                      "editable": true
                    },
                    {
                      "name": "lastName",
                      "mandatory": false,
                      "editable": true
                    },
                    {
                      "name": "emailAddress",
                      "mandatory": false,
                      "editable": true
                    }
                  ]
                }
              },
              "kbLanguages": {
                "kbLanguage": [
                  {
                    "name": "English (US)",
                    "code": "en-US"
                  }
                ]
              },
              "link": {
                "rel": "self",
                "href": "/knowledge/portalmgr/v4/portals/PZ-9999?departmentId=999&%24lang=en-US"
              }
            }
          }
        }
      },
      "GetSuggestionByStatus": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Suggestions"
            },
            "examples": {
              "Summary Attributes": {
                "value": {
                  "suggestion": [
                    {
                      "link": [
                        {
                          "rel": "self",
                          "href": "/knowledge/portalmgr/v4/portals/PROD-1000/suggestions/PROD-3259"
                        }
                      ],
                      "name": "Missing Article Information",
                      "description": "Missing Account Type Information",
                      "content": "<p>There should be an article that explains the account types offered. That would be very helpful.<br /></p>",
                      "status": {
                        "value": "suggested",
                        "displayValue": "Suggested"
                      },
                      "modifiedBy": {
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Smith",
                        "id": "1067"
                      },
                      "modifiedDate": "2025-01-23T04:16:17.000Z",
                      "language": {
                        "code": "en-us",
                        "label": "English (US)"
                      },
                      "hasRelatedArticles": false,
                      "hasAttachments": false,
                      "hasComments": true,
                      "customAttribute": [],
                      "id": "PROD-3259"
                    }
                  ],
                  "paginationInfo": {
                    "count": 1,
                    "pagenum": 1,
                    "pagesize": 25
                  }
                }
              }
            }
          }
        }
      },
      "GetSuggestionById": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Suggestion"
            },
            "examples": {
              "Summary Attributes": {
                "value": {
                  "link": {
                    "rel": "self",
                    "href": "/knowledge/portalmgr/v4/portals/PROD-1000/suggestions/PROD-3259"
                  },
                  "name": "Missing Article Information",
                  "description": "Missing Account Type Information",
                  "content": "<p>There should be an article that explains the account types offered. That would be very helpful.<br /></p>",
                  "status": {
                    "value": "suggested",
                    "displayValue": "Suggested"
                  },
                  "modifiedBy": {
                    "firstName": "John",
                    "middleName": "",
                    "lastName": "Smith",
                    "id": "1067"
                  },
                  "modifiedDate": "2025-01-23T04:16:17.000Z",
                  "language": {
                    "code": "en-US",
                    "label": "English"
                  },
                  "hasRelatedArticles": false,
                  "hasAttachments": false,
                  "hasComments": true,
                  "customAttribute": [],
                  "id": "PROD-3259"
                }
              }
            }
          }
        }
      },
      "400_resource_cannot_be_deleted": {
        "description": "Bad Request"
      },
      "GetRelatedArticlesForSuggestion": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/FeedbackArticleForSuggestion"
            },
            "examples": {
              "Summary Attributes": {
                "value": {
                  "name": "Feedback",
                  "id": "PROD-3259",
                  "relatedArticles": [
                    {
                      "id": "PROD-3002",
                      "name": "Fair Lending",
                      "createdBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe"
                      },
                      "createdDate": "2022-06-30T18:25:22Z",
                      "hasAttachments": false,
                      "languageCode": "en-US",
                      "modifiedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe"
                      },
                      "modifiedDate": "2025-01-28T20:58:11Z",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articles/PROD-3002?%&workflowMilestone=publish&filter%5Btags%5D=PROD-5381&%24lang=en-US"
                      },
                      "versionId": "PROD-2897"
                    }
                  ]
                }
              },
              "All Attributes": {
                "value": {
                  "name": "Feedback",
                  "id": "PROD-3259",
                  "relatedArticles": [
                    {
                      "id": "PROD-3002",
                      "name": "Fair Lending",
                      "articleSummary": "Fair lending ensures that lenders do not discriminate based on race, color, national origin, religion, sex, familial status, or disability when offering residential mortgage loans, guaranteeing equal opportunities for all. The Office of Fair Housing and Equal Opportunity enforces the federal Fair Housing Act, with state and local agencies ensuring similar protections. Additional laws, such as the Equal Credit Opportunities Act, also safeguard your rights. For more information, visit the U.S. Department of Housing and Urban Development website.",
                      "articleType": {
                        "articleCategoryId": 0,
                        "typeName": "General",
                        "useStructuredAuthoring": false,
                        "articleTypeId": "999500000001291"
                      },
                      "averageRating": 0,
                      "createdBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe",
                        "userName": "jdoe"
                      },
                      "createdDate": "2022-06-30T18:25:22Z",
                      "description": "Article detailing Fair Lending.",
                      "hasAttachments": false,
                      "imageURL": "",
                      "isSubscribed": false,
                      "languageCode": "en-US",
                      "modifiedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe",
                        "userName": "jdoe"
                      },
                      "modifiedDate": "2025-01-28T20:58:11Z",
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/articles/PROD-3002?%articleResultAdditionalAttributes=all&workflowMilestone=publish&filter%5Btags%5D=PROD-5381&%24lang=en-US"
                      },
                      "ownedBy": {
                        "id": "1013",
                        "firstName": "John",
                        "middleName": "",
                        "lastName": "Doe",
                        "userName": "jdoe"
                      },
                      "timesRated": 0,
                      "topicBreadcrumb": [
                        {
                          "topicSummary": [
                            {
                              "name": "Banking Regulations",
                              "link": {
                                "rel": "self",
                                "href": "/knowledge/portalmgr/v4/portals/PROD-1000/topics/PROD-1080"
                              }
                            }
                          ]
                        }
                      ],
                      "customAttributes": [],
                      "versionId": "PROD-2897",
                      "workflow": {
                        "stages": [
                          {
                            "name": "publish",
                            "milestone": {
                              "name": {
                                "value": "publish",
                                "displayValue": "Published"
                              }
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "GetSuggestionComments": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Comments"
            },
            "examples": {
              "Summary Attributes": {
                "value": {
                  "count": 1,
                  "comments": [
                    {
                      "content": "Great suggestion! We will put this on our To-Do list.",
                      "createdBy": {
                        "firstName": "John",
                        "lastName": "Doe",
                        "id": "1013"
                      },
                      "createDate": "2025-01-23T04:48:25.000Z",
                      "id": "1000"
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "GetSuggestionAttachments": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Attachments"
            },
            "examples": {
              "Summary Attributes": {
                "value": {
                  "attachments": [
                    {
                      "link": {
                        "rel": "self",
                        "href": "/knowledge/portalmgr/v4/portals/PROD-1000/suggestions/attachments/PROD-1001"
                      },
                      "fileName": "eightbank.png",
                      "size": 45152,
                      "id": "PROD-1001"
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "GetSuggestionAttachmentById": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/SuggestionAttachment"
            },
            "examples": {
              "Summary Attributes": {
                "value": {
                  "link": {
                    "rel": "self",
                    "href": "/knowledge/portalmgr/v4/portals/PROD-1000/suggestions/attachments/PROD-1001"
                  },
                  "fileName": "eightbank.png",
                  "size": 45152,
                  "id": "PROD-1001"
                }
              },
              "All Attributes": {
                "value": {
                  "link": {
                    "rel": "self",
                    "href": "/knowledge/portalmgr/v3/portals/202200000001000/suggestions/attachments/202200000001001"
                  },
                  "fileName": "eightbank.png",
                  "size": 45152,
                  "contentUrl": "https://developerv3api.egain.cloud/system/ws/internal/stream/resource/326330575442636564427A74632F776B4A53374F44677530754C546E5862784B6455326B6F64352F6A6C33773049664B37744C76476A665973707937555842504B794E6B667465525A6430630D0A7855456D486B4849444C363463767758557A5579636D6B744A3657634931664D757639775152374769456F654132654667666D68376E314D6B504746784B6B597A5171574E5657454472785A0D0A6E44335370615045524666314141725172485867496650333875314835753445773746675177795657782B5258705779",
                  "id": "PROD-1001"
                }
              }
            }
          }
        }
      },
      "GetUserMilestonesResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Milestones"
            },
            "example": {
              "milestone": [
                {
                  "name": {
                    "value": "publish",
                    "displayValue": "Published"
                  }
                }
              ]
            }
          }
        }
      },
      "ArticlePermissionsGetByIdResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ArticlePermissionsResult"
            },
            "example": {
              "articleID": "EGSP-2433",
              "permissions": {
                "view": true,
                "edit": false
              }
            }
          }
        }
      },
      "GetPersonalizationResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Personalization"
            },
            "example": {
              "accessTags": {
                "tagCategory": []
              },
              "filters": {
                "tagCategory": [
                  {
                    "name": "Banking",
                    "tags": {
                      "tag": [
                        {
                          "name": "Fair Lending",
                          "id": "PROD-5381"
                        },
                        {
                          "name": "Banking Industry Regulations",
                          "id": "PROD-2930"
                        }
                      ]
                    },
                    "tagGroups": {
                      "tagGroup": [
                        {
                          "name": "Banking",
                          "id": "PROD-2745"
                        }
                      ]
                    },
                    "id": "PROD-1014"
                  }
                ]
              },
              "publishViews": {
                "publishView": [
                  {
                    "name": "Internal",
                    "tagCategories": [
                      {
                        "tagCategory": [
                          {
                            "name": "Channel",
                            "tags": {
                              "tag": [
                                {
                                  "name": "Internal",
                                  "id": "PROD-1010"
                                }
                              ]
                            },
                            "id": "PROD-1004"
                          },
                          {
                            "name": "Banking",
                            "tags": {
                              "tag": [
                                {
                                  "name": "FAQs",
                                  "id": "PROD-2196"
                                }
                              ]
                            },
                            "id": "PROD-1014"
                          }
                        ]
                      }
                    ],
                    "id": "PROD-5520"
                  },
                  {
                    "name": "Customers",
                    "id": "PROD-5521"
                  }
                ]
              }
            }
          }
        }
      },
      "BadRequestResponse": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WSErrorCommon"
            },
            "examples": {
              "Invalid Article Id": {
                "value": {
                  "code": "400-108",
                  "developerMessage": "Invalid path parameter value: '0'. A numeric or a readable ID is expected."
                }
              },
              "Invalid Portal Id": {
                "value": {
                  "code": "400-105",
                  "developerMessage": "Invalid query parameter value: '0'. A positive integer is expected."
                }
              },
              "Invalid workflow milestone": {
                "value": {
                  "code": "400-102",
                  "developerMessage": "Unsupported value for query parameter 'workflowMilestone'. Only the following values are supported: 'publish,staging,authoring'."
                }
              },
              "Invalid $lang": {
                "value": {
                  "code": "400-1132",
                  "developerMessage": "KB language sample_language is not available in the system."
                }
              }
            }
          }
        }
      },
      "UnauthorizedResponse": {
        "description": "Unauthorized Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WSErrorCommon"
            },
            "example": {
              "code": "401-101",
              "developerMessage": "Invalid or expired 'X-egain-session' header provided. New login is required."
            }
          }
        }
      },
      "ForbiddenResponse": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WSErrorCommon"
            },
            "examples": {
              "User Not Allowed": {
                "value": {
                  "code": "403-105",
                  "developerMessage": "User is not allowed to perform this action."
                }
              },
              "Customer Not Allowed on Portal": {
                "value": {
                  "code": "403-568",
                  "developerMessage": "Portal 999900000000000 does not allow customer access."
                }
              },
              "Milestone not assigned": {
                "value": {
                  "code": "403-193",
                  "developerMessage": "Article milestone staging is not assigned to user"
                }
              },
              "Personalization disabled": {
                "value": {
                  "code": "403-9007",
                  "developerMessage": "Personalisation is currently disabled on this setup."
                }
              }
            }
          }
        }
      },
      "NotFoundResponse": {
        "description": "Not found",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WSErrorCommon"
            },
            "examples": {
              "Portal Id Not Found": {
                "value": {
                  "code": "404-470",
                  "developerMessage": "The following IDs supplied in the URI path were not found: '999900000012345'"
                }
              },
              "Article Id Not Found": {
                "value": {
                  "code": "404-470",
                  "developerMessage": "The following IDs supplied in the URI path were not found: '409600000012345'"
                }
              }
            }
          }
        }
      },
      "UnsupportedAcceptLanguageResponse": {
        "description": "Unsupported Accept-Language value in Header.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WSErrorCommon"
            },
            "example": {
              "code": "406-100",
              "developerMessage": "Invalid Accept-Language header value."
            }
          }
        }
      },
      "InternalServerErrorResponse": {
        "description": "Internal Server Error. Returned when unexpected error is encountered",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WSErrorCommon"
            },
            "example": {
              "code": "500-100",
              "developerMessage": "System is unable to process this request. Please contact your administrator."
            }
          }
        }
      },
      "GetTagCategoriesForInterestForPortal": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/TagCategoriesForInterest"
            },
            "example": {
              "tagCategory": [
                {
                  "name": "Banking",
                  "tagGroup": [
                    {
                      "name": "Banking",
                      "tag": [
                        {
                          "name": "Buying a Home",
                          "id": "PROD-1016"
                        },
                        {
                          "name": "Interest Rate",
                          "id": "PROD-1018"
                        },
                        {
                          "name": "Checking and Savings Accounts",
                          "id": "PROD-1020"
                        },
                        {
                          "name": "Loans",
                          "id": "PROD-1022"
                        },
                        {
                          "name": "Credit and Debit Cards",
                          "id": "PROD-1024"
                        },
                        {
                          "name": "Online Banking",
                          "id": "PROD-1756"
                        },
                        {
                          "name": "Alerts",
                          "id": "PROD-1797"
                        },
                        {
                          "name": "Claims",
                          "id": "PROD-1911"
                        },
                        {
                          "name": "Applications and Forms",
                          "id": "PROD-2048"
                        },
                        {
                          "name": "FAQs",
                          "id": "PROD-2196"
                        }
                      ],
                      "id": "PROD-2745"
                    }
                  ],
                  "tag": [
                    {
                      "name": "Banking Industry Regulations",
                      "id": "PROD-2930"
                    },
                    {
                      "name": "Fees",
                      "id": "PROD-3809"
                    },
                    {
                      "name": "Fair Lending",
                      "id": "PROD-5381"
                    }
                  ],
                  "id": "PROD-1014"
                }
              ]
            }
          }
        }
      },
      "AttachmentPreuploadResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Attachment"
            },
            "examples": {
              "All Attributes": {
                "value": {
                  "altId": "f665fb41-6485-43c3-a2c8-c72857c29f74",
                  "name": "article.png",
                  "contentUrl": "https://EG5842ain.ezdev.net/knowledge/portalmgr/v4/attachmnet/upload?signature=3552656867434671616F6C51786335674B764E7848586E786B383255555A41574F6B656F542B396258677A334341322F2B32336F434D6D6E47637955714C6A6E4D527476666C534E4C6232520D0A4F6F70637259773043515A6778596949586F3247666B6E624350386336563446624C5446746C546B2F324A734E425939634758507465722B6C584435685747734C4A2B6C626342732F426E640D0A4D7965456452564A6670525069536D2B43423232384A67724F636C4161654F39336F42784942354C6776462F50724D67674A3248527253504C53457551596A7A6D4B347A4F7A63416C7047450D0A39556133495776504A4875336D77757330773D3D"
                }
              }
            }
          }
        }
      },
      "BadRequest": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WSErrorCommon"
            },
            "examples": {
              "Unsupported Parameters": {
                "$ref": "#/components/examples/UnsupportedParameters"
              },
              "Invalid Value": {
                "$ref": "#/components/examples/InvalidValue"
              },
              "Missing required query parameter": {
                "$ref": "#/components/examples/MissingParameter"
              }
            }
          }
        }
      },
      "Unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WSErrorCommon"
            },
            "examples": {
              "Unauthorized": {
                "$ref": "#/components/examples/Unauthorized"
              }
            }
          }
        }
      },
      "Forbidden": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WSErrorCommon"
            },
            "examples": {
              "Forbidden": {
                "$ref": "#/components/examples/Forbidden"
              }
            }
          }
        }
      },
      "NotFound": {
        "description": "Not Found",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WSErrorCommon"
            },
            "examples": {
              "Not found": {
                "$ref": "#/components/examples/NotFound"
              }
            }
          }
        }
      }
    },
    "examples": {
      "Required_Attribute_Missing": {
        "description": "Required query parameter is missing.",
        "value": {
          "code": "400-112",
          "developerMessage": "Required query parameter(s) is missing. The following parameters are required: <param name>"
        }
      },
      "Unallowed_Attribute_Value": {
        "description": "One of the attributes has a value which is not allowed.",
        "value": {
          "code": "400-196",
          "developerMessage": "Invalid value of attribute <attribute>, expected values are: [<possible_values>]."
        }
      },
      "Invalid_Authorization": {
        "description": "Invalid or expired authorization. Generate a new authorization header and try again.\n",
        "value": {
          "code": "401-104",
          "developerMessage": "Invalid or missing 'authorization' header value."
        }
      },
      "Scope_Not_Assigned": {
        "description": "User doesn't have the required scope to call this API. Refer to the API documentation regarding user scope assignment for more information.\n",
        "value": {
          "code": "403-197",
          "developerMessage": "Not authorized to perform this action."
        }
      },
      "Resource_Not_Found": {
        "description": "Resource not found.",
        "value": {
          "code": "404-101",
          "developerMessage": "The following IDs provided in the URI path were not found: <id>"
        }
      },
      "NotAcceptable": {
        "value": {
          "code": "406-100",
          "developerMessage": "The 'Accept-Language' header value is invalid."
        }
      },
      "InternalServerError": {
        "value": {
          "code": "500-100",
          "developerMessage": "System is unable to process this request. Please contact your administrator."
        }
      },
      "Unable_Delete_Approved_Suggestion": {
        "description": "The resource cannot be deleted.",
        "value": {
          "code": "400-113",
          "developerMessage": "The Suggestion you are trying to delete has been approved and cannot be removed."
        }
      },
      "Too_Many_Request": {
        "description": "Too many requests. Try again at a later time.\n",
        "value": {
          "code": "429-001",
          "developerMessage": "Too many requests."
        }
      },
      "Precondition_Failed": {
        "description": "A prerequisite condition for this request has not been met.\n",
        "value": {
          "code": "412-100",
          "developerMessage": "Precondition failed: <prerequisite requirement>."
        }
      },
      "SftpDestinationExample": {
        "summary": "Export configuration using an SFTP destination",
        "value": {
          "articleCategories": "searchable",
          "portalID": "PROD-1000",
          "language": {
            "code": "en-US"
          },
          "resourceTypes": [
            "articles"
          ],
          "dataDestination": {
            "destinationType": "SFTP server",
            "path": "exports/mydeptfolder",
            "sftpDetails": {
              "username": "rtka-user",
              "password": "xyz1234",
              "host": "sftp.yourcompany.com",
              "port": 22
            }
          }
        }
      },
      "S3DestinationExample": {
        "summary": "Export configuration using an AWS S3 bucket destination",
        "value": {
          "articleCategories": "searchable",
          "portalID": "PROD-1000",
          "language": {
            "code": "en-US"
          },
          "resourceTypes": [
            "articles"
          ],
          "dataDestination": {
            "destinationType": "AWS S3 bucket",
            "path": "s3://amzn-s3-demo-bucket/mydeptfolder",
            "s3Details": {
              "region": "us-west-2",
              "accessKey": "s3-access-key",
              "secretKey": "s3-access-secret"
            }
          }
        }
      },
      "UnsupportedParameters": {
        "value": {
          "code": "400-101",
          "developerMessage": "Unsupported query parameter(s) supplied: '<query_parameter>'."
        }
      },
      "InvalidValue": {
        "value": {
          "code": "400-152",
          "developerMessage": "Invalid value is provided in the request body for the following attribute:'<attribute_name>'."
        }
      },
      "MissingParameter": {
        "value": {
          "code": "400-112",
          "developerMessage": "Required query parameter(s) is missing. The following parameters are required: '<query_parameter>'."
        }
      },
      "Unauthorized": {
        "value": {
          "code": "401-101",
          "developerMessage": "Invalid or expired 'Authorization' header provided. New login is required."
        }
      },
      "Forbidden": {
        "value": {
          "code": "403-178",
          "developerMessage": "User is not allowed to perform the following action: <action_name>."
        }
      },
      "NotFound": {
        "value": {
          "code": "404-100",
          "developerMessage": "The following IDs supplied in the URI path were not found: '<resource_id>'."
        }
      }
    }
  }
}