# 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 of an article in the system | 25 | 25 | 25
|  |Number of publish views used in an article version | 20 | 20 | 20
| Topic Reference |User-defined topics in a department| 1000| 5000 | 10000
|  |Depth of topics  | 5 | 20 | 20
|  |Topics at any level | 500 | 500 | 500
|  |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
Authorization URL: https://login.egain.cloud/f51302dd-7036-41b5-b619-e1a52a67c780/B2C_1A_User_V3_SignIn_OIDC/oauth2/v2.0/authorize?domain_hint=developerv3api.egain.cloud
Token URL: 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.

### 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
Authorization URL: https://login.egain.cloud/f51302dd-7036-41b5-b619-e1a52a67c780/B2C_1A_Customer_V3_SignUpOrSignIn_OIDC/oauth2/v2.0/authorize?domain_hint=developerv3api.egain.cloud
Token URL: 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.

### 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
Token URL: 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.

### oAuthClient

Authenticate as a client (Server to Server).

Type: oauth2
Token URL: https://login.egain.cloud/global/f51302dd-7036-41b5-b619-e1a52a67c780/oauth2/v2.0/token
Scopes:
- `https://api.egain.cloud/auth/.default`: Default scope

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

 - [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 th
 - [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 /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 /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.
 - [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 <code>x-ext-activity-id</code> or<br><code>x-ext-integration-id<
 - [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 <code>x-ext-activity-id</code> or<br><co
 - [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 a
 - [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 /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 /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 a
 - [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
 - [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.
 - [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 /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 complia
 - [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 descen
 - [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:
 - [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.
 - [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
 - [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 /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 /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

 - [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 /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 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 /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 mu
 - [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

 - [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 /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 /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 /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.
 - [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
 - [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 progr
 - [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 guid
 - [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 AP
 - [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 th
 - [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 th
 - [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
 - [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"
 - [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

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

 - [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 /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 ac
 - [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 /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
## 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
## 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
 - [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 t
 - [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 por
 - [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
 - [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
 - [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
 - [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
 - [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 i
 - [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 t
 - [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 conte
## Topic

 - [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 /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 <code>$level</code> attribute determines how deep the topic hierarchy should go, or
 - [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 /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 <code>$level</code> attribute determines how deep the topic hierarchy should go, or how many child topics of a topic are r
## 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

 - [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 mile
## User Profile

 - [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.
 - [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

 - [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 va
## Connectors Search Events

 - [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
 - [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 interaction
## Attachment

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

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