# Update agent configuration Updates the agent configuration dynamically without restarting the service. This endpoint allows you to: - Partially update the agent configuration (merges with existing config) - Update complete configuration sections or individual fields - Validate configuration before applying (using validate_only=true) - Automatically trigger agent re-initialization with new config The provided configuration is merged with the existing configuration, so you only need to specify the fields you want to change. The configuration is written to the mounted volume and the agent is re-initialized. ## Important Notes: - Only specify the fields you want to update - they will be merged with existing config - Nested objects are deep-merged (e.g., updating llms.primary.model preserves other llm settings) - The JSON file on the mounted volume will be updated with the merged configuration - The agent will be re-initialized, which may take a few seconds - In-flight requests will complete with the old configuration - New requests will use the updated configuration - A backup of the previous configuration is automatically created ## Example Partial Updates: Update just the agent description: json { "configuration": { "description": "Updated agent description" }, "validate_only": false } Update a specific LLM model: json { "configuration": { "llms": { "primary": { "model": "gpt-4-turbo" } } }, "validate_only": false } Add a new tool to the existing tools list: json { "configuration": { "tools": [ { "name": "new_tool", "config": {...} } ] }, "validate_only": false } In-memory only update (for read-only config files): json { "configuration": { "max_execution_time": 2000 }, "validate_only": false, "in_memory_only": true } Endpoint: PUT /core/v1/agent/config Version: v1 Security: APIKeyHeader ## Request fields (application/json): - `configuration` (object, required) The new agent configuration to apply - `validate_only` (boolean) If true, only validate the configuration without applying it - `in_memory_only` (boolean) If true, only update configuration in memory without persisting to file (useful for read-only config files) ## Response 200 fields (application/json): - `success` (boolean, required) Whether the update was successful - `message` (string, required) Status message - `timestamp` (string) Update timestamp - `version` (any) Configuration version (if applicable) - `validation_errors` (any) Validation errors if any - `previous_config_backup` (any) Whether previous config was backed up ## Response 400 fields (application/json): - `body` (string, required) Error message or description - `status_code` (integer, required) HTTP status code Example: 400 - `details` (any) Additional error details if available ## Response 401 fields (application/json): - `body` (string, required) Error message or description - `status_code` (integer, required) HTTP status code Example: 400 - `details` (any) Additional error details if available ## Response 403 fields (application/json): - `body` (string, required) Error message or description - `status_code` (integer, required) HTTP status code Example: 400 - `details` (any) Additional error details if available ## Response 422 fields (application/json): - `body` (string, required) Error message or description - `status_code` (integer, required) HTTP status code Example: 400 - `details` (any) Additional error details if available ## Response 500 fields (application/json): - `body` (string, required) Error message or description - `status_code` (integer, required) HTTP status code Example: 400 - `details` (any) Additional error details if available