    @app.get("/api/v2/stats/model-usage")
    async def model_usage_stats(
        days: int = Query(default=7, ge=1, le=90),
        purpose: str = Query(default="", pattern="^(chat|guard|knowledge)?$"),
        provider_id: str = Query(default="", max_length=256),
        model: str = Query(default="", max_length=512),
        account_id: int | None = None,
        principal: Principal = Depends(require("stats:read")),
    ) -> dict:
        return database.model_usage_stats(
            days, resolve_admin_tenant(principal, account_id), purpose, provider_id, model)

    @app.get("/api/v2/stats/model-usage/log")
    async def model_usage_log(
        days: int = Query(default=7, ge=1, le=90),
        limit: int = Query(default=50, ge=1, le=200),
        offset: int = Query(default=0, ge=0),
        purpose: str = Query(default="", pattern="^(chat|guard|knowledge)?$"),
        provider_id: str = Query(default="", max_length=256),
        model: str = Query(default="", max_length=512),
        account_id: int | None = None,
        principal: Principal = Depends(require("stats:read")),
    ) -> dict:
        return database.list_model_usage(
            days, limit, offset, resolve_admin_tenant(principal, account_id), purpose, provider_id, model)
