# Knowledge Content Manager APIs

### Overview
The Knowledge Content Manager API provides comprehensive capabilities for importing, validating, and managing knowledge content within the eGain platform. This API enables organizations to efficiently bulk-import content from external sources, validate content before import, and monitor import operations in real-time.

### Key Features
- **Knowledge Authoring**: Create and edit articles, folders, and topics; check out, save, and publish articles
- **Topic and folder structure**: Organize content in folder hierarchies and topics
- **Bulk Content Import**: Import large volumes of content from Amazon S3 buckets
- **Content Validation**: Pre-import validation to ensure content quality and compliance
- **Job Management**: Track and manage import operations with detailed status monitoring
- **Scheduling**: Schedule imports for off-peak hours to minimize system impact
- **Real-time Monitoring**: Monitor import progress and access detailed logs

### Use Cases
- Programmatic edit and publish: check out an article, save changes, and publish through API calls
- Knowledge structure authoring: build folder trees, topics, and article placement
- Migrating content from legacy knowledge management systems
- Regular content updates from external content providers
- Content validation before production deployment

### License Requirements
Logged in user must have Knowledge + AI license.

### Support
For technical support and questions, contact the eGain support team.



## Servers

Production Server
```
https://api-qe1.ezdev.net/knowledge/contentmgr/v4
```

## Security

### oAuthUser

