Skip to main content

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:
  1. Storage Configurations - AWS S3, Azure Blob, or Local storage settings
  2. Authentication Configurations - Azure AD, Google, Microsoft, SSO, and OAuth settings
  3. SMTP Configurations - Email service settings
  4. AI Models Configurations - Settings for LLM, embedding, OCR, SLM, reasoning, and multiModal models
  5. Connector Configurations - Google Workspace, Atlassian, OneDrive, and SharePoint integrations
  6. Public URL Configurations - Frontend and connector URLs
  7. Metrics Collection Configurations - Settings for metrics gathering

API Endpoints

The Storage Configuration API enables you to configure different storage backends for your application.
Configure the storage service with specific backend details.
Endpoint: POST /api/v1/configurationManager/storageConfigRequest Body Parameters:S3 Storage Config:
Azure Blob Storage Config (Connection String):
Azure Blob Storage Config (Individual Parameters):
Local Storage Config:
Retrieve the current storage configuration.
Endpoint: GET /api/v1/configurationManager/storageConfig
Configure email service settings for your application.
Configure SMTP settings for email services.
Endpoint: POST /api/v1/configurationManager/smtpConfigRequest Body Parameters:
Retrieve the current SMTP configuration.
Endpoint: GET /api/v1/configurationManager/smtpConfig
The Authentication Configuration API allows you to manage various authentication providers.
Configure Azure Active Directory authentication.
Endpoint: POST /api/v1/configurationManager/authConfig/azureAdRequest Body Parameters:
Endpoint: GET /api/v1/configurationManager/authConfig/azureAd
Configure Microsoft authentication.
Endpoint: POST /api/v1/configurationManager/authConfig/microsoftRequest Body Parameters:
Endpoint: GET /api/v1/configurationManager/authConfig/microsoft
Configure Google authentication.
Endpoint: POST /api/v1/configurationManager/authConfig/googleRequest Body Parameters:
Endpoint: GET /api/v1/configurationManager/authConfig/google
Configure SAML-based Single Sign-On.
Endpoint: POST /api/v1/configurationManager/authConfig/ssoRequest Body Parameters:
Endpoint: GET /api/v1/configurationManager/authConfig/sso
Configure custom OAuth authentication.
Endpoint: POST /api/v1/configurationManager/authConfig/oauthRequest Body Parameters:
Endpoint: GET /api/v1/configurationManager/authConfig/oauth
Connection settings for MongoDB, the graph database, Qdrant, the key-value store, and the message broker are no longer configured through this API. The endpoints that once served them (/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.Compose builds the MongoDB connection string from those two credentials, so there is no 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.
The vector database is Qdrant. The provider is selected by the 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.
To change any of them, edit .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.
Configure AI models for various tasks with advanced provider management.
Manage the complete AI models configuration for all model types.
Endpoint: POST /api/v1/configurationManager/aiModelsConfigRequest Body Parameters: At least one AI model type must be configured.
Endpoint: GET /api/v1/configurationManager/aiModelsConfig
Advanced management endpoints for AI model providers.
Endpoint: GET /api/v1/configurationManager/ai-models
Endpoint: GET /api/v1/configurationManager/ai-models/{modelType}Path Parameters:
Endpoint: GET /api/v1/configurationManager/ai-models/available/{modelType}Path Parameters:
CRUD operations for individual AI model providers.
Endpoint: POST /api/v1/configurationManager/ai-models/providersRequest Body Parameters:
Endpoint: PUT /api/v1/configurationManager/ai-models/providers/{modelType}/{modelKey}Path Parameters:Request Body Parameters:
Endpoint: DELETE /api/v1/configurationManager/ai-models/providers/{modelType}/{modelKey}Path Parameters:
Endpoint: PUT /api/v1/configurationManager/ai-models/default/{modelType}/{modelKey}Path Parameters:
Configure connectors for integrating with external services.
Configure Google Workspace integration settings.
Endpoint: POST /api/v1/configurationManager/connectors/googleWorkspaceOauthConfigRequest Body Parameters:
Endpoint: GET /api/v1/configurationManager/connectors/googleWorkspaceOauthConfig
Endpoint: POST /api/v1/configurationManager/connectors/googleWorkspaceCredentialsContent-Type: multipart/form-dataRequest Body Parameters:For individual accounts, you can also send credentials directly in the request body:
Endpoint: GET /api/v1/configurationManager/connectors/googleWorkspaceCredentials
Configure Atlassian integration.
Endpoint: POST /api/v1/configurationManager/connectors/atlassian/configRequest Body Parameters:
Endpoint: GET /api/v1/configurationManager/connectors/atlassian/config
Configure Microsoft OneDrive integration.
Endpoint: POST /api/v1/configurationManager/connectors/onedrive/configRequest Body Parameters:
Endpoint: GET /api/v1/configurationManager/connectors/onedrive/config
Configure Microsoft SharePoint integration.
Endpoint: POST /api/v1/configurationManager/connectors/sharepoint/configRequest Body Parameters:
Endpoint: GET /api/v1/configurationManager/connectors/sharepoint/config
Configure public URLs for frontend and connector services.
Endpoint: POST /api/v1/configurationManager/frontendPublicUrlRequest Body Parameters:
Endpoint: GET /api/v1/configurationManager/frontendPublicUrl
Endpoint: POST /api/v1/configurationManager/connectorPublicUrlRequest Body Parameters:
Endpoint: GET /api/v1/configurationManager/connectorPublicUrl
Configure metrics collection settings for monitoring and analytics.
Endpoint: PUT /api/v1/configurationManager/metricsCollection/toggleRequest Body Parameters:
Endpoint: GET /api/v1/configurationManager/metricsCollection
Endpoint: PATCH /api/v1/configurationManager/metricsCollection/pushIntervalRequest Body Parameters:
Endpoint: 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
These events allow other services to react to configuration changes without polling.

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
Infrastructure connections (MongoDB, the graph database, Qdrant, the key-value store, and the message broker) are validated at service startup from the environment, not through this API.

Schema Definitions