diff --git a/litellm/proxy/proxy_server.py b/litellm/proxy/proxy_server.py index d21f5952ba2..a3cdec3f1ae 100644 --- a/litellm/proxy/proxy_server.py +++ b/litellm/proxy/proxy_server.py @@ -21786,7 +21786,6 @@ async def get_config( "/config/yaml", tags=["config.yaml"], dependencies=[Depends(user_api_key_auth)], - include_in_schema=False, ) async def config_yaml_endpoint(config_info: ConfigYAML): """ diff --git a/terraform/provider/tools/endpointaudit/coverage_allowlist.txt b/terraform/provider/tools/endpointaudit/coverage_allowlist.txt index 00f8f3b6031..5df80a4c85b 100644 --- a/terraform/provider/tools/endpointaudit/coverage_allowlist.txt +++ b/terraform/provider/tools/endpointaudit/coverage_allowlist.txt @@ -80,6 +80,7 @@ GET /team/available GET /team/metadata_schema GET /team/{team_id}/members/me GET /user/available_users +GET /config/yaml # docs-only mock; renders the config.yaml reference page in Swagger # Imperative one-shot operations: bulk edits, rotation, health probes, test hooks, # migrations, and approval workflows; procedural, not declarative state diff --git a/tests/unit/proxy/proxy_server/test_openapi_customization.py b/tests/unit/proxy/proxy_server/test_openapi_customization.py index 0eacf333960..1c208b082de 100644 --- a/tests/unit/proxy/proxy_server/test_openapi_customization.py +++ b/tests/unit/proxy/proxy_server/test_openapi_customization.py @@ -303,6 +303,21 @@ def test_get_openapi_schema_missing_app_attribute_raises_error(monkeypatch): get_openapi_schema() +def test_get_openapi_schema_documents_config_yaml(monkeypatch: pytest.MonkeyPatch): + import litellm.proxy.proxy_server as ps + + monkeypatch.setattr(ps.app, "openapi_schema", None, raising=True) + schema: Final = get_openapi_schema() + observed: Final = { + "component_present": "ConfigYAML" in schema["components"]["schemas"], + "tags": schema["paths"]["/config/yaml"]["get"]["tags"], + } + assert normalize(observed) == { + "component_present": True, + "tags": ["config.yaml"], + } + + async def test_a_request_is_answered_while_a_cold_openapi_json_builds(monkeypatch: pytest.MonkeyPatch): build_started: Final = threading.Event() liveliness_answered: Final = threading.Event()