Configuration Manager API
The Configuration Manager Service provides a centralized way to manage configuration settings across your organization’s services. It securely stores various configuration parameters in a key-value store (ETCD by default) and provides APIs to manage these configurations.Base URL
All endpoints are prefixed with/api/v1/configurationManager
Authentication
All endpoints require authentication via Bearer token:Architecture Overview
The Configuration Manager Service is built on a Node.js backend that leverages ETCD (or other compatible key-value stores) for secure configuration storage. The service:- Securely encrypts sensitive configuration values using AES-256-GCM algorithm
- Provides a RESTful API for managing configurations
- Integrates with other services via event-driven architecture
- Controls access through authentication and authorization
- Performs health checks before saving configurations
Key Features
- Secure Storage: All sensitive configurations are encrypted using AES-256-GCM algorithm
- Health Checks: Built-in validation of configuration parameters before storage
- Event Notifications: Publishes events when critical configurations change
- Centralized Management: Single service to control settings across the system
- AI Model Management: Advanced provider management for AI models with support for multiple models per provider
- Connector Integration: Support for various connectors including Google Workspace, Atlassian, OneDrive, and SharePoint
Supported Configurations
The Configuration Manager handles various types of configurations:- Storage Configurations - AWS S3, Azure Blob, or Local storage settings
- Authentication Configurations - Azure AD, Google, Microsoft, SSO, and OAuth settings
- SMTP Configurations - Email service settings
- AI Models Configurations - Settings for LLM, embedding, OCR, SLM, reasoning, and multiModal models
- Connector Configurations - Google Workspace, Atlassian, OneDrive, and SharePoint integrations
- Public URL Configurations - Frontend and connector URLs
- Metrics Collection Configurations - Settings for metrics gathering
API Endpoints
Storage Configuration
Storage Configuration
POST /storageConfig - Set Storage Configuration
POST /storageConfig - Set Storage Configuration
- Request
- Response
POST /api/v1/configurationManager/storageConfigRequest Body Parameters:GET /storageConfig - Get Storage Configuration
GET /storageConfig - Get Storage Configuration
- Request
- Response
GET /api/v1/configurationManager/storageConfigSMTP Configuration
SMTP Configuration
POST /smtpConfig - Set SMTP Configuration
POST /smtpConfig - Set SMTP Configuration
- Request
- Response
POST /api/v1/configurationManager/smtpConfigRequest Body Parameters:GET /smtpConfig - Get SMTP Configuration
GET /smtpConfig - Get SMTP Configuration
- Request
- Response
GET /api/v1/configurationManager/smtpConfigAuthentication Configuration
Authentication Configuration
Azure AD Authentication
Azure AD Authentication
POST /authConfig/azureAd - Set Azure AD Config
POST /authConfig/azureAd - Set Azure AD Config
- Request
- Response
POST /api/v1/configurationManager/authConfig/azureAdRequest Body Parameters:GET /authConfig/azureAd - Get Azure AD Config
GET /authConfig/azureAd - Get Azure AD Config
- Request
- Response
GET /api/v1/configurationManager/authConfig/azureAdMicrosoft Authentication
Microsoft Authentication
POST /authConfig/microsoft - Set Microsoft Config
POST /authConfig/microsoft - Set Microsoft Config
- Request
- Response
POST /api/v1/configurationManager/authConfig/microsoftRequest Body Parameters:GET /authConfig/microsoft - Get Microsoft Config
GET /authConfig/microsoft - Get Microsoft Config
- Request
- Response
GET /api/v1/configurationManager/authConfig/microsoftGoogle Authentication
Google Authentication
POST /authConfig/google - Set Google Config
POST /authConfig/google - Set Google Config
- Request
- Response
POST /api/v1/configurationManager/authConfig/googleRequest Body Parameters:GET /authConfig/google - Get Google Config
GET /authConfig/google - Get Google Config
- Request
- Response
GET /api/v1/configurationManager/authConfig/googleSSO Authentication
SSO Authentication
POST /authConfig/sso - Set SSO Config
POST /authConfig/sso - Set SSO Config
- Request
- Response
POST /api/v1/configurationManager/authConfig/ssoRequest Body Parameters:GET /authConfig/sso - Get SSO Config
GET /authConfig/sso - Get SSO Config
- Request
- Response
GET /api/v1/configurationManager/authConfig/ssoOAuth Authentication
OAuth Authentication
POST /authConfig/oauth - Set OAuth Config
POST /authConfig/oauth - Set OAuth Config
- Request
- Response
POST /api/v1/configurationManager/authConfig/oauthRequest Body Parameters:GET /authConfig/oauth - Get OAuth Config
GET /authConfig/oauth - Get OAuth Config
- Request
- Response
GET /api/v1/configurationManager/authConfig/oauthInfrastructure Configuration (moved to environment variables)
Infrastructure Configuration (moved to environment variables)
/mongoDBConfig, /arangoDBConfig, /qdrantConfig, /redisConfig, /kafkaConfig)
have been removed.These are now read from the environment at startup. On the Docker Compose
deployment, install.sh writes them into deployment/docker-compose/.env; on
Kubernetes, the Helm chart sets them from values.yaml.MONGO_URI key in .env to edit. The graph, vector and cache passwords
(NEO4J_PASSWORD or ARANGO_PASSWORD, QDRANT_API_KEY, REDIS_PASSWORD) are
generated at install time and live in the same file.VECTOR_DB_TYPE
environment variable, which defaults to qdrant when it is unset — and the Docker
Compose deployment does not set it. Adding VECTOR_DB_TYPE to .env has no effect
on Compose, because the variable is not passed into the container..env and re-run ./install.sh --upgrade, or set the value in
your Helm values and upgrade the release. See the
Quickstart for the installer flags.AI Models Configuration
AI Models Configuration
Complete AI Models Configuration
Complete AI Models Configuration
POST /aiModelsConfig - Set AI Models Config
POST /aiModelsConfig - Set AI Models Config
- Request
- Response
POST /api/v1/configurationManager/aiModelsConfigRequest Body Parameters:
At least one AI model type must be configured.GET /aiModelsConfig - Get AI Models Config
GET /aiModelsConfig - Get AI Models Config
- Request
- Response
GET /api/v1/configurationManager/aiModelsConfigAI Models Management
AI Models Management
GET /ai-models - Get All AI Models
GET /ai-models - Get All AI Models
- Request
- Response
GET /api/v1/configurationManager/ai-modelsGET /ai-models/{modelType} - Get Models by Type
GET /ai-models/{modelType} - Get Models by Type
- Request
- Response
GET /api/v1/configurationManager/ai-models/{modelType}Path Parameters:GET /ai-models/available/{modelType} - Get Available Models
GET /ai-models/available/{modelType} - Get Available Models
- Request
- Response
GET /api/v1/configurationManager/ai-models/available/{modelType}Path Parameters:AI Model Provider Management
AI Model Provider Management
POST /ai-models/providers - Add AI Model Provider
POST /ai-models/providers - Add AI Model Provider
- Request
- Response
POST /api/v1/configurationManager/ai-models/providersRequest Body Parameters:PUT /ai-models/providers/{modelType}/{modelKey} - Update AI Model Provider
PUT /ai-models/providers/{modelType}/{modelKey} - Update AI Model Provider
- Request
- Response
PUT /api/v1/configurationManager/ai-models/providers/{modelType}/{modelKey}Path Parameters:DELETE /ai-models/providers/{modelType}/{modelKey} - Delete AI Model Provider
DELETE /ai-models/providers/{modelType}/{modelKey} - Delete AI Model Provider
- Request
- Response
DELETE /api/v1/configurationManager/ai-models/providers/{modelType}/{modelKey}Path Parameters:PUT /ai-models/default/{modelType}/{modelKey} - Update Default AI Model
PUT /ai-models/default/{modelType}/{modelKey} - Update Default AI Model
- Request
- Response
PUT /api/v1/configurationManager/ai-models/default/{modelType}/{modelKey}Path Parameters:Connector Configuration
Connector Configuration
Google Workspace Configuration
Google Workspace Configuration
Google Workspace OAuth Configuration
Google Workspace OAuth Configuration
POST /connectors/googleWorkspaceOauthConfig - Set Google Workspace OAuth Config
POST /connectors/googleWorkspaceOauthConfig - Set Google Workspace OAuth Config
- Request
- Response
POST /api/v1/configurationManager/connectors/googleWorkspaceOauthConfigRequest Body Parameters:GET /connectors/googleWorkspaceOauthConfig - Get Google Workspace OAuth Config
GET /connectors/googleWorkspaceOauthConfig - Get Google Workspace OAuth Config
- Request
- Response
GET /api/v1/configurationManager/connectors/googleWorkspaceOauthConfigGoogle Workspace Credentials
Google Workspace Credentials
POST /connectors/googleWorkspaceCredentials - Set Google Workspace Credentials
POST /connectors/googleWorkspaceCredentials - Set Google Workspace Credentials
- Request
- Response
POST /api/v1/configurationManager/connectors/googleWorkspaceCredentialsContent-Type: multipart/form-dataRequest Body Parameters:GET /connectors/googleWorkspaceCredentials - Get Google Workspace Credentials
GET /connectors/googleWorkspaceCredentials - Get Google Workspace Credentials
- Request
- Response
GET /api/v1/configurationManager/connectors/googleWorkspaceCredentialsAtlassian Configuration
Atlassian Configuration
POST /connectors/atlassian/config - Set Atlassian Config
POST /connectors/atlassian/config - Set Atlassian Config
- Request
- Response
POST /api/v1/configurationManager/connectors/atlassian/configRequest Body Parameters:GET /connectors/atlassian/config - Get Atlassian Config
GET /connectors/atlassian/config - Get Atlassian Config
- Request
- Response
GET /api/v1/configurationManager/connectors/atlassian/configOneDrive Configuration
OneDrive Configuration
POST /connectors/onedrive/config - Set OneDrive Config
POST /connectors/onedrive/config - Set OneDrive Config
- Request
- Response
POST /api/v1/configurationManager/connectors/onedrive/configRequest Body Parameters:GET /connectors/onedrive/config - Get OneDrive Config
GET /connectors/onedrive/config - Get OneDrive Config
- Request
- Response
GET /api/v1/configurationManager/connectors/onedrive/configPublic URL Configuration
Public URL Configuration
Frontend URL Configuration
Frontend URL Configuration
POST /frontendPublicUrl - Set Frontend URL
POST /frontendPublicUrl - Set Frontend URL
- Request
- Response
POST /api/v1/configurationManager/frontendPublicUrlRequest Body Parameters:GET /frontendPublicUrl - Get Frontend URL
GET /frontendPublicUrl - Get Frontend URL
- Request
- Response
GET /api/v1/configurationManager/frontendPublicUrlConnector URL Configuration
Connector URL Configuration
POST /connectorPublicUrl - Set Connector URL
POST /connectorPublicUrl - Set Connector URL
- Request
- Response
POST /api/v1/configurationManager/connectorPublicUrlRequest Body Parameters:GET /connectorPublicUrl - Get Connector URL
GET /connectorPublicUrl - Get Connector URL
- Request
- Response
GET /api/v1/configurationManager/connectorPublicUrlMetrics Collection Configuration
Metrics Collection Configuration
PUT /metricsCollection/toggle - Toggle Metrics Collection
PUT /metricsCollection/toggle - Toggle Metrics Collection
- Request
- Response
PUT /api/v1/configurationManager/metricsCollection/toggleRequest Body Parameters:GET /metricsCollection - Get Metrics Collection Config
GET /metricsCollection - Get Metrics Collection Config
- Request
- Response
GET /api/v1/configurationManager/metricsCollectionPATCH /metricsCollection/pushInterval - Set Push Interval
PATCH /metricsCollection/pushInterval - Set Push Interval
- Request
- Response
PATCH /api/v1/configurationManager/metricsCollection/pushIntervalRequest Body Parameters:PATCH /metricsCollection/serverUrl - Set Remote Server
PATCH /metricsCollection/serverUrl - Set Remote Server
- Request
- Response
PATCH /api/v1/configurationManager/metricsCollection/serverUrlRequest Body Parameters:Encryption and Security
The Configuration Manager Service uses AES-256-GCM encryption to protect sensitive configuration data. Key features include:- Secret Key Hashing: The secret key used for encryption is hashed using SHA-256 for added security
- Per-Configuration Encryption: Each sensitive configuration is individually encrypted
- Fine-grained Access Control: API endpoints require appropriate authentication and authorization
- Health Checks: Automatic validation of configurations before storage
Event-Driven Architecture
The Configuration Manager publishes events when critical configurations change:- LLM Configured Event: When AI models are configured or updated
- Connector Public URL Changed Event: When connector URLs are updated
- Gmail Updates Enabled/Disabled Event: When Gmail real-time updates are toggled
Health Checks
The service includes built-in health checks for various configurations that are automatically performed before saving:- AI Models Health Check: Validates AI model configurations with provider APIs
Schema Definitions
- Authentication Config Schema
- Storage Config Schema
- AI Models Config Schema
- Connector Config Schema
- Other Config Schemas