{ "server": { "address": ":8080", "max_body_bytes": 16777216, "read_header_timeout_seconds": 10, "idle_timeout_seconds": 120, "shutdown_timeout_seconds": 20 }, "auth": { "keys_env": "AIGW_API_KEYS", "allow_anonymous": false }, "upstream_http": { "max_idle_connections": 4096, "max_idle_connections_per_host": 1024, "idle_connection_timeout_seconds": 90, "response_header_timeout_seconds": 60 }, "observability": { "usage_buffer": 8192, "expose_metrics": true }, "providers": [ { "id": "openai-primary", "protocol": "openai", "base_url": "https://api.openai.com/v1", "api_key_env": "OPENAI_API_KEY" }, { "id": "anthropic-primary", "protocol": "anthropic", "base_url": "https://api.anthropic.com/v1", "api_key_env": "ANTHROPIC_API_KEY" } ], "models": [ { "id": "openai/gpt-4.1-mini", "owned_by": "openai", "routes": [ { "provider": "openai-primary", "upstream_model": "gpt-4.1-mini", "priority": 0, "weight": 100 } ] }, { "id": "anthropic/claude-sonnet", "owned_by": "anthropic", "routes": [ { "provider": "anthropic-primary", "upstream_model": "claude-sonnet-4-5", "priority": 0, "weight": 100 } ] } ] }