Skip to content

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

TierTier NameNamed UsersDescription
Tier 1StarterUp to 10Designed for small-scale implementations or pilot environments
Tier 2GrowthUp to 1000Suitable for mid-scale deployments requiring moderate scalability
Tier 3EnterpriseGreater than 1000Supports 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.

ResourceLimitsStarterGrowthEnterprise
Article ReferenceNumber of attachments used in any article255050
Number of custom attributes in an article102550
Number of publish views used in an article version202020
Topic ReferenceUser-defined topics in a department1000500050000
Depth of topics52020
Topics at any level50025002500
Number of custom attributes in a topic101010
Portal ReferenceTag categories in a portal151515
Topics to be included in a portal1005005000
Number of articles to display in announcements102525
Usage links and link groups setup for a portal51025
Download OpenAPI description
Languages
Servers
Production Server
https://api.egain.cloud/knowledge/portalmgr/v4

Article

Article APIs

Operations

Article Lists

Article List APIs

Operations

Bookmark

Bookmark APIs

Operations

Guided Help

Guided Help APIs

Operations

Portal

Portal API

Operations

Get All Portals

Request

Overview

The Get All Portals API returns all portals in a partition or department.

Security
oAuthUser(Required scopes:
https://api.egain.cloud/auth/kno...
)
or oAuthOnBehalfOfUser(Required scopes:
https://api.egain.cloud/auth/kno...
)
or oAuthCustomer(Required scopes:
https://api.egain.cloud/auth/kno...
)
or oAuthOnBehalfOfCustomer(Required scopes:
https://api.egain.cloud/auth/kno...
)
or oAuthAnonymousCustomer(Required scopes:
https://api.egain.cloud/auth/kno...
)
Query
departmentIDstring[ 3 .. 8 ] characters^999$|^[1-9][0-9]{3,8}$

The ID of the department.

Example: departmentID=999
$langstring

