{"record":{"id":"d9547a76d7a1acdb","repo":"BerriAI/litellm","slug":"model-info-id-not-provided","errorCode":null,"errorMessage":"model_info.id not provided","messagePattern":"model_info\\.id not provided","errorType":"exception","errorClass":"Exception","httpStatus":400,"severity":"error","filePath":"litellm/proxy/management_endpoints/model_management_endpoints.py","lineNumber":1923,"sourceCode":"    )\n\n    try:\n        if prisma_client is None:\n            raise HTTPException(\n                status_code=500,\n                detail={\n                    \"error\": \"No DB Connected. Here's how to do it - https://docs.litellm.ai/docs/proxy/virtual_keys\"\n                },\n            )\n\n        _model_id: str | None = None\n        _model_info: Final = getattr(model_params, \"model_info\", None)\n        if _model_info is None:\n            raise Exception(\"model_info not provided\")\n\n        _model_id = _model_info.id\n        if _model_id is None:\n            raise Exception(\"model_info.id not provided\")\n\n        _existing_litellm_params = await ModelRepository(prisma_client).table.find_unique(where={\"model_id\": _model_id})\n\n        if _existing_litellm_params is None:\n            if llm_router is not None and llm_router.get_deployment(model_id=_model_id) is not None:\n                raise HTTPException(\n                    status_code=400,\n                    detail={\"error\": \"Can't edit model. Model in config. Store model in db via `/model/new`. to edit.\"},\n                )\n            else:\n                raise Exception(\"model not found\")\n        deployment: Final = Deployment(**_existing_litellm_params.model_dump())\n\n        await ModelManagementAuthChecks.can_user_make_model_call(\n            model_params=deployment,\n            user_api_key_dict=user_api_key_dict,\n            prisma_client=prisma_client,\n            premium_user=premium_user,","sourceCodeStart":1905,"sourceCodeEnd":1941,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/management_endpoints/model_management_endpoints.py#L1905-L1941","documentation":"Generic sentinel guard in the proxy's model update endpoint (/model/update). The request body was accepted and deserialized, but its model_info object has no id field, so the endpoint cannot identify which deployment in the DB or router to update. Fires when a client PATCHes/POSTs a model with model_params lacking model_info.id. Fix by including model_info.id in the request payload.","triggerScenarios":"Thrown at litellm/proxy/management_endpoints/model_management_endpoints.py:1923 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Include model_info.id in the request body."],"exampleFix":null,"handlingStrategy":"validation","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-14T00:17:10.932Z"}