# llms.txt
## Table of contents
- ['Try It' Sandbox](https://developer-qe.ezdev.net/tryitsandbox.md)
- [OAuth Application Permissions Required for eGain APIs](https://developer-qe.ezdev.net/oauth2_client_app_permissions.md)
- [OAuth Scopes for eGain APIs](https://developer-qe.ezdev.net/oauth2_scopes.md)
- [Advisor Desktop Widget APIs](https://developer-qe.ezdev.net/developer-portal/advisordesktopwidgetapis.md)
- [Offers APIs](https://developer-qe.ezdev.net/developer-portal/offersclientapis.md)
- [Advisor Desktop Widget Event APIs](https://developer-qe.ezdev.net/developer-portal/advisordesktopwidgeteventapis.md)
- [Enable analytics](https://developer-qe.ezdev.net/developer-portal/analytics.md)
- [Colors](https://developer-qe.ezdev.net/developer-portal/colors.md)
- [Frequently asked questions](https://developer-qe.ezdev.net/faq.md)
- [eGain Developer Portal](https://developer-qe.ezdev.net/index.html.md)
- [Customizing Portal](https://developer-qe.ezdev.net/developer-portal/custom-portal.md)
- [Contact us](https://developer-qe.ezdev.net/contact.md)
- [Folder structure training](https://developer-qe.ezdev.net/folders.md)
- [Elements required in request body](https://developer-qe.ezdev.net/mergecontact.md)
- [Elements required in request body](https://developer-qe.ezdev.net/developer-portal/createcontact.md)
- [Elements required in request body](https://developer-qe.ezdev.net/developer-portal/createcontactpoint.md)
- [Elements required in request body](https://developer-qe.ezdev.net/developer-portal/createcontactpointcontext.md)
- [Elements required in request body](https://developer-qe.ezdev.net/developer-portal/createcontactpointprofile.md)
- [API Overview](https://developer-qe.ezdev.net/developer-portal/api-overview.md)
- [customAttributeValidation.md](https://developer-qe.ezdev.net/developer-portal/customattributevalidation.md)
- [Elements required in request body](https://developer-qe.ezdev.net/developer-portal/editcontact.md)
- [Optional elements allowed in request body](https://developer-qe.ezdev.net/developer-portal/editcontactcontext.md)
- [Elements required in request body](https://developer-qe.ezdev.net/developer-portal/editcontactpoint.md)
- [Elements required in request body](https://developer-qe.ezdev.net/developer-portal/editcontactpointcontext.md)
- [Email Address](https://developer-qe.ezdev.net/developer-portal/emailaddressvalidation.md)
- [Getting started with Redocly Portal](https://developer-qe.ezdev.net/developer-portal/getting-started.md)
- [Developer Guide for eGain Composer Platform](https://developer-qe.ezdev.net/developer-portal.md)
- [Knowledge Console UI Hooks](https://developer-qe.ezdev.net/developer-portal/knowledgeuihookapis.md)
- [Change your logo](https://developer-qe.ezdev.net/developer-portal/logo.md)
- [GitHub-flavored markdown example](https://developer-qe.ezdev.net/developer-portal/markdown.md)
- [Elements required in request body](https://developer-qe.ezdev.net/developer-portal/mergecontact.md)
- [Mermaid diagrams](https://developer-qe.ezdev.net/developer-portal/mermaid.md)
- [Metadata](https://developer-qe.ezdev.net/developer-portal/metadata.md)
- [msgexamples.md](https://developer-qe.ezdev.net/developer-portal/msgexamples.md)
- [msgtable.md](https://developer-qe.ezdev.net/developer-portal/msgtable.md)
- [Top nav and footers customization](https://developer-qe.ezdev.net/developer-portal/nav-footer.md)
- [OpenAPI spec definitions](https://developer-qe.ezdev.net/developer-portal/oas-definitions.md)
- [Organizing files](https://developer-qe.ezdev.net/developer-portal/organizing-files.md)
- [Page table of contents](https://developer-qe.ezdev.net/developer-portal/page-table-of-contents.md)
- [H1](https://developer-qe.ezdev.net/developer-portal/plain.md)
- [Usage Plans & Rate Limits](https://developer-qe.ezdev.net/developer-portal/rate-limits.md)
- [Integrating API reference docs into your developer portal](https://developer-qe.ezdev.net/developer-portal/redoc-integration.md)
- [Search](https://developer-qe.ezdev.net/developer-portal/search.md)
- [Install the developer portal](https://developer-qe.ezdev.net/developer-portal/setup.md)
- [Alternative sidebars](https://developer-qe.ezdev.net/developer-portal/sidebar-alternative.md)
- [Sidebar training exercises](https://developer-qe.ezdev.net/developer-portal/sidebar-nav.md)
- [Typography](https://developer-qe.ezdev.net/developer-portal/typography.md)
- [Upgrade to a different version](https://developer-qe.ezdev.net/developer-portal/upgrade.md)
- [API Authentication](https://developer-qe.ezdev.net/developer-portal/get-started/authentication_guide.md)
- [knowledge_graph.md](https://developer-qe.ezdev.net/developer-portal/get-started/knowledge_graph.md)
- [TypeScript AI Agent SDK](https://developer-qe.ezdev.net/developer-portal/sdks/ai-agent-sdk-overview.md)
- [Quickstart for eGain API](https://developer-qe.ezdev.net/developer-portal/get-started/quickstart.md)
- [SLA](https://developer-qe.ezdev.net/openapi/sla/helloegain-demomgr-v3-sla.md)
- [Answer API Guide](https://developer-qe.ezdev.net/developer-portal/guides/answer/answer.md)
- [Certified Answers](https://developer-qe.ezdev.net/developer-portal/guides/answer/answers_certified.md)
- [Filtering Capabilities](https://developer-qe.ezdev.net/developer-portal/guides/answer/answers_filtering.md)
- [Generative Answers](https://developer-qe.ezdev.net/developer-portal/guides/answer/answers_generative.md)
- [Answers API Overview](https://developer-qe.ezdev.net/developer-portal/guides/answer/answers_overview.md)
- [doc.md](https://developer-qe.ezdev.net/developer-portal/guides/answer/doc.md)
- [Create a Client Application](https://developer-qe.ezdev.net/developer-portal/guides/authentication/app-registration.md)
- [API Authentication Overview](https://developer-qe.ezdev.net/developer-portal/guides/authentication/authentication_overview.md)
- [Authorization Code Flow (for Web Applications)](https://developer-qe.ezdev.net/developer-portal/guides/authentication/auth-code-flow.md)
- [Client Credentials Flow (for Server-to-Server and Anonymous Customers)](https://developer-qe.ezdev.net/developer-portal/guides/authentication/client-credentials-flow.md)
- [Choose the Right Authentication Flow](https://developer-qe.ezdev.net/developer-portal/guides/authentication/flow_overview.md)
- [Making Authenticated API Requests](https://developer-qe.ezdev.net/developer-portal/guides/authentication/making-requests.md)
- [Find Your API Endpoints (Metadata)](https://developer-qe.ezdev.net/developer-portal/guides/authentication/metadata.md)
- [On-Behalf-Of Flow](https://developer-qe.ezdev.net/developer-portal/guides/authentication/on-behalf-of-flow.md)
- [Authorization Code Flow with PKCE (for SPAs)](https://developer-qe.ezdev.net/developer-portal/guides/authentication/pkce-flow.md)
- [Token Exchange Flow (External IDP Integration)](https://developer-qe.ezdev.net/developer-portal/guides/authentication/token-exchange-flow.md)
- [Real-Time Knowledge Access](https://developer-qe.ezdev.net/developer-portal/guides/export/real-time-knowledge-access.md)
- [Article Import](https://developer-qe.ezdev.net/developer-portal/guides/ingestion/article-import-guide.md)
- [Data Import Format](https://developer-qe.ezdev.net/developer-portal/guides/ingestion/data-import-format-guide.md)
- [Folder Import](https://developer-qe.ezdev.net/developer-portal/guides/ingestion/folder-import-guide.md)
- [Checking the Status of an Import or Validation Job](https://developer-qe.ezdev.net/developer-portal/guides/ingestion/ingestion-get-status-job.md)
- [Ingestion API Overview](https://developer-qe.ezdev.net/developer-portal/guides/ingestion/ingestion-overview.md)
- [Validating Content Before Ingestion](https://developer-qe.ezdev.net/developer-portal/guides/ingestion/ingestion-validation-job.md)
- [Integrating Folder, Topic, and Portal Structures into knowledgehub.json](https://developer-qe.ezdev.net/developer-portal/guides/ingestion/knowledge-import-guide.md)
- [Portal Import](https://developer-qe.ezdev.net/developer-portal/guides/ingestion/portal-import-guide.md)
- [Starting an Ingestion Job: Amazon S3 Bucket Datasource](https://developer-qe.ezdev.net/developer-portal/guides/ingestion/s3-ingestion-job.md)
- [Starting an Ingestion Job: Shared File Path Datasource](https://developer-qe.ezdev.net/developer-portal/guides/ingestion/shared-path-ingestion-job.md)
- [Topic Import](https://developer-qe.ezdev.net/developer-portal/guides/ingestion/topic-import-guide.md)
- [Custom Validation Hook Context](https://developer-qe.ezdev.net/developer-portal/guides/ingestion/validation-hook-guide.md)
- [Knowledge Hub Portal Manager API Overview](https://developer-qe.ezdev.net/developer-portal/guides/knowledge/knowledge.md)
- [Connect Claude to the eGain MCP](https://developer-qe.ezdev.net/developer-portal/guides/mcp/claude-setup.md)
- [Model Context Protocol (MCP)](https://developer-qe.ezdev.net/developer-portal/guides/mcp/mcp.md)
- [Troubleshooting](https://developer-qe.ezdev.net/developer-portal/guides/mcp/troubleshooting.md)
- [Certified Answers](https://developer-qe.ezdev.net/developer-portal/guides/retrieve/retrieve_certified.md)
- [Chunk Response](https://developer-qe.ezdev.net/developer-portal/guides/retrieve/retrieve_chunk_retrieval.md)
- [Filtering Capabilities](https://developer-qe.ezdev.net/developer-portal/guides/retrieve/retrieve_filtering.md)
- [Retrieve API Overview](https://developer-qe.ezdev.net/developer-portal/guides/retrieve/retrieve_overview.md)
- [Filtering Capabilities](https://developer-qe.ezdev.net/developer-portal/guides/search/search_filtering.md)
- [Search API Overview](https://developer-qe.ezdev.net/developer-portal/guides/search/search_overview.md)
- [Response Customization](https://developer-qe.ezdev.net/developer-portal/guides/search/search_response_customization.md)
- [Java SDK](https://developer-qe.ezdev.net/developer-portal/sdks/java/sdk.md)
- [Python SDK](https://developer-qe.ezdev.net/developer-portal/sdks/python/sdk.md)
- [Typescript SDK](https://developer-qe.ezdev.net/developer-portal/sdks/typescript/sdk.md)
- [Conversation Manager APIs](https://developer-qe.ezdev.net/apis/v3/conversation/conversationmgr/api-bundled.md): This section provides the requisite APIs needed to create Conversation Manager accounts and to configure conversation workflows. To create the Conversation Manager acccount, use the Conversation APIs in this order when setting up a complete eGain application: * Authentication * Client Application * Participant * Channel * Orchestration * Account After the account is created you can use the following APIs to send / receive messages. * Conversation * Asset Note: You can configure your system to use third party Bots and third party Channels. The API instructions provided here assume you are using eGain's application setup.
- [Chat APIs](https://developer-qe.ezdev.net/apis/v3/conversation/messagerouter/api-bundled.md): # API's for Live Chat.
- [Notification Manager APIs](https://developer-qe.ezdev.net/apis/v3/conversation/notificationmgr/api-bundled.md): Notification Manager Public APIs Setup and manage proactive notifications. Use predefined templates * Send messages using various channels * Track delivery of notifications
- [Secure Messaging Manager APIs](https://developer-qe.ezdev.net/apis/v3/conversation/securemessagingmgr/api-bundled.md): Secure Messaging Manager APIs
- [AI Services](https://developer-qe.ezdev.net/apis/v3/core/aiservices/api-bundled.md): Provides AutoComplete and Instant Answers functionality.
- [Core Auth Manager APIs](https://developer-qe.ezdev.net/apis/v3/core/authmgr/api-bundled.md): ## Authentication Authentication is required. Refer below table, as authentication varies based on actor. | Actor | Authentication | | ------- | --------| | Agent / Customer | The user must be logged in to call this API.|
- [Core Case Manager APIs](https://developer-qe.ezdev.net/apis/v3/core/casemgr/api-bundled.md): ## Authentication Authentication is required. Refer below table, as authentication varies based on actor. | Actor | Authentication | | ------- | --------| | Global / Department User | The user must be logged in to call this API.| | Client Application | Only authenticated client applications of type 'API' are allowed to access this API.| | Customer | The customer must be logged in to call this API.| ### Licenses * Any license that can be assigned to a user in the application is a user license. Following user licenses are available in the product: * eGain Platform * eGain Knowledge + AI * eGain MailPlus * eGain ChatPlus * eGain Advisor Desktop * eGain CallTrackPlus * eGain CobrowsePlus Refer below table, as licenses varies based on actor. | Actor | Licenses | | ------| ---------| | Global User | Any of the user licenses must be installed in the application.| | Department User | The logged in user must have any of the user licenses.| | Client Application / Customer | Licenses are not required.| ## Activities visible to a customer If actor is customer then following types of activities are visible to customer: * Email * All emails sent by the customer. * All emails sent to the customer. These emails is visible to the customer only after they have been sent out by the application. * Chat * Chat transcript is shown. * Calltrack * Activity content and attachments are not shown. * Social * All social interactions with the customer. ## Supported Activity status and substatus values Following out of the box activity status and substatus values are supported in eGain application: | Status Value | Substatus Value | Description | | ------------ | --------------- | ----------- | | open | | Activities that are not in "completed" status. | | in_workflow | | Activities picked up for processing by a workflow. | | | ready_for_inbound_workflow | Activities ready to be processed by an inbound workflow. | | | ready_for_outbound_workflow | Activities ready to be processed by an outbound workflow. | | | ready_for_general_workflow | Activities ready to be processed by a general workflow. | | | ready_for_transfer_workflow | Activities ready to be processed by a transfer workflow. | | | error | Activities that could not be processed by a workflow and are in error state. | | awaiting_assignment | | Activities in a queue that are awaiting assignment to user. | | | ready_for_assignment | Activities ready for assignment. | | | ucce_awaiting_assignment | Activities awaiting assignment by Cisco Unified Contact Center Enterprise. | | assigned | | Activities assigned to a user. | | | new | Activities that are assigned to the user but the user has not started to work on them. | | | in_progress | Activities being worked on by the user. | | in_precompletion | | Activities being dispatched by the system. | | completed | | Completed activities. | | done | Activities completed successfully. | | | abandoned_chat | Chat activities abandoned by a customer. | ## Range query parameter representation Range query parameters allow to specify a start and end value between which the parameter value lies.
For date query parameter values, following range format is supported:__[start,end]__ * "start" and "end" represent range start date and range end date respectively. * The range values have to be specified within square brackets. * The values specified in the range are inclusive.
For example [2015-12-23T08:39:16.000Z,2015-12-28T08:39:16.000Z] will fetch all records starting from 2015-12-23T08:39:16.000Z to 2015-12-28T08:39:16.000Z date. * At least one of "start" or "end" must be provided. * If only "start" is provided, the application gets all matching records "on-or-after" start date.
For example [2015-12-23T08:39:16.000Z,] will fetch all records on or after 2015-12-23T08:39:16.000Z date. Note that comma is required after start date. * If only "end" is provided, the application gets all matching records "on-or-before" end date.
For example [,2015-12-28T08:39:16.000Z] will fetch all records on or before 2015-12-28T08:39:16.000Z date. Note that comma is required before end date.
- [Core Customer Manager APIs](https://developer-qe.ezdev.net/apis/v3/core/customermgr/api-bundled.md): ## Authentication Authentication is required. Refer below table, as authentication varies based on actor. | Actor | Authentication | | ------- | --------| | Global / Department User | The user must be logged in to call this API.| | Client Application | Only authenticated client applications of type 'API' are allowed to access this API.| | Customer | The customer must be logged in to call this API.| ### Licenses * Any license that can be assigned to a user in the application is a user license. Following user licenses are available in the product: * eGain Platform * eGain Knowledge + AI * eGain MailPlus * eGain ChatPlus * eGain Advisor Desktop * eGain CallTrackPlus * eGain CobrowsePlus Refer below table, as licenses varies based on actor. | Actor | Licenses | | ------| ---------| | Global User | Any of the user licenses must be installed in the application.| | Department User | The logged in user must have any of the user licenses.| | Client Application / Customer | Licenses are not required.| ## Customer grants A grant is an authorization given to a customer on another customer. If Customer A has grants on Customer B, then Customer A can:
1. View the activities, attachments and cases of customer. B
2. Create new emails on behalf of customer B.
3. Respond to emails on behalf of customer B.
In terms of APIs, Customer A can execute the following APIs on behalf of Customer B
1. Activity:
Get activity by ID
Search for activities
Create incoming email activity
Create an email response to an activity
2. Activity attachments:
Get details for all attachments of an activity
Get attachment details
3. Case:
Get case by ID
Search for cases
Number of grants:
A customer can have grants on at most 75 customers. Similarly, no more than 75 customers can have grants on a customer.
- [Core Department Manager APIs](https://developer-qe.ezdev.net/apis/v3/core/departmentmgr/api-bundled.md): ## Authentication Authentication is required. Refer below table, as authentication varies based on actor. | Actor | Authentication | | ------- | --------| | Global / Department User | The user must be logged in to call this API.| | Client Application | Only authenticated client applications of type 'API' are allowed to access this API.| | Customer | The customer must be logged in to call this API.| ### Licenses * Any license that can be assigned to a user in the application is a user license. Following user licenses are available in the product: * eGain Platform * eGain Knowledge + AI * eGain MailPlus * eGain ChatPlus * eGain Advisor Desktop * eGain CallTrackPlus * eGain CobrowsePlus Refer below table, as licenses varies based on actor. | Actor | Licenses | | ------| ---------| | Global User | Any of the user licenses must be installed in the application.| | Department User | The logged in user must have any of the user licenses.|
- [Subscription Events](https://developer-qe.ezdev.net/apis/v3/core/eventschannel/api-bundled.md): Following events are available for the client applications to subscribe to. * Try it Out does not function * The events subscription configuration is done through eGain Admin console not with API's currently
- [Core File manager APIs](https://developer-qe.ezdev.net/apis/v3/core/filemgr/api-bundled.md): ## Authentication Authentication is required. Refer below table, as authentication varies based on actor. | Actor | Authentication | | ------- | --------| | Global / Department User | The user must be logged in to call this API.| | Client Application | Only authenticated client applications of type 'API' are allowed to access this API.| | Customer | The customer must be logged in to call this API.| ### Licenses * Any license that can be assigned to a user in the application is a user license. Following user licenses are available in the product: * eGain Platform * eGain Knowledge + AI * eGain MailPlus * eGain ChatPlus * eGain Advisor Desktop * eGain CallTrackPlus * eGain CobrowsePlus Refer below table, as licenses varies based on actor. | Actor | Licenses | | ------| ---------| | Global User | Any of the user licenses must be installed in the application.| | Department User | The logged in user must have any of the user licenses.|
- [Core Information Manager APIs](https://developer-qe.ezdev.net/apis/v3/core/infomgr/api-bundled.md): ## Authentication Authentication is required. Refer below table, as authentication varies based on actor. | Actor | Authentication | | ------- | --------| | Global / Department User | The user must be logged in to call this API.| | Client Application | Only authenticated client applications of type 'API' are allowed to access this API.| | Customer | The customer must be logged in to call this API.| ### Licenses * Any license that can be assigned to a user in the application is a user license. Following user licenses are available in the product: * eGain Platform * eGain Knowledge + AI * eGain MailPlus * eGain ChatPlus * eGain Advisor Desktop * eGain CallTrackPlus * eGain CobrowsePlus Refer below table, as licenses varies based on actor. | Actor | Licenses | | ------| ---------| | Global User | Any of the user licenses must be installed in the application.| | Department User | The logged in user must have any of the user licenses.|
- [Micro Services Manager APIs](https://developer-qe.ezdev.net/apis/v3/core/microservicesmgr/api-bundled.md): ## Overview This section provides the APIs for following services. * URL Shortening services * Phone lookup * Timezone lookup * Zipcode lookup
- [Core User Manager APIs](https://developer-qe.ezdev.net/apis/v3/core/usermgr/api-bundled.md): ## Authentication Authentication is required. Refer below table, as authentication varies based on actor. | Actor | Authentication | | ------- | --------| | Global / Department User | The user must be logged in to call this API.| | Client Application | Only authenticated client applications of type 'API' are allowed to access this API.| ## Licenses The logged in user must have the following licenses: * If logged in user is a department user, the user must have any of the User Licenses. * If logged in user is a global user, any of the User Licenses must be installed.
- [Core Version Manager APIs](https://developer-qe.ezdev.net/apis/v3/core/versionmgr/api-bundled.md)
- [Core Work Assignment Manager APIs](https://developer-qe.ezdev.net/apis/v3/core/workassignmentmgr/api-bundled.md): ## Authentication Authentication is required. Refer below table, as authentication varies based on actor. | Actor | Authentication | | ------- | --------| | Global / Department User | The user must be logged in to call this API.| | Client Application | Only authenticated client applications of type 'API' are allowed to access this API.| ### Licenses * Any license that can be assigned to a user in the application is a user license. Following user licenses are available in the product: * eGain Platform * eGain Knowledge + AI * eGain MailPlus * eGain ChatPlus * eGain Advisor Desktop * eGain CallTrackPlus * eGain CobrowsePlus Refer below table, as licenses varies based on actor. | Actor | Licenses | | ------| ---------| | Global User | Any of the user licenses must be installed in the application.| | Department User | The logged in user must have any of the user licenses.| | Client Application | Licenses are not required.|
- [Knowledge Portal Manager APIs](https://developer-qe.ezdev.net/apis/v3/knowledge/portalmgr/api-bundled.md): ### License Following licenses are required to execute the Knowledge Access APIs. * If user is an agent then Knowledge + AI license is required. * If user is a customer, Selfservice and Advanced Selfservice licenses must be available.
- [AI Services](https://developer-qe.ezdev.net/apis/v4/core/aiservices/api-bundled.md)
- [Core Connector Manager APIs](https://developer-qe.ezdev.net/apis/v4/core/connectormgr/api-bundled.md): Management API for the eGain Integration Framework. Covers two product lines: **AI Agent** (real-time channel/action/handoff connectors) and **Knowledge Sync** (batch ingestion into eGain Knowledge Hub). Authentication: eGain V4 JWT Bearer token in the `Authorization` header. Tenant context is derived from the token — not from URL path parameters. All routes are served under the `/core/connectormgr/v4` base path. ## Error body shapes Four different bodies are in play on this surface, and a client must handle all four. Route handlers use `ErrorEnvelope` (`{ errors: [...] }`), but the three layers that can answer before a handler runs each reply in their own shape: - **401 / 403 — `AuthErrorBody`.** The JWT middleware and the scope guard reply with the legacy flat `{ error, code }`, never `ErrorEnvelope`. A JWKS-metadata outage surfaces from the same layer as `503 { error, code: 'SERVICE_UNAVAILABLE' }` with `Retry-After: 30`; it is not enumerated per operation because, like a load-balancer 5xx, it is a dependency outage rather than a route outcome. - **429 — `RateLimitErrorBody`.** `@fastify/rate-limit`'s own `{ statusCode, error, message }`, with no `code` field. Limits are per (token principal, tenant): 120 requests / 60 s by default (`PUBLISHED_RATE_LIMIT_MAX`, `PUBLISHED_RATE_LIMIT_WINDOW_MS`). `X-RateLimit-*` headers are sent on every response that reaches the limiter, successful ones included — but not on a middleware 401/403, which is produced before it. (A 403 raised by a handler, such as the `?force=true` check on `DELETE /credentials/{credentialId}`, does carry them.) - **400 — `ValidationErrorBody`** on the operations whose parameter or body schema the framework validator rejects before the handler runs. Same `{ statusCode, code, error, message }` serializer as the 429, but with `code: FST_ERR_VALIDATION` present. Operations that can answer 400 from both the validator and the handler declare a `oneOf`. Every operation below therefore declares `401`, `403`, and `429`. The one exception is `GET /oauth/v4/callback`, which is served at the host root outside the authenticated, rate-limited scope. A few operations can return two shapes for one status, because a handler re-checks something a layer in front of it already gated — they declare a `oneOf` and say so inline. ## Entity Model ``` Credential (shared secrets, refcounted) ├── Agent Binding (N per Credential) └── Source Binding (N per Credential) └── Sync Job (N per Source Binding) ``` - **Credential** (`/credentials`) — stored OAuth token or API key. One credential can power N bindings across both products. - **Agent Binding** (`/ai-agents`) — binds a credential to an eGain AI Agent (endpoint, IDP overrides). - **Source Binding** (`/knowledge`) — binds a credential to eGain Knowledge Hub (mapping, target hub). - **Sync Job** (`/knowledge/:id/syncs`) — child of Source Binding. One sync source (e.g., one SharePoint Site) with schedule and filters. ## Identifier types This API uses three identifier styles, intentionally distinct: - **Server-generated opaque IDs** — `credentialId` (cred_xxx), `integrationId` (agt_xxx for AI Agent bindings, src_xxx for Source bindings), `runId` (run_xxx). Always 22 base64url characters after the prefix. The server mints these; consumers never construct them. - **Slugs** — `connectorId` and `appId` (same value, different name in different routes). Lowercase letters, digits, and hyphens. Defined by the connector publisher; matches `^[a-z0-9-]+$`. Examples: `microsoft-teams`, `salesforce`. - **Caller-supplied identifiers** — `agentId`, `sourceId`, `targetHubId`, `tenantIdentifier`. Free-text strings under tenant control. NOT validated against any registry at write time — typos succeed and fail downstream. See the individual field descriptions for the validation status of each. Body fields that reference an opaque ID enforce the prefix pattern (e.g. `credentialId` on POST /ai-agents requires `^cred_`). Path params enforce the same pattern. Slug-style fields enforce a separate pattern. Caller- supplied free-text fields are validated for length only.
- [Core Department Manager APIs](https://developer-qe.ezdev.net/apis/v4/core/departmentmgr/api-bundled.md): ## Authentication Authentication is required. Refer below table, as authentication varies based on actor. | Actor | Authentication | | ------- | --------| | Global / Department User | The user must be logged in to call this API.| | Client Application | Only authenticated client applications of type 'API' are allowed to access this API.| | Customer | The customer must be logged in to call this API.| ### Licenses * Any license that can be assigned to a user in the application is a user license. Following user licenses are available in the product: * eGain Platform * eGain Knowledge + AI * eGain MailPlus * eGain ChatPlus * eGain Advisor Desktop * eGain CallTrackPlus * eGain CobrowsePlus Refer below table, as licenses varies based on actor. | Actor | Licenses | | ------| ---------| | Global User | Any of the user licenses must be installed in the application.| | Department User | The logged in user must have any of the user licenses.|
- [Core File manager APIs](https://developer-qe.ezdev.net/apis/v4/core/filemgr/api-bundled.md): ## Authentication Authentication is required. Refer below table, as authentication varies based on actor. | Actor | Authentication | | ------- | --------| | Global / Department User | The user must be logged in to call this API.| | Client Application | Only authenticated client applications of type 'API' are allowed to access this API.| | Customer | The customer must be logged in to call this API.| ### Licenses * Any license that can be assigned to a user in the application is a user license. Following user licenses are available in the product: * eGain Platform * eGain Knowledge + AI * eGain Selfservice + AI * eGain MailPlus * eGain ChatPlus * eGain Advisor Desktop * eGain CallTrackPlus * eGain CobrowsePlus Refer below table, as licenses varies based on actor. | Actor | Licenses | | ------| ---------| | Global User | Any of the user licenses must be installed in the application.| | Department User | The logged in user must have any of the user licenses.| | Client Application | Licenses are not evaluated; the license check is skipped.|
- [Core Information Manager APIs](https://developer-qe.ezdev.net/apis/v4/core/infomgr/api-bundled.md): ## Authentication Authentication is required. Refer below table, as authentication varies based on actor. | Actor | Authentication | | ------- | --------| | Global / Department User | The user must be logged in to call this API.| | Client Application | Only authenticated client applications of type 'API' are allowed to access this API.| | Customer | The customer must be logged in to call this API.| ### Licenses * Any license that can be assigned to a user in the application is a user license. Following user licenses are available in the product: * eGain Platform * eGain Knowledge + AI * eGain MailPlus * eGain ChatPlus * eGain Advisor Desktop * eGain CallTrackPlus * eGain CobrowsePlus Refer below table, as licenses varies based on actor. | Actor | Licenses | | ------| ---------| | Global User | Any of the user licenses must be installed in the application.| | Department User | The logged in user must have any of the user licenses.|
- [Core Integration Manager APIs](https://developer-qe.ezdev.net/apis/v4/core/integrationmgr/api-bundled.md): ## Authentication Authentication is required. The global user must be logged in to call these APIs. ## Licenses "eGain API" site license (SKU: EG-CL-API-PT) must be assigned to the application to call these APIs.
- [Core Internal Permission Manager APIs](https://developer-qe.ezdev.net/apis/v4/core/internal-permissionmgr/api-bundled.md): ### Overview This is an internal API, not for external/partner use. The Core Internal Permission Manager APIs let you evaluate a specific permission (currently `view_folder`) for the authenticated user across a large batch of folders in a single request. ### Licenses * Any license that can be assigned to a user in the application is a user license. The following user licenses are available in the product: * eGain Platform * eGain Knowledge + AI * eGain MailPlus * eGain ChatPlus * eGain Advisor Desktop * eGain CallTrackPlus * eGain CobrowsePlus Refer to the table below, as licenses vary based on actor. | Actor | Licenses | | ------| ---------| | Global User | Any of the user licenses must be installed in the application.| | Department User | The logged in user must have any of the user licenses.|
- [eGain Knowledge Graph APIs](https://developer-qe.ezdev.net/apis/v4/core/knowledgegraphmgr/api-bundled.md): The **eGain Knowledge Graph APIs** provide a full CRUD surface for managing hierarchical Knowledge Graphs (KGs) — taxonomies of categories, products, and concepts plus the questions and documents linked to them. A Knowledge Graph (KG) is a tenant-scoped, versioned, hierarchical taxonomy. Each KG owns a tree of **nodes** (typed: category, product, concept, custom), typed **edges** between any two nodes (related / broader / narrower / causes / custom), a set of **questions** tied to nodes, and **document links** that bind external content to nodes (and optionally to specific questions). ## Authentication All endpoints require OAuth 2.0. Two flows are supported: | Flow | Use case | Scheme | | --- | --- | --- | | Authorization Code + PKCE | Interactive agents, KG authors | `oAuthUser` | | Client Credentials | Server-to-server, integrations | `oAuthClient` | Scopes: - `knowledge.graphs.read` — read-only access to graphs, nodes, edges, questions, document links - `knowledge.graphs.manage` — create, update, delete on all KG resources - `knowledge.graphs.publish` — promote a draft `GraphVersion` to `published` - `knowledge.graphs.admin` — bulk import/export, SLA usage inspection ## Versioning & Drafts Every KG carries a `currentVersionId`. Authors mutate the **draft** version in place; readers always see the most recently **published** version unless they pass `version=` or `version=draft` explicitly. Publishing a version is atomic and immutable — rollback creates a new version pointing at an older snapshot rather than rewriting history. ## Pagination, sparse fields, range queries - **Pagination** — `pagenum` (1-based) and `pagesize` (default 25, max 200). Responses carry a `paginationInfo` envelope with `count`, `pagenum`, `pagesize`, and HATEOAS `link` entries for `next` / `prev`. - **Sparse fields** — `$attribute=id,name,type` (comma-separated) restricts response payload to named fields. Nested fields use dotted paths (e.g. `custom.priority`). - **Sorting** — `sort=field:asc` or `sort=field:desc`, repeatable (`sort=name:asc&sort=created:desc`). - **Filtering** — `filter=field:op:value`, comma-separated. Operators: `eq`, `ne`, `gt`, `gte`, `lt`, `lte`, `in`, `like`. - **Range queries** — `[start,end]` syntax on date params, e.g. `created=[2026-01-01T00:00:00Z,2026-04-01T00:00:00Z]`. ## Concurrency Mutating endpoints (`PATCH`, `DELETE`, version `publish` / `rollback`) accept an `If-Match` header carrying the resource ETag returned by the previous `GET`. Stale ETags return `412 Precondition Failed`. ## Caching & conditional reads Every `GET` returns an `ETag` and a `Cache-Control` header. Send the ETag back on the next read via `If-None-Match`; if the resource is unchanged the server answers `304 Not Modified` with an empty body — cheaper for the client and lighter against rate limits. ## Idempotency Every `POST` accepts an optional `Idempotency-Key` header (UUID recommended). The first call is processed and its result cached against the key for 24 hours; identical retries replay the original response with `Idempotency-Replayed: true` instead of creating a duplicate. Combine with exponential backoff to retry safely through network failures and `503` / `504` responses. ## Payload limits & timeouts Request bodies exceeding the caller's plan limit (10 MB by default; bulk `import` allows more on `enterprise`) return `413 Payload Too Large`. Long-running work that exceeds the gateway budget returns `504 Gateway Timeout` with a `Retry-After` — safe to retry with the same `Idempotency-Key`. ## Deprecation policy No operation is deprecated in `v4`. When one is, responses will carry the RFC 8594 `Deprecation` (and, where scheduled, `Sunset`) headers ahead of removal, and the operation will be flagged `deprecated: true` in this spec. Clients should log and surface these headers. ## Rate Limits & SLA Tiers Every operation declares its rate-limit envelope under the `x-rate-limit` vendor extension. Three SLA plans are advertised under the top-level `x-sla` block (SLA4OAI format): | Plan | Rate | Burst | Daily quota | | --- | --- | --- | --- | | `developer` | 1 rps | 3 | 1,000 calls/day | | `basic` | 10 rps | 30 | 100,000 calls/day | | `enterprise` | 100 rps | 300 | 10,000,000 calls/day | All successful and rate-limited responses carry: - `X-RateLimit-Limit` — ceiling for the current window - `X-RateLimit-Remaining` — calls left in the current window - `X-RateLimit-Reset` — epoch-seconds when the window resets - `Retry-After` — seconds to wait (429 only) Call `GET /sla/plan` to enumerate plans and `GET /sla/usage` to inspect the calling tenant's current consumption. ## Errors All errors share the [`Error`](#/components/schemas/Error) envelope: a stable string `code`, a human-readable `message`, an array of structured `details`, and a `traceId` echoing the upstream correlation header (`X-Egain-Trace-Id`).
- [Core Permission Manager APIs](https://developer-qe.ezdev.net/apis/v4/core/permissionmgr/api-bundled.md): ### Overview The Core Permission Manager APIs let you inspect the permissions that apply to a resource in the eGain platform. Use this section to retrieve, for a given resource, the effective permissions held by a batch of users or groups — including whether each permission was granted explicitly or derived (for example, through group membership or propagation from a parent folder). ### Licenses * Any license that can be assigned to a user in the application is a user license. The following user licenses are available in the product: * eGain Platform * eGain Knowledge + AI * eGain MailPlus * eGain ChatPlus * eGain Advisor Desktop * eGain CallTrackPlus * eGain CobrowsePlus Refer to the table below, as licenses vary based on actor. | Actor | Licenses | | ------| ---------| | Global User | Any of the user licenses must be installed in the application.| | Department User | The logged in user must have any of the user licenses.|
- [Core Personalization Manager APIs](https://developer-qe.ezdev.net/apis/v4/core/personalizationmgr/api-bundled.md): ## Overview The Core Personalization Manager APIs provide administrative capabilities for managing personalization resources like User Profiles and Tags. ## Authentication Authentication is required. A user must be logged in to call these APIs. ## Licenses An "eGain API" site license must be assigned to the application to call these APIs.
- [Core Security Manager API](https://developer-qe.ezdev.net/apis/v4/core/securitymgr/api-bundled.md): ### Overview The Core Security Manager APIs provide administrative capabilities for managing security-related resources like Data Masking Patterns.
- [Core Usage Manager APIs](https://developer-qe.ezdev.net/apis/v4/core/usagemgr/api-bundled.md): ### Overview The Core Usage Manager API provides endpoints for retrieving aggregated usage data for tenants. These APIs enable the Customer Portal to display usage metrics and support internal operations reporting. ### Key Features - **Per-Tenant Usage**: Fetch usage for a single tenant for a specified month (`period`) - **All-Tenants Usage**: Fetch usage across all tenants for internal reporting - **Per-Tenant Storage**: Fetch storage breakdown for a single tenant for a specified month - **All-Tenants Storage**: Fetch storage breakdown across all tenants for internal reporting - **Single-Month Reporting**: All endpoints accept one `period` (YYYY-MM) per request - **All Metrics Returned**: every metric a SKU reports (total, peak, average) is returned — no metric filter - **SKU Filtering**: Narrow per-tenant usage results to a specific product/service SKU - **Pagination**: Applied to all list responses; defaults used when parameters are omitted ### Use Cases - Customer Portal usage display and billing support - Customer Portal storage display - Internal operations reporting across all tenants - SKU-specific usage analysis for a single tenant ### Metrics Metrics are recorded by the Producer per SKU and differ by SKU (e.g. `total` for volume, `peak` for concurrency). Every metric present on a record is returned; there is no metric filter. A `usageValue` of `0` means the metric was recorded as zero. ### Support For technical support and questions, contact the eGain support team.
- [Core User Manager APIs](https://developer-qe.ezdev.net/apis/v4/core/usermgr/api-bundled.md): ## Authentication Authentication is required. Refer below table, as authentication varies based on actor. | Actor | Authentication | | ------- | --------| | Global / Department User | The user must be logged in to call this API.| | Client Application | Only authenticated client applications of type 'API' are allowed to access this API.| ## Licenses The logged in user must have the following licenses: * If logged in user is a department user, the user must have any of the User Licenses. * If logged in user is a global user, any of the User Licenses must be installed.
- [Knowledge Content Manager APIs](https://developer-qe.ezdev.net/apis/v4/knowledge/contentmgr/api-bundled.md): ### 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 - **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 - 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.
- [Event Manager](https://developer-qe.ezdev.net/apis/v4/knowledge/eventmgr/api-bundled.md): This section describes **what the eGain server does** when knowledge base events occur: it **sends** (POSTs) event payloads to the webhook URL you configure (e.g. in the eGain Admin console). You do not call this API; the server calls your endpoint. The documentation below is a reference for the request bodies the server delivers to your webhook and how your endpoint should respond.
- [Knowledge Intelligence APIs](https://developer-qe.ezdev.net/apis/v4/knowledge/intelligence/api-bundled.md): ## Overview The Knowledge Intelligence API surfaces AI-powered quality checks for enterprise knowledge bases: conflict detection, duplicate identification, article comparison, Q&A extraction, pipeline jobs, and prompt-based insights. ## Base URL `https://api-qe1.ezdev.net/knowledge/intelligence/v4` ## Authentication OAuth 2.0 — use **Authorization Code with PKCE** (user) or **client credentials** (server-to-server). Required API scopes are described per operation (`knowledge.intelligence.read` for read APIs, `knowledge.intelligence.manage` for mutations). ## Tenant isolation All tenant-scoped operations use `tenant_id` (query or body). Row-level security applies at the data tier. ### License Requirements Logged in user must have Knowledge + AI license. ### Support For technical support and questions, contact the eGain support team.
- [Knowledge Content Manager Unpublished APIs](https://developer-qe.ezdev.net/apis/v4/knowledge/internal-contentmgr/api-bundled.md): Internal unpublished Content Manager APIs for article retrieval with content and bulk article export. These APIs are not part of the public developer portal bundle.
- [Knowledge Portal Manager Unpublished APIs](https://developer-qe.ezdev.net/apis/v4/knowledge/internal-portalmgr/api-bundled.md): Internal unpublished Portal Manager APIs for extended witheditions retrieval and bulk content export. These APIs are not part of the public developer portal bundle.
- [Knowledge Portal Manager APIs](https://developer-qe.ezdev.net/apis/v4/knowledge/portalmgr/api-bundled.md): ### 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