{"record":{"id":"cda02fc421dede98","repo":"BerriAI/litellm","slug":"managed-id-was-minted-for-provider-payload-provi","errorCode":null,"errorMessage":"Managed ID was minted for provider '{payload.provider}', not '{provider}'.","messagePattern":"Managed ID was minted for provider '(.+?)', not '(.+?)'\\.","errorType":"http","errorClass":"HTTPException","httpStatus":404,"severity":"error","filePath":"litellm/proxy/pass_through_endpoints/managed_id_rewriter.py","lineNumber":328,"sourceCode":"    Raises ``HTTPException(404)`` on unknown / forged managed IDs — never\n    forwarded upstream as a literal string.\n    \"\"\"\n    payload: Final[ManagedIdPayload | None] = decode(managed_id)\n    if payload is None:\n        return managed_id  # not a passthrough managed ID; pass through\n    verbose_proxy_logger.debug(\n        \"managed_id_rewriter: resolving managed id provider=%s raw_prefix=%s\",\n        provider,\n        (\n            payload.raw_provider_id.split(\"_\", 1)[0]\n            if \"_\" in payload.raw_provider_id\n            else payload.raw_provider_id.split(\"-\", 1)[0]\n        ),\n    )\n\n    # 1. Cross-route (cross-provider) check\n    if payload.provider != provider:\n        raise HTTPException(\n            status_code=404,\n            detail=(f\"Managed ID was minted for provider '{payload.provider}', not '{provider}'.\"),\n        )\n\n    row_created_by: str | None = None\n    row_team_id: str | None = None\n    found = False\n\n    raw_id: Final = payload.raw_provider_id\n\n    # 2. DB lookup — pick table based on raw ID prefix\n    if any(raw_id.startswith(p) for p in _FILE_PREFIXES):\n        # File table — use hook's internal cache for speed when available\n        if isinstance(managed_files_hook, ManagedFileIdReader):\n            try:\n                file_row: Final = await managed_files_hook.get_unified_file_id(\n                    managed_id,\n                    litellm_parent_otel_span=None,","sourceCodeStart":310,"sourceCodeEnd":346,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/pass_through_endpoints/managed_id_rewriter.py#L310-L346","documentation":"Raised while resolving a passthrough managed ID when the decoded ManagedIdPayload records a different provider than the one of the endpoint being called — the ID was minted for another provider and must not be forwarded to this one.","triggerScenarios":"Thrown at litellm/proxy/pass_through_endpoints/managed_id_rewriter.py:328 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use the managed ID with the same provider it was created for; mint a new ID for the other provider if needed.","Check that the provider in the request path matches the provider embedded in the managed ID."],"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"}