[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Type: oauth2
Authorization URL: https://login-qe1.ezdev.net/c19f8e1f-0bba-45c2-a8f7-e33ce3d55ac8/B2C_1A_User_V3_SignIn_OIDC/oauth2/v2.0/authorize?domain_hint=eg5561ain.ezdev.net
Token URL: https://login-qe1.ezdev.net/c19f8e1f-0bba-45c2-a8f7-e33ce3d55ac8/B2C_1A_User_V3_SignIn_OIDC/oauth2/v2.0/token
Scopes:
- `https://api-qe1.ezdev.net/auth/knowledge.contentmgr.read`: Allows read access to the eGain Knowledge Content Manager APIs.
- `https://api-qe1.ezdev.net/auth/knowledge.contentmgr.manage`: Allows full access to the eGain Knowledge Content Manager APIs.

### oAuthCustomer

Authenticate as a customer using code flow with PKCE.

Type: oauth2
Authorization URL: https://login-qe1.ezdev.net/c19f8e1f-0bba-45c2-a8f7-e33ce3d55ac8/B2C_1A_Customer_V3_SignUpOrSignIn_OIDC/oauth2/v2.0/authorize?domain_hint=eg5561ain.ezdev.net
Token URL: https://login-qe1.ezdev.net/c19f8e1f-0bba-45c2-a8f7-e33ce3d55ac8/B2C_1A_Customer_V3_SignUpOrSignIn_OIDC/oauth2/v2.0/token
Scopes:
- `https://api-qe1.ezdev.net/auth/knowledge.contentmgr.read`: Allows read access to the eGain Knowledge Content Manager APIs.
- `https://api-qe1.ezdev.net/auth/knowledge.contentmgr.manage`: Allows full access to the eGain Knowledge Content Manager APIs.

### oAuthAnonymousCustomer

Authenticate as an anonymous customer.

Type: oauth2
Token URL: https://login-qe1.ezdev.net/internal/oauth2/v2.0/anonymous/token?user_type=customer&domain_hint=eg5561ain.ezdev.net
Scopes:
- `https://api-qe1.ezdev.net/auth/knowledge.contentmgr.read`: Allows read access to the eGain Knowledge Content Manager APIs.
- `https://api-qe1.ezdev.net/auth/knowledge.contentmgr.manage`: Allows full access to the eGain Knowledge Content Manager APIs.

### oAuthClient

Authenticate as a client (Server to Server).

Type: oauth2
Token URL: https://login-qe1.ezdev.net/global/c19f8e1f-0bba-45c2-a8f7-e33ce3d55ac8/oauth2/v2.0/token
Scopes:
- `https://api-qe1.ezdev.net/auth/.default`: Default scope

### oAuthOnBehalfOfUser

Authenticate as a client application (server) acting on behalf of a user.

Type: oauth2
Token URL: https://api-qe1.ezdev.net/core/authmgr/v4/oauth2/v2.0/onbehalfof/token?user_type=user&tenantId=TMPROD98342341
Scopes:
- `https://api-qe1.ezdev.net/auth/knowledge.contentmgr.onbehalfof.read`: Allows read access to the eGain Knowledge Content Manager APIs on behalf of a user.
- `https://api-qe1.ezdev.net/auth/knowledge.contentmgr.onbehalfof.manage`: Allows full access to the eGain Knowledge Content Manager APIs on behalf of a user.

## Download OpenAPI description

 - [Knowledge Content Manager APIs](https://developer-qe.ezdev.net/_bundle/apis/v4/knowledge/contentmgr/api-bundled.yaml)

## Content Import

 - [POST /import/content/{job_id}/pause](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/content-import/pauseimportjob.md): # Pause Import Job Temporarily pauses a job that is currently **In Progress**. The job's state is saved and can be resumed within one week, allowing system resources to be freed without losing progres
 - [POST /import/content/{job_id}/resume](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/content-import/resumeimportjob.md): # Resume Import Job Resumes a job that is currently in a **In-Progress** state with paused sub-status. Processing will continue from where it left off. ## Resuming Behavior - **Paused Jobs**: The job
 - [POST /import/content](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/content-import/createimportjob.md): # Import Content ## Overview This API initiates a bulk content import operation from Data Sources. It creates an asynchronous import job that processes content in the background, allowing you to impor
 - [GET /import/config/hooks](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/content-import/getvalidationhooks.md): Retrieve all validation hooks configured for the current environment. Only the current version of each hook is returned.
 - [POST /import/config/hooks](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/content-import/createvalidationhook.md): # Create Validation Hook ## Overview This API allows you to create custom JavaScript-based validation hooks that execute during the bulk content ingestion process. Validation hooks enable organization
 - [GET /import/config/hooks/{hookID}/version](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/content-import/getvalidationhookversions.md): Retrieve a history of all versions uploaded for a specific validation hook.
 - [POST /import/config/hooks/{hookID}/version](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/content-import/createvalidationhookversion.md): Upload a new version of the JavaScript logic for an existing hook.
 - [GET /import/config/hooks/{hookID}/version/{versionID}](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/content-import/getvalidationhookversion.md): Get details and content URL for a specific version of a hook.
 - [GET /import/content/{job_id}/status](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/content-import/getimportstatus.md): # Get Import Job Status ## Overview This API provides real-time status information for content import and validation operations. Use this endpoint to monitor job progress, check completion status, and
 - [POST /import/content/validate](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/content-import/createimportvalidationjob.md): # Validate Import Content ## Overview This API enables users to validate content structure, format, and compliance before importing it into the production knowledge base. Validation is a non-destructi
 - [POST /import/content/{job_id}/cancel](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/content-import/cancelimport.md): # Cancel Import or Validation Job ## Overview This API allows users to cancel import or validation operations that are currently in progress or scheduled for future execution. Cancellation is immediat
## Articles

 - [GET /article/{articleID}](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/articles/getarticlewithcontent.md): ## Overview This API retrieves a single article or an article suggestion by its ID in a single language. The response always includes the article summary representation; additional article properties
 - [GET /articles/{articleIDs}](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/articles/getarticlesbyids.md): ## Overview This API retrieves one or more articles or article suggestions by their IDs in a single language. The response always includes the article summary representation for each returned article;
 - [PATCH /articles/{articleIDs}](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/articles/editarticle.md): ## Overview This API allows a user to edit details of a single article. To specify whether you are editing, checking in, or publishing the article, use the required `operation` query parameter. ### Re
 - [PUT /articles/{articleIDs}/checkout](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/articles/checkoutarticle.md): ## Overview This API allows a user to check out an article. This creates a new version of the article in the requested knowledge base language, in a checked-out state, and locks it to the requesting u
 - [POST /articles](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/articles/createarticle.md): ## Overview This API allows a user to create an article of a specified language in a folder. Newly created articles are created in the checked-out (locked) state. This operation is not for suggestions
## Folders

 - [POST /folders](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/folders/createfolder.md): # Overview This API creates a new folder either at root or under a given parent folder. The folder is created for all knowledge base languages, so no language input is required. ## Permissions The use
 - [GET /folders](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/folders/getfolders.md): # Overview This API allows user to get the folders of a department. By default only root-level folders are returned; use `$level` to retrieve deeper levels of the folder hierarchy. ## Permissions The
 - [PATCH /folders/{folderIDs}](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/folders/editfolder.md): # Overview This API edits a single folder. ## Permissions The user must have either the `Author` or `Knowledge Base Manager` role, or a custom role with `Edit Folder` action. Additionally: * **'Edit F
 - [GET /folders/{folderIDs}](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/folders/getfoldersbyids.md): # Overview This GET API service allows users to read one or more folders. All folder IDs provided in the request must belong to the same department. ## Permissions The user must have either the `Autho
 - [DELETE /folders/{folderIDs}](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/folders/deletefolders.md): # Overview This DELETE API allows user to delete one or more folders. All folder IDs provided in the request must belong to the same department. ## Permissions The user must have either the `Author` o
## Topics

 - [POST /topics](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/topics/createtopic.md): # Overview This API creates a new topic either at the top level of a department or under a given parent topic. The topic is created for all enabled knowledge base languages, so no language input is re
 - [GET /topics](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/topics/gettopics.md): # Overview This API retrieves topics. By default only top-level topics are returned; use `$level` to retrieve deeper levels of the topic hierarchy. Topics may be created manually or generated automati
 - [PATCH /topics/{topicIDs}](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/topics/edittopic.md): # Overview This API edits a single topic. For auto-generated topics ("Topics From Folders"), you may only edit `translateContent`, `imageUrl`, and `articleForTopicHomeContent` (and the top/bottom orde
 - [GET /topics/{topicIDs}](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/topics/gettopicsbyids.md): # Overview This GET API service allows users to read one or more topics. All topic IDs provided in the request must belong to the same department. ## Permissions * The user must have either the `Autho
 - [DELETE /topics/{topicIDs}](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/topics/deletetopics.md): # Overview This DELETE API allows user to delete one or more topics. All topic IDs provided in the request must belong to the same department. The portal and precondition rules below (`deleteIfUsedInP
 - [GET /topics/{topicIDs}/articleorder](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/topics/getarticleorder.md): # Overview This API retrieves the "top" and "bottom" order of articles in a specified topic. It returns two ordered lists of articles: those pinned to the top of the topic's list and those pinned to t
 - [PATCH /topics/{topicIDs}/articleorder](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/topics/editarticleorder.md): # Overview This API sets the order of articles in a topic by pinning articles to the top or the bottom of the topic's list. It does not add or remove article associations; it only rearranges existing
## Prompt

 - [GET /prompts/prompttemplates](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/prompt/getprompttemplates.md): Retrieve prompt templates filtered by department and language.
 - [GET /prompts/prompttemplates/{promptID}](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled/prompt/getprompttemplatebyid.md): Retrieve a prompt template filtered by department and language.