The language that describes the details of a resource. Resources available in different languages may differ from each other.

  • If lang is not passed, then the portal's default language is used.
  • Enum"en-US""fr-FR""en-GB""es-ES""it-IT""nl-NL""da-DA""sv-SE""pt-PT""fi-FI"
    Example: $lang=en-US
    $pagenuminteger(int64)[ 1 .. 999 ]

    Pagination parameter that specifies the page number of results to be returned. Used in conjunction with $pagesize.

    Default 1
    $pagesizeinteger(int64)[ 1 .. 75 ]

    Pagination parameter that specifies the number of results per page. Used in conjunction with $pagenum.

    Default 10
    Headers
    x-egain-activity-idstring[ 4 .. 9 ] characters^[0-9]{4,9}$

    A unique numeric interaction identifier from eGain.

    Example: 59237
    x-ext-integration-idstring<= 40 characters^[\w\W]+$

    The unique numeric identifier for a tenant, used in self-service functionality as well as third-party integrations.

    Note: The x-ext-integration-id and x-ext-interaction-id headers must always be provided together and cannot be supplied independently.

    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.

    Examples:
    3155180e-0c13-43e9-9c38-e9045bcbf176
    00Dbn00000IxGnx
    x-ext-interaction-idstring<= 40 characters^[\w\W]+$

    A unique interaction identifier from other CRM applications.

    Note: The x-ext-integration-id and x-ext-interaction-id headers must always be provided together and cannot be supplied independently.

    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.

    Examples:
    3155180e-0c13-43e9-9c38-e9045bcbf176
    00Dbn00000IxGnx
    Accept-Languagestringrequired

    The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses).

    Enum"en-US""es-ES""fr-FR""it-IT""de-DE""nl-NL""pt-BR""pt-PT""da-DK""ru-RU"
    Example: en-US
    curl -i -X GET \
      'https://api.egain.cloud/knowledge/portalmgr/v4/portals?departmentID=999&%24lang=en-US&%24pagenum=1&%24pagesize=10' \
      -H 'Accept-Language: en-US' \
      -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
      -H 'x-egain-activity-id: 59237' \
      -H 'x-ext-integration-id: string' \
      -H 'x-ext-interaction-id: string'

    Responses

    Success

    Bodyapplication/json
    portalArray of objects(Portal)

    portals

    paginationInfoobject(PaginationInfo)
    Response
    application/json
    { "portal": [ {} ], "paginationInfo": { "count": 1, "pagenum": 1, "pagesize": 10 } }

    Get All Portals Accessible To User

    Request

    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.
    Security
    oAuthUser(Required scopes:
    https://api.egain.cloud/auth/kno...
    )
    or oAuthOnBehalfOfUser(Required scopes:
    https://api.egain.cloud/auth/kno...
    )
    Query
    $langstringrequired

    The language used for fetching the details of a resource. Resources available in different languages may differ from each other.

    Enum"en-US""fr-FR""en-GB""es-ES""it-IT""nl-NL""da-DA""sv-SE""pt-PT""fi-FI"
    Example: $lang=en-US
    departmentstring[ 0 .. 255 ] characters^[\w\W]+$

    The Name of the department for which portals are to be fetched

    Example: department=service
    filterTextstring[ 0 .. 255 ] characters^[\w\W]+$

    Portal name starting with a specific character are considered to filter the result.

    Example: filterText=master
    shortUrlTemplatestring[ 0 .. 255 ] characters^[\w\W]+$

    The Name of the template used while creating Short URL.

    Example: shortUrlTemplate=silver
    $sortstring

    Objects returned in server response are sorted based on the attribute supplied under $sort.
    Default value: name.

    Enum"id""name""departmentName"
    $orderstring

    Common query parameter $order.
    Default value: asc

    Enum"asc""desc"
    Example: $order=asc
    $pagenuminteger(int64)[ 1 .. 999 ]

    Pagination parameter that specifies the page number of results to be returned. Used in conjunction with $pagesize.

    Default 1
    $pagesizeinteger(int64)[ 1 .. 75 ]

    Pagination parameter that specifies the number of results per page. Used in conjunction with $pagenum.
    Valid range of 5-75
    Default value: 25

    Default 25
    Headers
    Accept-Languagestringrequired

    The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses).

    Enum"en-US""es-ES""fr-FR""it-IT""de-DE""nl-NL""pt-BR""pt-PT""da-DK""ru-RU"
    Example: en-US
    curl -i -X GET \
      'https://api.egain.cloud/knowledge/portalmgr/v4/myportals?%24lang=en-US&department=service&filterText=master&shortUrlTemplate=silver&%24sort=id&%24order=asc&%24pagenum=1&%24pagesize=25' \
      -H 'Accept-Language: en-US' \
      -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

    Responses

    Success

    Bodyapplication/json
    portalArray of objects(Portals accessible to agent)

    portals

    paginationInfoobject(PaginationInfo)
    Response
    application/json
    { "portal": [ {} ], "paginationInfo": { "count": 1, "pagenum": 1, "pagesize": 25 } }

    Get Portal Details By ID

    Request

    Overview

    The Get Portal Details By ID API allows a user to fetch details of a portal by the ID.

    Security
    oAuthUser(Required scopes:
    https://api.egain.cloud/auth/kno...
    )
    or oAuthOnBehalfOfUser(Required scopes:
    https://api.egain.cloud/auth/kno...
    )
    or oAuthCustomer(Required scopes:
    https://api.egain.cloud/auth/kno...
    )
    or oAuthOnBehalfOfCustomer(Required scopes:
    https://api.egain.cloud/auth/kno...
    )
    or oAuthAnonymousCustomer(Required scopes:
    https://api.egain.cloud/auth/kno...
    )
    or oAuthClient(Required scopes:
    https://api.egain.cloud/auth/.de...
    )
    Path
    portalIDstring[ 7 .. 20 ] characters^[a-zA-Z0-9]{2,4}-\d{4,15}$required

    The ID of the portal being accessed.

    A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.

    Example: PROD-1000
    Query
    $langstring

    The language that describes the details of a resource. Resources available in different languages may differ from each other.

  • If lang is not passed, then the portal's default language is used.
  • Enum"en-US""fr-FR""en-GB""es-ES""it-IT""nl-NL""da-DA""sv-SE""pt-PT""fi-FI"
    Example: $lang=en-US
    Headers
    x-egain-activity-idstring[ 4 .. 9 ] characters^[0-9]{4,9}$

    A unique numeric interaction identifier from eGain.

    Example: 59237
    x-ext-integration-idstring<= 40 characters^[\w\W]+$

    The unique numeric identifier for a tenant, used in self-service functionality as well as third-party integrations.

    Note: The x-ext-integration-id and x-ext-interaction-id headers must always be provided together and cannot be supplied independently.

    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.

    Examples:
    3155180e-0c13-43e9-9c38-e9045bcbf176
    00Dbn00000IxGnx
    x-ext-interaction-idstring<= 40 characters^[\w\W]+$

    A unique interaction identifier from other CRM applications.

    Note: The x-ext-integration-id and x-ext-interaction-id headers must always be provided together and cannot be supplied independently.

    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.

    Examples:
    3155180e-0c13-43e9-9c38-e9045bcbf176
    00Dbn00000IxGnx
    Accept-Languagestringrequired

    The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses).

    Enum"en-US""es-ES""fr-FR""it-IT""de-DE""nl-NL""pt-BR""pt-PT""da-DK""ru-RU"
    Example: en-US
    curl -i -X GET \
      'https://api.egain.cloud/knowledge/portalmgr/v4/portals/PROD-1000?%24lang=en-US' \
      -H 'Accept-Language: en-US' \
      -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
      -H 'x-egain-activity-id: 59237' \
      -H 'x-ext-integration-id: string' \
      -H 'x-ext-interaction-id: string'

    Responses

    Success

    Bodyapplication/json
    idstring[ 7 .. 20 ] characters^[a-zA-Z0-9]{2,4}-\d{4,15}$required

    The alphanumeric ID of the portal.

    A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.

    namestring[ 1 .. 255 ] characters^[\w\W]+$required

    The name of the portal.

    departmentIdstring[ 3 .. 10 ] characters^[1-9]\d*$

    The ID of the department.

    Example: "1000001035"
    descriptionstring[ 1 .. 255 ] characters^[\w\W]+$

    The description of the portal.

    defaultContentLanguageIdstring[ 1 .. 10 ] characters^[1-9]\d*$

    The default ID of the language for the portal content.

    Example: "1"
    defaultContentLanguageCodestring[ 1 .. 255 ] characters^[\w\W]+$

    The IETF code of the default language for the portal content.

    createdByobject(createdBy)
    createdDatestring(DateAndTime)[ 19 .. 25 ] characters^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})...

    The date that the portal was created.

    modifiedByobject(modifiedBy)
    modifiedDatestring(DateAndTime)^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})...

    The date on which the portal was last modified.

    isStructuredAuthoringEnabledboolean

    Indicates if Structured Authoring is enabled for the portal.

    enableDraftSearchInPortalboolean

    Indicates if Enable Portal Search for Draft and Staging Articles is enabled for the portal.

    portalSettingsobject(Portal Settings)

    The settings for this portal.

    kbLanguagesobject(KbLanguages)[ 1 .. 16 ] items

    KB languages

    linkobject(Link)

    Defines the relationship between this resource and another object.

    Response
    application/json
    { "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": {}, "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": {} }, "kbLanguages": { "kbLanguage": [] }, "link": { "rel": "self", "href": "/knowledge/portalmgr/v4/portals/PZ-9999?departmentId=999&%24lang=en-US" } }

    Get Tag Categories for Interest for a Portal

    Request

    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.
    Security
    oAuthUser(Required scopes:
    https://api.egain.cloud/auth/kno...
    )
    or oAuthOnBehalfOfUser(Required scopes:
    https://api.egain.cloud/auth/kno...
    )
    or oAuthCustomer(Required scopes:
    https://api.egain.cloud/auth/kno...
    )
    or oAuthOnBehalfOfCustomer(Required scopes:
    https://api.egain.cloud/auth/kno...
    )
    or oAuthAnonymousCustomer(Required scopes:
    https://api.egain.cloud/auth/kno...
    )
    Path
    portalIDstring[ 7 .. 20 ] characters^[a-zA-Z0-9]{2,4}-\d{4,15}$required

    The ID of the portal being accessed.

    A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.

    Example: PROD-1000
    Query
    $langstringrequired

    The language used for fetching the details of a resource. Resources available in different languages may differ from each other.

    Enum"en-US""fr-FR""en-GB""es-ES""it-IT""nl-NL""da-DA""sv-SE""pt-PT""fi-FI"
    Example: $lang=en-US
    Headers
    x-egain-activity-idstring[ 4 .. 9 ] characters^[0-9]{4,9}$

    A unique numeric interaction identifier from eGain.

    Example: 59237
    x-ext-integration-idstring<= 40 characters^[\w\W]+$

    The unique numeric identifier for a tenant, used in self-service functionality as well as third-party integrations.

    Note: The x-ext-integration-id and x-ext-interaction-id headers must always be provided together and cannot be supplied independently.

    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.

    Examples:
    3155180e-0c13-43e9-9c38-e9045bcbf176
    00Dbn00000IxGnx
    x-ext-interaction-idstring<= 40 characters^[\w\W]+$

    A unique interaction identifier from other CRM applications.

    Note: The x-ext-integration-id and x-ext-interaction-id headers must always be provided together and cannot be supplied independently.

    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.

    Examples:
    3155180e-0c13-43e9-9c38-e9045bcbf176
    00Dbn00000IxGnx
    Accept-Languagestringrequired

    The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses).

    Enum"en-US""es-ES""fr-FR""it-IT""de-DE""nl-NL""pt-BR""pt-PT""da-DK""ru-RU"
    Example: en-US
    curl -i -X GET \
      'https://api.egain.cloud/knowledge/portalmgr/v4/portals/PROD-1000/tagcategoriesforinterest?%24lang=en-US' \
      -H 'Accept-Language: en-US' \
      -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
      -H 'x-egain-activity-id: 59237' \
      -H 'x-ext-integration-id: string' \
      -H 'x-ext-interaction-id: string'

    Responses

    Success

    Bodyapplication/json
    tagCategoryArray of objects(components-schemas-TagCategory)[ 0 .. 15 ] items
    Response
    application/json
    { "tagCategory": [ {} ] }

    Suggestion

    Suggestion APIs

    Operations

    Topic

    Topic APIs

    Operations

    User Details

    User Details APIs

    Operations

    User Milestones

    User Milestones APIs

    Operations

    User Profile

    UserProfile APIs

    Operations

    Federated Search Event

    Federated Search Event API

    Operations

    Connectors Search Events

    Connectors Search Event APIs

    Operations

    Attachment

    Attachment Upload API

    Operations

    Export

    Content Export APIs

    Operations