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. Database Configurations - MongoDB, ArangoDB, and Qdrant settings
  4. Key-Value Store Configurations - Redis settings
  5. Message Broker Configurations - Kafka settings
  6. SMTP Configurations - Email service settings
  7. AI Models Configurations - Settings for LLM, embedding, OCR, SLM, reasoning, and multiModal models
  8. Connector Configurations - Google Workspace, Atlassian, OneDrive, and SharePoint integrations
  9. Public URL Configurations - Frontend and connector URLs
  10. 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
Configure database connections for your application. All database configurations include automatic health checks before saving.
Configure MongoDB database connection.
Endpoint: POST /api/v1/configurationManager/mongoDBConfigRequest Body Parameters:
Endpoint: GET /api/v1/configurationManager/mongoDBConfig
Configure ArangoDB database connection.
Endpoint: POST /api/v1/configurationManager/arangoDBConfigRequest Body Parameters:
Endpoint: GET /api/v1/configurationManager/arangoDBConfig
Configure Qdrant vector database connection.
Endpoint: POST /api/v1/configurationManager/qdrantConfigRequest Body Parameters:
Endpoint: GET /api/v1/configurationManager/qdrantConfig
Configure Redis as a key-value store with automatic health checks.
Endpoint: POST /api/v1/configurationManager/redisConfigRequest Body Parameters:
Endpoint: GET /api/v1/configurationManager/redisConfig
Configure Kafka message broker with automatic health checks and broker validation.
Endpoint: POST /api/v1/configurationManager/kafkaConfigRequest Body Parameters:
Endpoint: GET /api/v1/configurationManager/kafkaConfig
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:
  • Kafka Health Check: Verifies Kafka broker connectivity and validates broker URLs
  • Redis Health Check: Tests Redis connection with timeout and retry logic
  • Qdrant Health Check: Ensures Qdrant vector database is accessible via HTTP
  • MongoDB Health Check: Validates MongoDB connection using ping command
  • ArangoDB Health Check: Confirms ArangoDB connection and authentication
  • AI Models Health Check: Validates AI model configurations with provider APIs

Schema Definitions