{"record":{"id":"4d64a8c40e26c595","repo":"BerriAI/litellm","slug":"you-are-not-a-member-of-the-team-that-owns-this-su","errorCode":null,"errorMessage":"You are not a member of the team that owns this submission","messagePattern":"You are not a member of the team that owns this submission","errorType":"http","errorClass":"HTTPException","httpStatus":403,"severity":"error","filePath":"litellm/proxy/guardrails/guardrail_endpoints.py","lineNumber":979,"sourceCode":"    guardrail_id: str,\n    user_api_key_dict: UserAPIKeyAuth = Depends(user_api_key_auth),\n):\n    \"\"\"Get a single guardrail submission by id. Non-admins may only access submissions for teams they belong to.\"\"\"\n    from litellm.proxy.proxy_server import prisma_client\n\n    if prisma_client is None:\n        raise HTTPException(status_code=500, detail=\"Prisma client not initialized\")\n\n    is_admin: Final = _user_has_admin_view(user_api_key_dict)\n\n    try:\n        row: Final = await _guardrails_table(prisma_client).find_unique(where={\"guardrail_id\": guardrail_id})\n        if row is None:\n            raise HTTPException(status_code=404, detail=\"Guardrail submission not found\")\n        if not is_admin:\n            visible_team_ids: Final = await _get_user_team_ids(user_api_key_dict)\n            if row.team_id is None or row.team_id not in visible_team_ids:\n                raise HTTPException(\n                    status_code=403,\n                    detail=\"You are not a member of the team that owns this submission\",\n                )\n        return _row_to_submission_item(row)\n    except HTTPException:\n        raise\n    except Exception as e:\n        verbose_proxy_logger.exception(\"Error getting guardrail submission: %s\", e)\n        raise HTTPException(status_code=500, detail=str(e))\n\n\n@router.post(\n    \"/guardrails/submissions/{guardrail_id}/approve\",\n    tags=[\"Guardrails\"],\n)\nasync def approve_guardrail_submission(\n    guardrail_id: str,\n    user_api_key_dict: UserAPIKeyAuth = Depends(user_api_key_auth),","sourceCodeStart":961,"sourceCodeEnd":997,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/guardrails/guardrail_endpoints.py#L961-L997","documentation":"Raised by the get-guardrail-submission endpoint when the submission row exists but the caller is a non-admin whose team does not own the submission. Submissions are team-scoped: an admin view sees everything, everyone else must belong to the owning team; otherwise the request is rejected (403-class) even though the id is valid.","triggerScenarios":"Thrown at litellm/proxy/guardrails/guardrail_endpoints.py:979 when the library encounters an invalid state.","commonSituations":"The caller is not a member of the team that owns the guardrail submission.","solutions":["Use credentials for a user who belongs to the team that owns the submission.","Ask a team member or admin to act on the submission."],"exampleFix":"Retry with a key belonging to a member of the owning team.","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"}