{"record":{"id":"88d90b1f50e2bce3","repo":"BerriAI/litellm","slug":"custom-team-metadata-validate-is-an-enterprise-fea","errorCode":null,"errorMessage":"custom_team_metadata_validate is an Enterprise feature. You must be a LiteLLM Enterprise user to use this feature. If you have a license please set `LITELLM_LICENSE` in your env. Get a 7 day trial key here: https://www.litellm.ai/enterprise#trial. \nPricing: https://www.litellm.ai/#pricing","messagePattern":"custom_team_metadata_validate is an Enterprise feature\\. You must be a LiteLLM Enterprise user to use this feature\\. If you have a license please set `LITELLM_LICENSE` in your env\\. Get a 7 day trial key here: https://www\\.litellm\\.ai/enterprise#trial\\. \nPricing: https://www\\.litellm\\.ai/#pricing","errorType":"http","errorClass":"HTTPException","httpStatus":400,"severity":"error","filePath":"litellm/proxy/management_helpers/team_metadata_validation.py","lineNumber":112,"sourceCode":"    def set(self, fields: tuple[TeamMetadataFieldSchema, ...]) -> None:\n        self._fields = fields\n\n    def get(self) -> tuple[TeamMetadataFieldSchema, ...]:\n        return self._fields\n\n\nTEAM_METADATA_SCHEMA_REGISTRY: Final = TeamMetadataSchemaRegistry()\n\n\nasync def run_team_metadata_validation(\n    validator: TeamMetadataValidator,\n    payload: TeamMetadataValidationPayload,\n    premium_user: bool,\n    timeout_seconds: float,\n    unavailable_message: str,\n) -> None:\n    if premium_user is not True:\n        raise HTTPException(\n            status_code=status.HTTP_400_BAD_REQUEST,\n            detail={  # mutable-ok: HTTPException.detail has no immutable form\n                \"error\": f\"custom_team_metadata_validate is an Enterprise feature. {CommonProxyErrors.not_premium_user.value}\"\n            },\n        )\n    if not (\n        inspect.iscoroutinefunction(validator) or inspect.iscoroutinefunction(getattr(validator, \"__call__\", None))\n    ):\n        raise HTTPException(\n            status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,\n            detail={  # mutable-ok: HTTPException.detail has no immutable form\n                \"error\": \"custom_team_metadata_validate must be an async function\"\n            },\n        )\n\n    try:\n        raw_result: Final = await asyncio.wait_for(validator(payload), timeout=timeout_seconds)\n        result: Final = TeamMetadataValidationResult.model_validate(raw_result)","sourceCodeStart":94,"sourceCodeEnd":130,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/management_helpers/team_metadata_validation.py#L94-L130","documentation":"Error \"custom_team_metadata_validate is an Enterprise feature. You must be a LiteLLM Enterprise user to use this feature. If you have a license please set `LITELLM_LICENSE` in your env. Get a 7 day trial key here: https://www.litellm.ai/enterprise#trial. \nPricing: https://www.litellm.ai/#pricing\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/proxy/management_helpers/team_metadata_validation.py:112 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set LITELLM_LICENSE to a valid LiteLLM Enterprise license key, or remove custom_team_metadata_validate from the config."],"exampleFix":null,"handlingStrategy":null,"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"}