diff --git a/ui/litellm-dashboard/src/lib/http/schema.d.ts b/ui/litellm-dashboard/src/lib/http/schema.d.ts index 137c67e837c..b4526834b98 100644 --- a/ui/litellm-dashboard/src/lib/http/schema.d.ts +++ b/ui/litellm-dashboard/src/lib/http/schema.d.ts @@ -16210,6 +16210,10 @@ export interface paths { * * Meant to optimize querying spend data for analytics for a user. * + * Reads immutable daily spend records, which are never affected by budget resets. + * This can legitimately exceed the `spend` field returned by `/v2/user/info`, which + * is a running budget counter zeroed on every budget reset. + * * Returns: * (by date) * - spend @@ -16241,6 +16245,10 @@ export interface paths { * Get User Daily Activity Aggregated * @description Aggregated analytics for a user's daily activity without pagination. * Returns the same response shape as the paginated endpoint with page metadata set to single-page. + * + * Reads immutable daily spend records, which are never affected by budget resets. + * This can legitimately exceed the `spend` field returned by `/v2/user/info`, which + * is a running budget counter zeroed on every budget reset. */ get: operations["get_user_daily_activity_aggregated_user_daily_activity_aggregated_get"]; put?: never; @@ -21004,6 +21012,13 @@ export interface paths { * This is the v2 replacement for /user/info, designed to avoid the "god endpoint" problem * where the old endpoint loaded all keys and teams into memory. * + * Note on `spend`: this is the user's running budget counter, which is zeroed by the + * budget reset job whenever `budget_reset_at` elapses (see `budget_duration`). It is NOT + * lifetime or per-period historical spend. For historical spend over a date range, use + * `/user/daily/activity` or `/user/daily/activity/aggregated`, which read immutable daily + * spend records that are never reset. The two values are expected to diverge once a + * budget reset has occurred within the queried period. + * * Access control: * - Proxy admins can query any user * - Team admins can query users within their teams