Mindbreeze InSpire offers the foundational API based on the Protobuf message and service definitions. A service endpoint consists of a request and a response message, both of which are defined in terms of Protobuf messages. The Protobuf schema language has the advantage that one can easily generate classes or structured data types for a variety of languages using videly available code generators. Hence allowing native integration in the respective programming languages to support the development. The binary format of Protobuf messages is extensible and stable. Even if the compiled code changes the wire format is still compatible.
Via the HTTP REST endpoints of the Mindbreeze APIs the JSON format of Protobuf messages can leveraged, therefore allowing to use the same specification w/ various formats. For REST additionally Protobuf binary and Protobuf textual formats are supported.
For the REST API Mindbreeze provides OpenAPI specifications for APIs which allows also tools to discover the APIs used. For the OpenAPI specifications JSON Schema is generated from the Protobuf message specifications.
Streaming from Server to the Client on the HTTP protocol is performed using Server Sent Events (SSE). This is for instance done when using generative AI APIs.
One can use Protobuf with the gRPC Framework. For non-Browser-based applications binary Protobuf messages via HTTP or gRPC allow efficient backend communication.
Mindbreeze APIs can also be used via an MCP server endpoint where Mindbreeze InSpire APIs such as the Search API can be used as tools in agentic frameworks. The tool calls always are done with user’s permission context making sure that the tool calls only return information that the user interacting with the agent is allowed to see.
Service UI is a framework for building real-time web applications that communicates with Mindbreeze InSpire backend services via WebSockets. The backend holds the full application state in memory and uses language-agnostic Protobuf message definitions as its data exchange format, consistent with the rest of the Mindbreeze API surface. Protobuf messages are pushed from the backend to the frontend over a persistent WebSocket connection, where they are parsed to dynamically construct the web application and all of its UI elements. Every user interaction is reflected back to the backend over the same connection, keeping application state continuously synchronized through bidirectional communication. This approach separates UI structure and logic from the frontend implementation, allowing the backend to drive the application while the frontend acts as a thin rendering layer.
The Mindbreeze JavaScript SDK is a collection of client libraries for developing custom Insight Applications and integrations with Mindbreeze products and services.
These libraries simplify the development of UIs, API integrations, and Agentic AI capabilities by providing reusable components, type definitions, and client-side abstractions.
The JavaScript SDK consists of the following client libraries:
Client Types provides the TypeScript type definitions used in Insight Applications. It contains interfaces and object models for commonly used Mindbreeze API objects, including search requests, search responses, generative AI request and response objects and many more.
Client React is a React-based component library for building Mindbreeze-based Insight Applications. It provides reusable React components and utilities for common search and navigation functionality, such as search forms, facets, result lists, and pagination.
For a detailed description of Insight Apps development in React, please refer to the Development of Insight Apps with React documentation.
Mindbreeze Client is the core JavaScript SDK for creating Mindbreeze Insight Applications. It provides ready UI widgets and the client-side functionality.
For a detailed description of Insight Apps development, please refer to the Development of insight Apps documentation.
The api-clients provides a JavaScript/TypeScript client for interacting with the Mindbreeze Generative AI APIs. It includes client implementations, request and response types, and streaming support for integrating conversational AI capabilities and Retrieval-Augmented Generation (RAG) workflows into Insight Applications.
The Mindbreeze Java SDK supports developer in the development of following Mindbreeze plugin types:
It can automatically generate working examples so developers do not waste time bootstrapping a project. Under the hood, the Java SDK uses the same Protobuf Schema Language to communicate with other services (such as Index and Filter). Please refer to the Java Interface Description for further information.
The Mindbreeze Python SDK provides developers with a comprehensive set of tools to integrate with Mindbreeze services and develop custom extensions. It supports the following primary capabilities:
The Mindbreeze Python SDK is designed for ease of use, leveraging string typing to ensure a productive and robust developer experience. Under the hood, it utilizes a consistent communication layer to interface with Mindbreeze core services.
CategoryDescriptor | com.mindbreeze.datasource.CategoryDescriptor |
CategoryIcon | com.mindbreeze.datasource.CategoryIcon |
Crawler | com.mindbreeze.datasource.Crawler |
Authorization | com.mindbreeze.query.mes3.Authorization |
ContentFetch | com.mindbreeze.query.mes3.ContentFetch |
Contextualization | com.mindbreeze.query.mes3.Contextualization |
QueryExprTransformationService | mindbreeze.query.QueryExprTransformationService |
AuthorizationService | mindbreeze.query.security.AuthorizationService |
ContextualizationService | mindbreeze.query.context.ContextualizationService |
ContentAnnotationService | mindbreeze.query.ContentAnnotationService |
ContentFilterService | mindbreeze.filter.ContentFilterService |
PostFilterTransformationService | mindbreeze.filter.PostFilterTransformationService |
PreFilterTransformationService | mindbreeze.filter.PreFilterTransformationService |
SessionValidationService | mindbreeze.query.client.SessionValidationService |
SessionAuthenticationService | mindbreeze.query.client.SessionAuthenticationService |
AppValidationService | mindbreeze.query.client.AppValidationService |
SessionNotificationService | mindbreeze.query.client.SessionNotificationService |
SessionTransformationService | mindbreeze.query.client.SessionTransformationService |
PrincipalResolutionService | mindbreeze.security.PrincipalResolutionService |
CachingPrincipalResolutionService | mindbreeze.security.CachingPrincipalResolutionService |
IdentityConversionService | mindbreeze.security.IdentityConversionService |
SearchInResolutionService | mes.ipc.query.datasource.SearchInResolutionService |
Plugins | mindbreeze.client.Plugins |
Resources | mindbreeze.webapp.Resources |
Settings | mindbreeze.config.Settings |
SynchronizedFilesystemService | mindbreeze.sync.SynchronizedFilesystemService |
ItemTransformationService | mindbreeze.processing.ItemTransformationService |
LaunchedService | mindbreeze.service.LaunchedService |
Name | Function |
api.v2.alertstrigger | Sending emails of saved alerts |
api.v2.export | Export of search results |
api.v2.search | Search |
api.v2.suggest | Search autocomplete |