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

Get Article By ID with Editions

Request

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.
Security
oAuthClient(Required scopes:
https://api.egain.cloud/auth/.de...
)
Path
articleIDstring[ 7 .. 20 ] characters^[a-zA-Z0-9]{2,4}-\d{4,15}$required

The ID of the Article.

An Article ID is composed of a 2-4 letter prefix followed by a dash and 4-15 digits.

Example: PROD-2996
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
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
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
curl -i -X GET \
  'https://api.egain.cloud/knowledge/portalmgr/v4/articles/PROD-2996/witheditions?%24lang=en-US' \
  -H 'Accept-Language: en-US' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'x-ext-integration-id: string'

Responses

Success

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

The ID of the Article.
An Article ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.

additionalInfostring<= 1024 characters^[\w\W]*$

Additional information about the Article. Max 1 KB.

articleMacrostring[ 0 .. 255 ] characters^[^\s<>`,.?;&"'!/+]*$

The name of the macro associated with this Article.

articleTypeobject(ArticleType)

The type of the Article and its attributes.

articleKeywordsstring[ 0 .. 1024 ] characters^[\w\W]*$

A comma-separated list of keywords associated with this Article. 1 KB max size limit.

articleSummarystring<= 1024 characters^[\w\W]*$

A brief summary of the Article, provided as metadata. 1 KB max size limit.

attachmentsArray of objects(Attachment)[ 0 .. 50 ] items

The attachments of the Article.

availabilityDatestring(DateAndTime)[ 20 .. 25 ] characters^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})...

The date on which the Article version is available.

availableEditionsArray of objects(Edition)<= 20 items

The editions of this Article that are available to the user.

averageRatingnumber(double)[ 0 .. 100 ]

The average rating of the Article.

contentstring[ 0 .. 5000000 ] characters^[\w\W]*$

The Article content. The maximum allowed Article content size is 5 MB.

contentTextstring[ 0 .. 5000000 ] characters^[\w\W]*$

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.

createdByobject(createdBy)required
createdBy.​idstring[ 1 .. 8 ] characters^[1-9]\d*$

The ID of the user that created this resource.

createdBy.​userNamestring[ 2 .. 255 ] characters^(?=(.*[a-zA-Z0-9_&@.\-]){2,})[a-zA-Z0-9_&@.\...

The resource creator's username.

createdBy.​firstNamestring[ 1 .. 255 ] characters^(?!\s*$)(?!.*[~`!#$%\^*=\[\];"|<>\/?+\{\}])....

The resource creator's first name.

createdBy.​middleNamestring[ 0 .. 255 ] characters^(?!.*[~`!#$%\^*=\[\];"|<>\/?+\{\}])(\s*\S.*|...

The resource creator's middle name.

createdBy.​lastNamestring[ 1 .. 255 ] characters^(?!\s*$)(?!.*[~`!#$%\^*=\[\];"|<>\/?+\{\}])....

The resource creator's last name.

modifiedByobject(modifiedBy)
ownedByobject(ownedBy)
createdDatestring(DateAndTime)[ 20 .. 25 ] characters^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})...

The date on which the Article was created. The timezone of the date will be in UTC.

customAttributesArray of objects(CustomAttribute)[ 0 .. 15 ] items

A list of custom attributes.

departmentIDstring[ 3 .. 9 ] characters^999$|^[1-9][0-9]{3,8}$

ID of the Article's department.

descriptionstring[ 0 .. 1000 ] characters^[\w\W]*$

A description of the Article. The maximum allowed Article description size is 1 KB.

expirationDatestring(DateAndTime)[ 0 .. 25 ] characters^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3}...

Date of Article expiration if Article expires otherwise empty.

imageURLstring[ 0 .. 2000 ] characters^(https?|ftp):\/\/[^\s/$.?#].[^\s]*$|^$

The URL of an image to be associated with the Article.

includeInGenAIboolean

Indicates whether the Article is included for Generative AI.

isSubscribedboolean

Indicates whether the Article is subscribed for notifications.

modifiedDatestring(DateAndTime)[ 20 .. 25 ] characters^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})...

