BerriAI/litellm · error · HTTPException

Schema not found: {schema_id}

Error message

Schema not found: {schema_id}

What it means

GET /scim/v2/Schemas/{schema_id}: no schema whose id URI matches the path was found among the server's RFC 7643 schema definitions. The at-fault input is a schema URI the server does not expose; raised as 404.

Source

Thrown at litellm/proxy/management_endpoints/scim/scim_v2.py:1272

@scim_router.get(
    "/Schemas/{schema_id:path}",
    status_code=200,
    dependencies=[Depends(user_api_key_auth), Depends(set_scim_content_type)],
)
async def get_schema(
    request: Request,
    schema_id: str = Path(..., title="Schema URI"),
):
    """
    Get a single Schema by its URI per RFC 7643 Section 7.
    """
    verbose_proxy_logger.debug("SCIM Schema request for id=%s", schema_id)
    schemas: Final = _get_schemas()
    for s in schemas:
        if s.id == schema_id:
            return s.model_dump()
    raise HTTPException(
        status_code=404,
        detail={"error": f"Schema not found: {schema_id}"},
    )


@scim_router.get(
    "/ServiceProviderConfig",
    response_model=SCIMServiceProviderConfig,
    status_code=200,
    dependencies=[Depends(user_api_key_auth), Depends(set_scim_content_type)],
)
async def get_service_provider_config(request: Request):
    """Return SCIM Service Provider Configuration."""
    verbose_proxy_logger.debug(
        "SCIM ServiceProviderConfig request: method=%s url=%s headers=%s",
        request.method,
        request.url,
        _safe_get_request_headers(request),

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Use a valid schema id; list them via GET /Schemas.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at litellm/proxy/management_endpoints/scim/scim_v2.py:1272 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18). Data as JSON: /api/errors/6445db62c22943bd. Report an issue: GitHub.