# Knowledge Portal Manager APIs ### License The following licenses are required to use the Knowledge Access APIs: * If the user is an agent, then the *Knowledge + AI* license is required. * If the user is a customer, the *Self-Service* and *Advanced Self-Service* licenses must be available. ### Tiers | Tier |Tier Name| Named Users | Description | ---------- | ---------- | ---------- | ---------------------------- | Tier 1 | Starter | Up to 10| Designed for small-scale implementations or pilot environments | Tier 2 | Growth | Up to 1000| Suitable for mid-scale deployments requiring moderate scalability | Tier 3 | Enterprise | Greater than 1000| Supports large-scale environments with extended configuration options ### API Resource Limits The following Resources have predefined limits for specific access attributes for Starter, Growth and Enterprise use. | Resource | Limits | Starter | Growth | Enterprise | ---------------- | ---------------------------- | ---------- | ---------- | ---------- | Article Reference |Number of attachments used in any article | 25 | 50 |50 | |Number of custom attributes in an article | 10 | 25| 50 | |Number of publish views used in an article version | 20 | 20 | 20 | Topic Reference |User-defined topics in a department| 1000| 5000 | 50000 | |Depth of topics | 5 | 20 | 20 | |Topics at any level | 500 | 2500 | 2500 | |Number of custom attributes in a topic | 10 | 10 | 10 | Portal Reference | Tag categories in a portal | 15 | 15 | 15 | |Topics to be included in a portal | 100 | 500 | 5000 | |Number of articles to display in announcements | 10 | 25 | 25 | |Usage links and link groups setup for a portal | 5 | 10 | 25 ## Servers Production Server ``` https://api.egain.cloud/knowledge/portalmgr/v4 ``` ## Security ### oAuthUser Authenticate as a user (agent) using code flow with PKCE. Type: oauth2 ### oAuthOnBehalfOfUser Authenticate as a client application (server) acting on behalf of a user. Type: oauth2 Token URL: 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 Authenticate as a customer using code flow with PKCE. Type: oauth2 ### oAuthOnBehalfOfCustomer Authenticate as a client application (server) acting on behalf of a customer. Type: oauth2 Token URL: 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 Authenticate as an anonymous customer. Type: oauth2 ### oAuthClient Authenticate as a client (Server to Server). Type: oauth2 ### bearerAuth Type: http Scheme: bearer Bearer Format: JWT ## Download OpenAPI description [Knowledge Portal Manager APIs](https://apidev.egain.com/_bundle/apis/v4/knowledge/portalmgr/api-bundled.yaml) ## Article Article APIs ### Get Article by ID - [GET /portals/{portalID}/articles/{articleID}](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/article/getarticlebyid.md): ## Overview * The Get Article by ID API allows a user or client application to retrieve an Article using its ID. * It requires a Portal ID, which a user or client application can retrieve through the Administrative Console or by calling Get All Portals API. * Additional Article attributes and contextual views can be specified in the query parameters. * This API returns structured authoring attributes of Issue, Environment, Cause and Confidence Level when the following conditions are met: * The "Allow Structured Authoring" setting is enabled at the partition/department level through the Administrative Console. * The "Use Structured Authoring" flag is set on the article type. ## Prerequisites * Agents without a user profile and customers in a portal without a default user profile only have access to articles that: * Do not contain any access tags. * Do not contain any publish views. * Contain publish views without any associated tags. * Agents with a user profile and customers in a portal with a default user profile have access to articles that: * Do not contain any access tags. * Do not contain any publish views. * Contain publish views without any associated tags. * Contain access tags that are also in the assigned user profiles. * Contain publish views with associated tags that are also in the assigned user profiles. * Agents with the following assigned actions can view updates to articles currently being processed in workflows: * View Author Portal – Allows agents to view updates to articles at any stage in a workflow. * View Staging Portal – Allows agents to view updates to articles in the Staging stage or a subsequent stage in a workflow. ### Get Article By ID with Editions - [GET /articles/{articleID}/witheditions](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/article/getarticlebyidwitheditions.md): ## Overview * This API allows a user to retrieve an article with all its editions. * If there are no editions for the article, the response will contain the base content of the article. ### Get Article Edition Details - [GET /articles/{articleID}/editions/{publishViewId}](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/article/getarticleeditiondetails.md): ## Overview * This API retrieves the details of an article edition. ### Get All Article Types in a Department - [GET /articletypes](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/article/getallarticletypes.md): ## Overview The Get All Article Types in a Department API retrieves a list of all Article Types configured for a specific department. ### Add Article to Reply - [PUT /portals/{portalID}/articles/{articleID}/addtoreply](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/article/addtoreply.md): ## Overview The Add Article to Reply API captures events for articles used in a reply for a digital channel activity. Note: Either the x-ext-activity-id orx-ext-integration-id and x-ext-interaction-id header must be provided. ## Permissions * Only Agents can invoke this API. ### Add as Reference - [PUT /portals/{portalID}/articles/{articleID}/addasreference](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/article/addasreference.md): ## Overview The Add as Reference API captures events for articles that are referenced by agents replying inside of a digital channel activity. Note: Either the x-ext-activity-id orx-ext-integration-id and x-ext-interaction-id header must be provided. ## Permissions * Only Agents can invoke this API. ### Get Articles in Topic - [GET /portals/{portalID}/articles](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/article/getarticlesintopic.md): ## Overview The Get Articles in Topic API allows a user to retrieve the browsable articles in a topic. ## Prerequisites * Set the Article type’s parameter “Include in browse on portals” to "Yes" for an article to be returned by this API. * Agents without a user profile and customers in a portal without a default user profile only have access to articles that: * Do not contain any access tags. * Do not contain any publish views. * Contain published views without any associated tags. * Agents with a user profile and customers in a portal with a default user profile have access to articles that: * Do not contain any access tags. * Do not contain any publish views. * Contain publish views without any associated tags. * Contain access tags that are also in the assigned user profiles. * Contain publish views with associated tags that are also in the assigned user profiles. ## Permissions * Agents with the following assigned actions can view updates to articles currently being processed in workflows: * View Author Portal – Allows agents to view updates to articles at any stage in a workflow. * View Staging Portal – Allows agents to view updates to articles in the Staging stage or a subsequent stage in a workflow. ### Get Article Attachment By ID - [GET /articles/attachments/{attachmentID}](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/article/getarticleattachmentbyid.md): ## Overview This API allows one article attachment identified by an attachment ID to be retrieved. ### Get Article Attachment in Portal - [GET /portals/{portalID}/articles/attachments/{attachmentID}](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/article/getattachmentbyidinportal.md): ## Overview The Get Article Attachment API retrieves an attachment associated to an article by calling the attachment ID for a specified portal ID. ### Get Related Articles - [GET /portals/{portalID}/articles/{articleID}/related](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/article/getrelatedarticles.md): ## Overview The Get Related Articles API retrieves all related articles associated to a given article. ## Prerequisites * Set the Article type’s parameter “Include in browse on portals” to "Yes" for an article to be returned by this API. * Agents without a user profile and customers in a portal without a default user profile only have access to articles that: * Do not contain any access tags. * Do not contain any publish views. * Contain publish views without any associated tags. * Agents with a user profile and customers in a portal with a default user profile have access to articles that: * Do not contain any access tags. * Do not contain any publish views. * Contain publish views without any associated tags. * Contain access tags that are also in the assigned user profiles. * Contain publish views with associated tags that are also in the assigned user profiles. ## Permissions * Agents with the following assigned actions can view updates to articles currently being processed in workflows: * View Author Portal – Allows agents to view updates to articles at any stage in a workflow. * View Staging Portal – Allows agents to view updates to articles in the Staging stage or a subsequent stage in a workflow. ### Get Announcement Articles - [GET /portals/{portalID}/articles/announcements](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/article/getannouncementarticles.md): ## Overview The Get Announcement Articles API returns a portal's announcement articles. Only displayable announcement articles in the portal are returned. ## Prerequisites * For an article to display or be returned, set the Article type’s parameter, “Include in browse on portals,” to "Yes". * Agents without a user profile and customers in a portal without a default user profile only have access to articles that: * Do not contain any access tags. * Do not contain any publish views. * Contain publish views without any associated tags. * Agents with a user profile and customers in a portal with a default user profile have access to articles that: * Do not contain any access tags. * Do not contain any publish views. * Contain publish views without any associated tags. * Contain access tags that are also in the assigned user profiles. * Contain publish views with associated tags that are also in the assigned user profiles. ## Permissions * Agents with the following assigned actions can view updates to articles currently being processed in workflows: * View Author Portal – Allows agents to view updates to articles at any stage in a workflow. * View Staging Portal – Allows agents to view updates to articles in the Staging stage or a subsequent stage in a workflow. ### Get Article Ratings - [GET /portals/{portalID}/articles/{articleID}/ratings](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/article/getarticleratings.md): ## Overview The Get Article Ratings API returns ratings set for an Article. These ratings help you to assess the quality, helpfulness, or relevance of an article. ### Rate an Article - [PUT /portals/{portalID}/articles/{articleID}/ratings](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/article/ratearticle.md): ## Overview The 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. ### Get Pending Article Compliances - [GET /portals/{portalID}/articles/compliance/pending](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/article/getpendingcompliancearticles.md): ## Overview The 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. ## Prerequisites * The Article compliances that are returned must be: * Available for the current user profile. * Displayable. An article is displayable when the "Include in browse on portals" property is enabled for the article. ### Get Acknowledged Article Compliances - [GET /portals/{portalID}/articles/compliance/acknowledged](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/article/getacknowledgedcompliancearticles.md): ## Overview The 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. ## Prerequisites * The Article compliances that are returned must be: * Available for the current user profile. * Displayable. An article is displayable when the "Include in browse on portals" property is enabled for the article. * Acknowledged within the last 60 days. * Only the latest version of a republished compliance article will be shown. * Results will be sorted in descending order of acknowledgment date. ### Comply With an Article - [PUT /portals/{portalID}/articles/{articleID}/comply](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/article/complyarticle.md): ## Overview The 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. ## Prerequisites * The user must be an agent and: * Be available in the portal. * Be available for the current user profile. * Have the Article's compliance policy enabled. * If the Article has Access Tags, then it must be available for the agent's current user profile. * If the Article has Publish Views, then at least one edition of the Article must be available for the agent's current user profile. ### My Subscription - [GET /portals/{portalID}/articles/subscribed](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/article/getmysubscription.md): ## Overview The My Subscription API allows authenticated users and agents to retrieve the list of articles to which they are subscribed. ### Subscribe to an Article - [PUT /portals/{portalID}/articles/{articleID}/subscribe](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/article/subscribearticle.md): ## Overview The Subscribe to an Article API allows eGain users, authenticated customers and agents to subscribe and receive notifications about changes to an Article. ## Prerequisites * Notifications are sent only if the following conditions are met: * The Article content has been modified since the last published version. * The attachment list has been modified since the last published version. * The author has checked the "Include Article in new and modified Article list" option while publishing the Article. * For the Subscribe to an Article API to execute successfully: * The Article must be in the portal. * The user must have provided an email address. ## Permissions * Agent Permissions: The following permissions are required if the user is an agent: * If the Article has Access Tags: * The Article must be available for the agent's current user profile. * If the Article has Publish Views: * At least one edition of the Article must be available for the agent's current user profile. * If the Article has filters and the "tags query parameter" is provided: * The Article filters must match the provided tags or tag groups. * Customer Permissions: The following permissions are required if the user is a customer: * If the Article has Access Tags: * The portal must have a default user profile * The Article must be available for the portal's default user profile. * If the Article has Publish Views: * The portal must have a default user profile * At least one edition must be available for the portal's default user profile. * If the Article has filters and the "tags query parameter" is provided, then the Article filters must match the provided tags or tag groups. ### Unsubscribe to an Article - [PUT /portals/{portalID}/articles/{articleID}/unsubscribe](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/article/unsubscribearticle.md): ## Overview The 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. ### Get Article Permissions By ID - [GET /portals/{portalID}/articles/{articleID}/permissions](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/article/getarticlepermissionsbyid.md): ## Overview * The Get Article Permission by ID permits a user to retrieve permissions associated to an article. ### Get Article Personalization Details - [GET /portals/{portalID}/articles/{articleID}/personalization](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/article/getarticlepersonalization.md): ## Overview The Get Article Personalization Details API allows agents to retrieve the personalization tag details of an Article. ## Article Lists Article List APIs ### Get All Article Lists - [GET /portals/{portalID}/articlelists](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/article-lists/getallarticlelists.md): ## Overview The Get All Article Lists API returns all quick Article lists that are configured for a portal. ### Get Article List by ID - [GET /portals/{portalID}/articlelists/{listID}](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/article-lists/getarticlelistdetails.md): ## Overview The Get Article Lists by ID API returns the details of a quick access Article list that is configured for a portal. Only those articles in the quick access list articles are returned and are: - Available for current user profile. - Tagged with at least one of the provided tags, if tags query parameter is provided. - Displayable. An Article is displayable if "Include in browse on portals" property is enable for the Article. ## Bookmark Bookmark APIs ### Add a Bookmark - [POST /portals/{portalID}/bookmarks](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/bookmark/addbookmark.md): ## Overview * The Add a Bookmark API adds a bookmark from a portal. ### Get All Bookmarks for a Portal - [GET /portals/{portalID}/bookmarks](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/bookmark/getbookmark.md): ## Overview 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. ## Permissions * The user must have the __View Author Portal__ action to access the authoring view. * The user must have the __View Staging Portal__ action to access the staging view. ### Delete a Bookmark - [DELETE /portals/{portalID}/bookmarks/{bookmarkID}](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/bookmark/deletebookmark.md): ## Overview The Delete a Bookmark API deletes a bookmark from a portal. ## Guided Help Guided Help APIs ### Get Available Casebases Releases - [GET /portals/{portalID}/gh/casebasereleases](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/guided-help/getallcasebasesreleases.md): ## Overview The Get Available Casebases Releases API retrieves all Casebase Releases associated with a portal. ### Get Details of a Casebase Release - [GET /portals/{portalID}/gh/casebasereleases/{casebaseReleaseID}](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/guided-help/getcasebasereleasebyid.md): ## Overview The Get Details of a Casebase Release API retrieves details of Casebase Release. ### Get Cluster Details of a Casebase Release - [GET /portals/{portalID}/gh/casebasereleases/{casebaseReleaseID}/clusters](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/guided-help/getclusterbycasebasereleaseid.md): ## Overview The Get Cluster Details of a Casebase Release API retrieves cluster details of Casebase Release. ### Get All Profiles Available in Portal - [GET /portals/{portalID}/gh/profiles](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/guided-help/getallprofilesinportal.md): ## Overview The Get All Profiles Available in Portal API retrieves all Guided Help profiles associated with a portal. ### Start a Guided Help Search - [POST /portals/{portalID}/gh/search](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/guided-help/startghsearch.md): ## Overview The Start a Guided Help search can be used to start a search session in the Guided Help. A Guided Help profile can also be specified while starting the session and it is used to filter the results of search. 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. A Guided Help search session can be started in following ways: * Launch session for a specific Casebase Release. * Launch session for a Casebase and specify the release type. * Use a Guided Help session Article and pass the required session parameters. ## Prerequisites * A Guided Help profile must be assigned to the user. * Casebase Release passed in the request must be associated with the portal passed in URI. ### Perform a Step in a Guided Help Search - [PUT /portals/{portalID}/gh/search](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/guided-help/stepghsearch.md): ## Overview 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. ## Prerequisites * A Guided Help session must be in progress before this API is invoked. ### Get All Cases of a Cluster in Release - [GET /portals/{portalID}/gh/casebasereleases/{casebaseReleaseID}/clusters/{clusterID}/cases](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/guided-help/getallcases.md): ## Overview 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. ## Prerequisites A Guided Help search session for the provided Casebase Release must be in progress before this API is invoked. ### Get Details of a Case - [GET /portals/{portalID}/gh/casebasereleases/{casebaseReleaseID}/cases/{caseID}](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/guided-help/getcasebyid.md): ## Overview The Get Details of a Case API retrieves details of a case in a release. ## Prerequisites * A Guided Help search session for the provided Casebase Release must be in progress before this API is invoked. ### Accept Solution - [POST /portals/{portalID}/gh/cases/{caseID}/accept](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/guided-help/acceptghsolution.md): ## Overview The Accept Solution API can be used to accept and add positive score to a solution of a Guided Help case. ## Prerequisites * A Guided Help search session must be started before invoking this API. ### Reject Solution - [POST /portals/{portalID}/gh/cases/{caseID}/reject](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/guided-help/rejectghsolution.md): ## Overview The Reject Solution API can be used to reject and add negative score to a solution of a Guided Help case. ## Prerequisites * A Guided Help search session must be started before invoking this API. ### Create Quickpick - [POST /portals/{portalID}/gh/quickpicks](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/guided-help/createquickpick.md): ## Overview The Create Quickpick API can be used to create a new quickpick(bookmark) for current Guided Help search session. Note: If "linkToActivity" attribute is passed as true in request body then one of below must be passed in header * XEgainTenantId * xEgainActivityId * XInteractionId ## Prerequisites * A Guided Help search session must be in progress before this API is invoked. * QuickPick can only be created for a live release of a Casebase. ### Get All Quickpicks for a Portal - [GET /portals/{portalID}/gh/quickpicks](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/guided-help/getallquickpicks.md): ## Overview The Get All Quickpicks for a Portal API retrieves details of quickpicks created for the Casebase. ## Conditions If "getLastSavedQuickPickForInteraction" query parameter is passed as "Yes" then one of below must be passed in request header. * X-ext-integration-id * X-egain-activity-id * X-ext-interaction-id Either casebaseID or getLastSavedQuickPickForInteraction must be passed in request. ### Resume a Quickpick - [POST /portals/{portalID}/gh/quickpicks/{quickpickID}](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/guided-help/restorequickpick.md): ## Overview The Resume a Quickpick API can be used to restore (resume) a specific quickpick. ## Prerequisites * A Guided Help session for the Casebase must be started before invoking this API. ## Popular Articles Popular Articles API ### Get Popular Articles - [GET /portals/{portalID}/populararticles](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/popular-articles/getpopulararticles.md): ## Overview The Popular Articles API allows a user to retrieve popular articles. ## Prerequisites * Only displayable articles are returned. An Article is displayable when "Include in browse on portals" property is enable for the Article. ## Permissions * Agent permissions: The following permissions are required if user is an Agent: * If Article has Access Tags, Article must be available for agent's current user profile. * If Article has Publish Views, at least one edition of Article must be available for agent's current user profile. * If Article has filters and tags query parameter provided, Article filters must match provided tags or tag groups. * Customer permissions: The following permissions are required if user is a Customer: * If Article has Access tags: * Portal must have default user profile, and; * Article must be available for portal's default user profile. * If Article has Publish Views: * Portal must have default user profile, and; * At least one edition must be available for portal's default user profile. * If Article has filters and tags query parameter provided, Article filters must match provided tags or tag groups. ## Portal Portal API ### Get All Portals - [GET /portals](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/portal/getallportals.md): ## Overview The Get All Portals API returns all portals in a partition or department. ### Get All Portals Accessible To User - [GET /myportals](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/portal/getmyportals.md): ## Overview The Get All Portals Accessible to User API allows a user to fetch all portals accessible to user across all department. * If no access tags are specified for a portal, then any user can access the portal. * 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. * All the global users(partition) cannot be assigned user profiles; their access is limited to portals without access restrictions. * The only articles returned are associated to an Article type when the parameter, “Include in browse on portals” is set to "Yes". * 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. * When there is no short URL available for a specific language, the API returns a portal object with an empty "shortURL" field. ### Get Portal Details By ID - [GET /portals/{portalID}](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/portal/getportaldetailsbyid.md): ## Overview The Get Portal Details By ID API allows a user to fetch details of a portal by the ID. ### Get Tag Categories for Interest for a Portal - [GET /portals/{portalID}/tagcategoriesforinterest](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/portal/gettagcategoriesforinterestforportal.md): ## Overview The Get Tag Categories for Interest for a Portal API retrieves the Tag Categories for Interest configured for a portal. * Tag Categories are ordered in order of their addition in the "Tag Categories for Interest" in the Portal configuration. * Tags are ordered as per their order defined in their Tag Category. * Tag Groups are sorted by their name, in ascending order. ## Search Search APIs ### Hybrid Search - [GET /{portalID}/search](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/search/aisearch.md): 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. ## Suggestion Suggestion APIs ### Make a Suggestion - [POST /portals/{portalID}/suggestions](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/suggestion/makesuggestion.md): ## Overview The Make a Suggestion API allows users to create an Article Suggestion from within a knowledge portal. ## Prerequisites * Enable the setting "Manage a Suggestion" for the portal specified in the URL. * If the user is a Customer, enable the setting "Allow Customer Access" for the portal. * 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. ### Modify Suggestion - [PUT /portals/{portalID}/suggestions](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/suggestion/modifysuggestions.md): ## Overview The Modify Suggestion API allows authenticated users to modify their own Suggestion. ## Prerequisites * Enable the setting "Manage a Suggestion" for the portal specified in the URL. * If the user is a Customer, enable the setting "Allow Customer Access" for the portal. * The "Suggestion ID" specified in the request body must exist and belong to the user. * The status of this Suggestion as returned by the Get Suggestion by ID API must be "pending". * At least one of the optional request body attributes must be provided. ### Get Suggestion by Status - [GET /portals/{portalID}/suggestions](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/suggestion/searchsuggestion.md): ## Overview The Get Suggestion by Status API allows authenticated users to retrieve their own suggestions based on Suggestion status. ## Prerequisites * Enable the setting "My Suggestions" for the portal specified in the URL. * If the user is a customer, enable the setting "Allow Customer Access" for the portal. ### Get Suggestion by ID - [GET /portals/{portalID}/suggestions/{suggestionID}](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/suggestion/getsuggestion.md): ## Overview The Get Suggestion by ID API allows authenticated users to retrieve their own suggestions. ## Prerequisites * Enable the setting "My Suggestions" for the portal specified in the URL. * If the user is a customer, enable the setting "Allow Customer Access" for the portal. * The "Suggestion for the ID" specified in the URL must belong to the user. ### Delete a Suggestion - [DELETE /portals/{portalID}/suggestions/{suggestionID}](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/suggestion/deletesuggestion.md): ## Overview The Delete a Suggestion API allows authenticated users to delete their own Suggestion. ## Prerequisites * Enable the setting "Manage a Suggestion" for the portal specified in the URL. * If the user is a customer, enable the setting "Allow Customer Access" for the portal. * The Suggestion must belong to the user. * The status of the Suggestion must not be "approved". ### Get Related Articles for Suggestion - [GET /portals/{portalID}/suggestions/{suggestionID}/relatedArticles](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/suggestion/getrelatedarticlesforsuggestion.md): ## Overview The Get Related Articles for Suggestion API allows authenticated users to retrieve related articles for a Suggestion. ## Prerequisites * Enable the setting "My Suggestions" for the portal specified in the URL. * If the user is a customer, enable the setting "Allow Customer Access" for the portal. * The Suggestion specified in the URL must belong to the user. ### Get Suggestion Comments - [GET /portals/{portalID}/suggestions/{suggestionID}/comments](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/suggestion/getsuggestioncomments.md): ## Overview The Get Suggestion Comments API allows authenticated users to retrieve all comments for a Suggestion. ## Prerequisites * Enable the setting "My Suggestions" for the portal specified in the URL. * If the user is a customer, enable the setting "Allow Customer Access" for the portal. * The Suggestion specified in the URL must belong to the user. ### Add a Suggestion Comment - [POST /portals/{portalID}/suggestions/{suggestionID}/comments](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/suggestion/addsuggestioncomment.md): ## Overview The Add Suggestion Comment API allows authenticated users and agents to add a new comment to a Suggestion. ## Prerequisites * Enable the setting "My Suggestions" for the portal specified in the URL. * If the user is a customer, enable the setting "Allow Customer Access" for the portal. * The Suggestion specified in the URL must belong to the user, or the user must have appropriate administrative permissions to comment on it. * The Suggestion must be in Suggested or Pending status, otherwise no comments can be added. ### Get Suggestion Attachments - [GET /portals/{portalID}/suggestions/{suggestionID}/attachments](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/suggestion/getsuggestionattachments.md): ## Overview The Get Suggestion Attachments API allows authenticated users to retrieve attachments for a Suggestion. ## Prerequisites * Enable the setting "My Suggestions" for the portal specified in the URL * If the user is a customer, enable the setting "Allow Customer Access" for the portal. * The Suggestion specified in the URL must belong to the user. ### Get Suggestion Attachment by ID - [GET /portals/{portalID}/suggestions/attachments/{attachmentID}](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/suggestion/getsuggestionattachmentbyid.md): ## Overview 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. ## Prerequisites * Enable the setting "My Suggestions" for the portal specified in the URL * If the user is a customer, enable the setting "Allow Customer Access" for the portal. * The Suggestion specified in the URL must belong to the user. ## Topic Topic APIs ### Get Topic Breadcrumb for Article - [GET /portals/{portalID}/articles/{articleID}/breadcrumb](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/topic/gettopicbreadcrumbforarticle.md): ## Overview * 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. ### Get Immediate Child Topics - [GET /portals/{portalID}/topics/{topicID}](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/topic/getchildtopics.md): ## Overview The Get Immediate Child Topics API retrieves details about a topic and it's immediate child topics. The $level attribute determines how deep the topic hierarchy should go, or how many child topics of a topic are returned in the response. ### Get All Ancestor Topics - [GET /portals/{portalID}/topics/{topicID}/parents](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/topic/getancestortopics.md): ## Overview The Get All Ancestor Topics API retrieves the hierarchy from the root topic down to the given topic. ### Get All Topics - [GET /portals/{portalID}/topics](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/topic/getalltopics.md): ## Overview The Get All Topics API retrieves the topic tree for a portal. The $level attribute determines how deep the topic hierarchy should go, or how many child topics of a topic are returned in the response. ## User Details User Details APIs ### Get User Details - [GET /portals/user](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/user-details/getuserdetails.md): ## Overview The Get User Details API retrieves details of a knowledge user. ## User Milestones User Milestones APIs ### Get User Milestones - [GET /portals/user/milestones](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/user-milestones/getusermilestones.md): ## Overview The User Milestones API provides information about the milestones of an agent within the article workflow. This API helps track the progress of articles by grouping them into relevant milestones based on their current stage. For example, an article might go through Knowledge Workflow Stages like Draft, Initial Review, Staging, Final Review and Publish. 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". ## User Profile UserProfile APIs ### Get All User Profiles Assigned to User - [GET /portals/{portalID}/userprofiles](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/user-profile/getalluserprofiles.md): ## Overview 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. ### Select User Profile - [PUT /portals/{portalID}/userprofiles/{userProfileID}/select](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/user-profile/selectuserprofile.md): ## Overview The Select User Profile API allows a user to set the user profile for a portal. ## Federated Search Event Federated Search Event API ### Event For Viewed Federated Search Result - [POST /portals/{portalID}/search/federated/event](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/federated-search-event/createfederatedsearchresultevent.md): ## Overview The Federated Search Event API creates an event for federated search results that have been viewed. An event for viewing an: * External web page cannot be created for a portal where the value for the "Include Web Search Section in Search Results" attribute is "Yes". * Internal web page cannot be created for a portal where the value for the "Include Intranet Search Section in Search Results" attribute is "Yes". ## Connectors Search Events Connectors Search Event APIs ### Event for Search Using Connectors - [POST /portals/{portalID}/search/connectors/event](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/connectors-search-events/createsearchresulteventforconnectors.md): ## Overview 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. It allows users to set up search events based on specified criteria. ### Event for Viewed Search Results Using Connectors - [POST /portals/{portalID}/view/searchresults/connectors/event](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/connectors-search-events/createviewedsearchresultseventforconnectors.md): ## Overview The Event for Viewed Search Results Using Connectors API creates an event to log when search results from external content are viewed. This helps in tracking and analyzing user interactions with search results retrieved from various external sources. ## Attachment Attachment Upload API ### Generate Signed URL to Upload API - [POST /attachment/preupload](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/attachment/createsignedurl.md): ## Overview The Generate Signed URL to Upload API produces a signature that is used to upload an attachment. ## Export Content Export APIs ### Export Knowledge - [POST /content/export](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/export/exportcontent.md): ## Overview The Content Export API initiates a bulk export of the Knowledge Hub to a client-provided Amazon S3 bucket or SFTP server path. It returns a URL with a Job ID to enable tracking the status of this asynchronous operation. Each export job can send multiple JSON files, depending on the total number of items to process. More than one bulk export can take place, as needed, one per portal. ## Permission * Only a client application can invoke this API. ## License * This API requires a site license (SKU: EG-CL-RTKA-PT). ### Get Export Job Status - [GET /content/export/{jobID}/status](https://apidev.egain.com/apis/v4/knowledge/portalmgr/api-bundled/export/exportstatus.md): ## Overview The Content Export Status API provides real-time status information to monitor job progress and check completion status. ## Status Values - Pending: Job is pending start of processing - In Progress: Job is actively processing content - Completed: Job finished successfully - Failed: Job encountered errors and could not complete ## Response Information - Current Status: Real-time job status - Progress Metrics: Items processed, total items - Error Details: Specific errors encountered during processing - Timing Information: Start time, estimated completion, actual completion ## Permission * Only a client application can invoke this API. ## License * This API requires a site license (SKU: EG-CL-RTKA-PT).