The date on which the Article was last modified. The timezone of the date will be in UTC.

languageCodestring(languageCode)

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"
linkobject(Link)

Defines the relationship between this resource and another object.

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

The name of the Article.

structuredAuthoringFieldsobject(StructuredAuthoringFields)
articleStatestring= 1 characters

The Article's state.

timesRatedinteger(int64)>= 0

The number of times that this Article has been rated.

relatedQuestionsobject(RelatedQuestions)

Related questions for the article.

versionIdstring[ 7 .. 20 ] characters^[a-zA-Z0-9]{2,4}-\d{4,15}$

The ID of this version of the Article.

workflowobject(Workflow)

The Article's workflow.

personalizationobject(Personalization)

Personalization allows the filtering of search results and controls the access to articles and article editions.

Response
application/json
{ "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": [ {} ], "availabilityDate": "2025-01-28T19:53:58.000Z", "availableEditions": [ {}, {} ], "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": [] }, "personalization": { "filters": {} } }

Get Article Edition Details

Request

Overview

  • This API retrieves the details of an article edition.
Security
oAuthClient(Required scopes:
https://api.egain.cloud/auth/.de...
)
Path
articleIDstring[ 7 .. 20 ] charactersrequired

The ID of the Article. Both numeric and alternate ID formats are supported.

Valid numerical IDs are 15-19 digits long.

Examples:

A readable Article ID.

PROD-2996

A numerical Article ID.

202200000002996
publishViewIdstring[ 7 .. 20 ] characters^[a-zA-Z0-9]{2,4}-\d{4,15}$required

The ID of a Publish View Id.

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

Example: PROD-3020
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
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/articles/PROD-2996/editions/PROD-3020?%24lang=en-US' \
  -H 'Accept-Language: en-US' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Success

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

ID of the edition.

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

Name of the edition.

publishProfileobject(Publish Profile)

This schema contains information about Profile.

contentstring[ 0 .. 5000000 ] characters^[\w\W]*$

The raw content of the article. The maximum allowed Article content size is 5 MB.

contentTextstring[ 0 .. 5000000 ] characters^[\w\W]*$

Plain text version of the content. The maximum allowed Article content size is 5 MB.

accessTagsobject(accessTags)
linkobject(Link)

Defines the relationship between this resource and another object.

Response
application/json
{ "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": [] }, "link": { "rel": "self", "href": "/knowledge/portalmgr/v4/articles/PROD-2996/editions/PROD-3020?%24lang=en-US" } }

Get All Article Types in a Department

Request

Overview

The Get All Article Types in a Department API retrieves a list of all Article Types configured for a specific 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}$required

The ID of the department.

Example: departmentID=999
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/articletypes?departmentID=999' \
  -H 'Accept-Language: en-US' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Success

Bodyapplication/jsonArray [
articleCategoryIdinteger(int32)[ 0 .. 7 ]

Specifies the article category ID.

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

Indicates the article type name.

useStructuredAuthoringboolean

Indicates whether structured authoring is enabled for this article type, requiring content to be created using predefined fields

articleTypeIdstring[ 15 .. 20 ] characters^[0-9]+$

The ID of the Article Type.

Example: "932100000002020"
imageURLstring[ 1 .. 2000 ] characters^(?:https?:\/\/|\/\/|\/|\.\.?\/|[a-zA-Z0-9])[...

The URL of an image to be associated with the Article Type

descriptionstring[ 0 .. 2000 ] characters^[\w\W]*$

Description of Article Type

isSearchableboolean

Indicates whether articles of this type are included in portal search results

isBrowsableboolean

Indicates whether articles of this type are displayed in portal browsing areas such as topics and lists

]
Response
application/json
[ { "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 } ]

Article Lists

Article List APIs

Operations

Bookmark

Bookmark APIs

Operations

Guided Help

Guided Help APIs

Operations

Portal

Portal API

Operations

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