{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Real-Time Knowledge Access","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"real-time-knowledge-access","__idx":0},"children":["Real-Time Knowledge Access"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"overview","__idx":1},"children":["Overview"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Welcome to the Real-Time Knowledge Access product guide. This set of licensed APIs and webhook callbacks enable bulk export of your content within your AI Knowledge Hub, monitoring of export job progress, subscription to asynchronous content update  events, webhook callback notifications, and access to a number of eGain APIs to selectively consume up-to-date content in 3rd party client applications."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"common-use-cases","__idx":2},"children":["Common Use Cases"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["These APIs serve a number of application use cases that are powered by up-to-date eGain Knowledge:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["AI assistants and Copilots"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Custom RAG pipelines"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Offline access from mobile devices"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"workflow","__idx":3},"children":["Workflow"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The end-to-end workflow for using the Real-Time Knowledge Access product is as follows:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create a Client Application"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Setup secure access to eGain Knowledge APIs for your application with Client Credentials Flow."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Guide: ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/developer-portal/get-started/authentication_guide"},"children":["Client Application Creation"]}]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Export Content"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Initiate bulk export of content from the Knowledge Hub, per portal and language, to customer-provided storage, either an SFTP server or an Amazon S3 bucket."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["API Endpoint: ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/apis/v4/knowledge/portalmgr/api-bundled#operation/exportContent"},"children":["Knowledge Export"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Monitor export job progress in real-time."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["API Endpoint: ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/apis/v4/knowledge/portalmgr/api-bundled#operation/exportStatus"},"children":["Export Job Status"]}]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Subscribe to Events (Administration Console)"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["As a Partition Admin, from Integration menu item, select External Apps, create a Registered Application, set up its Authentication, and select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Asynchronous Knowledge Publish"]}," as the Application Type."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Configure the webhook Callback URL for your registred application."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select the content portal(s) and language(s) in scope of Knowledge update events from Portal Selection tab."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["From Subscription tab, select the asynchronous events to subscribe to."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Consume Up-to-Date Content"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Call one or more eGain Knowledge and/or Core APIs as a client application, based on the callbacks received."]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"export","__idx":4},"children":["Export"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The asynchronous Export API breaks up large content into smaller chunks for export to strike a balance between reliable delivery and performance."," ","Each exported JSON file can contain the latest version of up to 250 articles, associated metadata, and attachments."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"file-structure","__idx":5},"children":["File Structure"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"export_{jobid}\n│\n├── manifest.json\n├── portal-{portalId}_language-{languageCode}\n ├── knowledgehub.json\n ├── articles_{part#}.json // For large exports, articles json may be split into more parts greater than 1, this .json will always start at part # 1\n └── articles/\n  ├──── article1_{articleId}\n  │   ├── content_edition_{editionID}.html // If article has editions\n  │   ├── file1.pdf\n  │   └── file2.docx\n  ├──── article2_{articleId}\n  │   ├── content.html // If article does not have editions\n  │   ├── file1.pdf\n  │   └── file2.docx\n  ├──── article3_{articleId}\n  │   ├── content.html\n  │   ├── image1.jpg\n  │   └── image2.gif\n"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"sample-manifest-file","__idx":6},"children":["Sample Manifest File"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n \"jobId\" : \"A1CF57E3-FF10-4C9C-94A1-BF7D2F20835C\",\n  \"exportedDate\" : \"2026-01-20T18:33:56.724Z\",\n  \"types\" : \"all\",\n  \"counts\" : {\n    \"exports\" : 5,\n    \"portal-777700000001096_language-en_us\" : {\n      \"articles\" : 3,\n      \"topics\" : 1,\n      \"portal\" : 1\n    } \n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"article-response-fields","__idx":7},"children":["Article Response Fields"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Export article's metadata field representation is aligned with the response of the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/apis/v4/knowledge/portalmgr/api-bundled#operation/getArticleByIdWithEditions"},"children":["Get Article By ID with Editions"]}," API."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"events","__idx":8},"children":["Events"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can subscribe to the following asynchronous events and setup your webhook callback URL through the eGain Administrative UI."," ","Changes made to resources, add, edit, remove, association, and dissociation, result in triggering different events:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["article_published"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["article_moved"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["article_deleted"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["topic_updated"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["topic_moved (in scope of portal or to another portal)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["topic_copied (in scope of portal or to another portal)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["topic_deleted"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["portal_updated"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"sample-application-use-cases","__idx":9},"children":["Sample Application Use Cases"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"article-content","__idx":10},"children":["Article Content"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Upon receiving notification of an article content or metadata update, or attachment addition, the client application calls one or more of the following V4 Portal Manager APIs to get the latest artifact(s):"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Get Article By ID with Editions"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Get Article Edition Details"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Get Article Attachment By ID"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"article-personalization","__idx":11},"children":["Article Personalization"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Upon receiving notification of an article personalization update, the client application calls one or both of the following V4 Core Personalization Manager APIs to get the latest Access Tags:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Get all Tag Categories"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Get Tag Category by ID"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"topic-hierarchy","__idx":12},"children":["Topic Hierarchy"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Upon receiving notification of a topic update, the client application calls the following V4 Portal Manager API to get the latest topic hierarchy:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Get Topic Breadcrumb for Article"]}]}]},"headings":[{"value":"Real-Time Knowledge Access","id":"real-time-knowledge-access","depth":1},{"value":"Overview","id":"overview","depth":2},{"value":"Common Use Cases","id":"common-use-cases","depth":2},{"value":"Workflow","id":"workflow","depth":2},{"value":"Export","id":"export","depth":2},{"value":"File Structure","id":"file-structure","depth":3},{"value":"Sample Manifest File","id":"sample-manifest-file","depth":3},{"value":"Article Response Fields","id":"article-response-fields","depth":3},{"value":"Events","id":"events","depth":2},{"value":"Sample Application Use Cases","id":"sample-application-use-cases","depth":2},{"value":"Article Content","id":"article-content","depth":3},{"value":"Article Personalization","id":"article-personalization","depth":3},{"value":"Topic Hierarchy","id":"topic-hierarchy","depth":3}],"frontmatter":{"seo":{"title":"Real-Time Knowledge Access"}},"lastModified":"2026-02-28T04:04:41.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/developer-portal/guides/export/real-time-knowledge-access","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}