{"record":{"id":"01a835e51dc24659","repo":"BerriAI/litellm","slug":"error-updating-public-model-groups-e","errorCode":null,"errorMessage":"Error updating public model groups: {e}","messagePattern":"Error updating public model groups: (.+?)","errorType":"http","errorClass":"ProxyException","httpStatus":500,"severity":"error","filePath":"litellm/proxy/management_endpoints/model_management_endpoints.py","lineNumber":2117,"sourceCode":"        litellm.public_model_groups = request.model_groups\n\n        verbose_proxy_logger.debug(\n            \"Updated public model groups to: %s by user: %s\", request.model_groups, user_api_key_dict.user_id\n        )\n\n        return {\n            \"message\": \"Successfully updated public model groups\",\n            \"public_model_groups\": request.model_groups,\n            \"updated_by\": user_api_key_dict.user_id,\n        }\n\n    except Exception as e:\n        verbose_proxy_logger.exception(\"Error updating public model groups: %s\", e)\n\n        if isinstance(e, HTTPException):\n            raise e\n\n        raise ProxyException(\n            message=f\"Error updating public model groups: {e}\",\n            type=ProxyErrorTypes.internal_server_error,\n            code=status.HTTP_500_INTERNAL_SERVER_ERROR,\n            param=None,\n        )\n\n\n@router.post(\n    \"/model_hub/update_useful_links\",\n    description=\"Update useful links\",\n    tags=[\"model management\"],\n    dependencies=[Depends(user_api_key_auth)],\n)\nasync def update_useful_links(\n    request: UpdateUsefulLinksRequest,\n    user_api_key_dict: UserAPIKeyAuth = Depends(user_api_key_auth),\n):\n    \"\"\"","sourceCodeStart":2099,"sourceCodeEnd":2135,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/management_endpoints/model_management_endpoints.py#L2099-L2135","documentation":"Catch-all around the public-model-groups update: unexpected exceptions while loading config, applying the new group list, or persisting are logged and re-raised as this 500. HTTPException (the 403 role guard) passes through unchanged.","triggerScenarios":"Thrown at litellm/proxy/management_endpoints/model_management_endpoints.py:2117 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check proxy server logs for the underlying exception details."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}