{"record":{"id":"7f7fd1e2b97d0d6e","repo":"BerriAI/litellm","slug":"tags-not-found-missing-tags","errorCode":null,"errorMessage":"Tags not found: {missing_tags}","messagePattern":"Tags not found: (.+?)","errorType":"http","errorClass":"HTTPException","httpStatus":404,"severity":"error","filePath":"litellm/proxy/management_endpoints/tag_management_endpoints.py","lineNumber":516,"sourceCode":"    - names: List[str] - List of tag names to get information for\n    \"\"\"\n    from litellm.proxy.proxy_server import prisma_client\n\n    if prisma_client is None:\n        raise HTTPException(status_code=500, detail=\"Database not connected\")\n\n    try:\n        # Query tags from database with budget info\n        tag_records: Final = await _table(TagRepository(prisma_client)).find_many(\n            where={\"tag_name\": {\"in\": data.names}},\n            include={\"litellm_budget_table\": True},\n        )\n\n        # Check if any requested tags don't exist\n        found_tag_names: Final = {tag.tag_name for tag in tag_records}\n        missing_tags: Final = [name for name in data.names if name not in found_tag_names]\n        if missing_tags:\n            raise HTTPException(status_code=404, detail=f\"Tags not found: {missing_tags}\")\n\n        # Build response\n        requested_tags: Final = {}\n        for tag_record in tag_records:\n            # Parse model_info from JSON\n            model_info: object = {}\n            if tag_record.model_info:\n                if isinstance(tag_record.model_info, str):\n                    model_info = json.loads(tag_record.model_info)\n                else:\n                    model_info = tag_record.model_info\n\n            tag_dict = {\n                \"name\": tag_record.tag_name,\n                \"description\": tag_record.description,\n                \"models\": tag_record.models,\n                \"model_info\": model_info,\n                \"created_at\": tag_record.created_at.isoformat(),","sourceCodeStart":498,"sourceCodeEnd":534,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/management_endpoints/tag_management_endpoints.py#L498-L534","documentation":"POST /tag/info compares requested names against rows actually found in the DB; any missing_tags are reported in a 404 so the client knows which subset of the batch does not exist rather than silently returning partial data.","triggerScenarios":"Thrown at litellm/proxy/management_endpoints/tag_management_endpoints.py:516 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Create the missing tags first, or correct the tag names."],"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-14T05:17:10.506Z"}