diff --git a/src/cli/Baseten.CLI/Commands/GetRoutesUsageCommandApiCommand.g.cs b/src/cli/Baseten.CLI/Commands/GetRoutesUsageCommandApiCommand.g.cs index 17410fb..997be2c 100644 --- a/src/cli/Baseten.CLI/Commands/GetRoutesUsageCommandApiCommand.g.cs +++ b/src/cli/Baseten.CLI/Commands/GetRoutesUsageCommandApiCommand.g.cs @@ -40,7 +40,7 @@ internal static partial class GetRoutesUsageCommandApiCommand private static Option?> GroupBy { get; } = new( name: @"--group-by") { - Description = @"Dimensions to break usage down by, repeated once per dimension: USER, TEAM, MODEL, or PROVIDER. Each result represents one observed combination of the requested dimensions within that day, and results are sorted by those values. Combinations without usage are omitted, so result counts can differ between days. Defaults to MODEL.", + Description = @"Dimensions to break usage down by, repeated once per dimension: USER, TEAM, MODEL, PROVIDER, or ROUTER. Each result represents one observed combination of the requested dimensions within that day, and results are sorted by those values. Combinations without usage are omitted, so result counts can differ between days. ROUTER returns only usage sent through an intelligent router, one row per router, or per router and model with MODEL. Router rows repeat usage already counted in other groupings, so don't add them to model totals. Defaults to MODEL.", }; private static Option?> UserIds { get; } = new( diff --git a/src/libs/Baseten/Generated/Baseten.Models.RouteUsageDimensionV1.g.cs b/src/libs/Baseten/Generated/Baseten.Models.RouteUsageDimensionV1.g.cs index dcbba45..e62b9aa 100644 --- a/src/libs/Baseten/Generated/Baseten.Models.RouteUsageDimensionV1.g.cs +++ b/src/libs/Baseten/Generated/Baseten.Models.RouteUsageDimensionV1.g.cs @@ -19,6 +19,10 @@ public enum RouteUsageDimensionV1 /// /// /// + Router, + /// + /// + /// Team, /// /// @@ -40,6 +44,7 @@ public static string ToValueString(this RouteUsageDimensionV1 value) { RouteUsageDimensionV1.Model => "MODEL", RouteUsageDimensionV1.Provider => "PROVIDER", + RouteUsageDimensionV1.Router => "ROUTER", RouteUsageDimensionV1.Team => "TEAM", RouteUsageDimensionV1.User => "USER", _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), @@ -54,6 +59,7 @@ public static string ToValueString(this RouteUsageDimensionV1 value) { "MODEL" => RouteUsageDimensionV1.Model, "PROVIDER" => RouteUsageDimensionV1.Provider, + "ROUTER" => RouteUsageDimensionV1.Router, "TEAM" => RouteUsageDimensionV1.Team, "USER" => RouteUsageDimensionV1.User, _ => null, diff --git a/src/libs/Baseten/Generated/Baseten.Models.RoutesUsageRequestV1.g.cs b/src/libs/Baseten/Generated/Baseten.Models.RoutesUsageRequestV1.g.cs index 7701338..b239b0f 100644 --- a/src/libs/Baseten/Generated/Baseten.Models.RoutesUsageRequestV1.g.cs +++ b/src/libs/Baseten/Generated/Baseten.Models.RoutesUsageRequestV1.g.cs @@ -44,7 +44,7 @@ public sealed partial class RoutesUsageRequestV1 public global::System.DateTime? EndDate { get; set; } /// - /// Dimensions to break usage down by, repeated once per dimension: USER, TEAM, MODEL, or PROVIDER. Each result represents one observed combination of the requested dimensions within that day, and results are sorted by those values. Combinations without usage are omitted, so result counts can differ between days. Defaults to MODEL. + /// Dimensions to break usage down by, repeated once per dimension: USER, TEAM, MODEL, PROVIDER, or ROUTER. Each result represents one observed combination of the requested dimensions within that day, and results are sorted by those values. Combinations without usage are omitted, so result counts can differ between days. ROUTER returns only usage sent through an intelligent router, one row per router, or per router and model with MODEL. Router rows repeat usage already counted in other groupings, so don't add them to model totals. Defaults to MODEL. /// [global::System.Text.Json.Serialization.JsonPropertyName("group_by")] public global::System.Collections.Generic.IList? GroupBy { get; set; } @@ -97,7 +97,7 @@ public sealed partial class RoutesUsageRequestV1 /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 /// /// - /// Dimensions to break usage down by, repeated once per dimension: USER, TEAM, MODEL, or PROVIDER. Each result represents one observed combination of the requested dimensions within that day, and results are sorted by those values. Combinations without usage are omitted, so result counts can differ between days. Defaults to MODEL. + /// Dimensions to break usage down by, repeated once per dimension: USER, TEAM, MODEL, PROVIDER, or ROUTER. Each result represents one observed combination of the requested dimensions within that day, and results are sorted by those values. Combinations without usage are omitted, so result counts can differ between days. ROUTER returns only usage sent through an intelligent router, one row per router, or per router and model with MODEL. Router rows repeat usage already counted in other groupings, so don't add them to model totals. Defaults to MODEL. /// /// /// Return only usage from Routes keys created by these user IDs, repeated once per ID. diff --git a/src/libs/Baseten/Generated/Baseten.Models.RoutesUsageResultV1.g.cs b/src/libs/Baseten/Generated/Baseten.Models.RoutesUsageResultV1.g.cs index 967764e..2ff1121 100644 --- a/src/libs/Baseten/Generated/Baseten.Models.RoutesUsageResultV1.g.cs +++ b/src/libs/Baseten/Generated/Baseten.Models.RoutesUsageResultV1.g.cs @@ -36,6 +36,13 @@ public sealed partial class RoutesUsageResultV1 [global::System.Text.Json.Serialization.JsonPropertyName("provider")] public global::Baseten.RouteProviderV1? Provider { get; set; } + /// + /// Slug of the intelligent router, matching its name in `GET /v1/routes`. Null when not grouping by ROUTER.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("router_id")] + public string? RouterId { get; set; } + /// /// Estimated cost in USD, returned as an exact decimal string. Costs for OpenAI, Anthropic, and xAI estimate what you pay those providers; they are not Baseten charges. /// @@ -71,6 +78,13 @@ public sealed partial class RoutesUsageResultV1 [global::System.Text.Json.Serialization.JsonRequired] public required int OutputTokens { get; set; } + /// + /// Number of requests; with ROUTER, the requests sent through that router. Usage recorded before requests were counted adds zero. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("requests")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int Requests { get; set; } + /// /// Additional properties that are not explicitly defined in the schema /// @@ -95,6 +109,9 @@ public sealed partial class RoutesUsageResultV1 /// /// Output tokens. /// + /// + /// Number of requests; with ROUTER, the requests sent through that router. Usage recorded before requests were counted adds zero. + /// /// /// ID of the user who created the Routes key. Null when not grouping by USER.
/// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 @@ -111,6 +128,10 @@ public sealed partial class RoutesUsageResultV1 /// Provider that served the requests. Null when not grouping by PROVIDER.
/// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 /// + /// + /// Slug of the intelligent router, matching its name in `GET /v1/routes`. Null when not grouping by ROUTER.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + /// #if NET7_0_OR_GREATER [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] #endif @@ -120,20 +141,24 @@ public RoutesUsageResultV1( int cachedInputTokens, int uncachedInputTokens, int outputTokens, + int requests, string? userId, string? teamId, string? model, - global::Baseten.RouteProviderV1? provider) + global::Baseten.RouteProviderV1? provider, + string? routerId) { this.UserId = userId; this.TeamId = teamId; this.Model = model; this.Provider = provider; + this.RouterId = routerId; this.CostUsd = costUsd ?? throw new global::System.ArgumentNullException(nameof(costUsd)); this.InputTokens = inputTokens; this.CachedInputTokens = cachedInputTokens; this.UncachedInputTokens = uncachedInputTokens; this.OutputTokens = outputTokens; + this.Requests = requests; } /// diff --git a/src/libs/Baseten/openapi.yaml b/src/libs/Baseten/openapi.yaml index 684fc84..1d336d1 100644 --- a/src/libs/Baseten/openapi.yaml +++ b/src/libs/Baseten/openapi.yaml @@ -10248,7 +10248,7 @@ "name": "group_by", "in": "query", "required": false, - "description": "Dimensions to break usage down by, repeated once per dimension: USER, TEAM, MODEL, or PROVIDER. Each result represents one observed combination of the requested dimensions within that day, and results are sorted by those values. Combinations without usage are omitted, so result counts can differ between days. Defaults to MODEL.", + "description": "Dimensions to break usage down by, repeated once per dimension: USER, TEAM, MODEL, PROVIDER, or ROUTER. Each result represents one observed combination of the requested dimensions within that day, and results are sorted by those values. Combinations without usage are omitted, so result counts can differ between days. ROUTER returns only usage sent through an intelligent router, one row per router, or per router and model with MODEL. Router rows repeat usage already counted in other groupings, so don't add them to model totals. Defaults to MODEL.", "schema": { "items": { "$ref": "#/components/schemas/RouteUsageDimensionV1" @@ -33956,6 +33956,19 @@ "default": null, "description": "Provider that served the requests. Null when not grouping by PROVIDER." }, + "router_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Slug of the intelligent router, matching its name in `GET /v1/routes`. Null when not grouping by ROUTER.", + "title": "Router Id" + }, "cost_usd": { "description": "Estimated cost in USD, returned as an exact decimal string. Costs for OpenAI, Anthropic, and xAI estimate what you pay those providers; they are not Baseten charges.", "examples": [ @@ -33983,6 +33996,11 @@ "description": "Output tokens.", "title": "Output Tokens", "type": "integer" + }, + "requests": { + "description": "Number of requests; with ROUTER, the requests sent through that router. Usage recorded before requests were counted adds zero.", + "title": "Requests", + "type": "integer" } }, "required": [ @@ -33990,7 +34008,8 @@ "input_tokens", "cached_input_tokens", "uncached_input_tokens", - "output_tokens" + "output_tokens", + "requests" ], "title": "RoutesUsageResultV1", "type": "object" @@ -34022,7 +34041,8 @@ "USER", "TEAM", "MODEL", - "PROVIDER" + "PROVIDER", + "ROUTER" ], "title": "RouteUsageDimensionV1", "type": "string" @@ -34092,7 +34112,7 @@ "title": "End Date" }, "group_by": { - "description": "Dimensions to break usage down by, repeated once per dimension: USER, TEAM, MODEL, or PROVIDER. Each result represents one observed combination of the requested dimensions within that day, and results are sorted by those values. Combinations without usage are omitted, so result counts can differ between days. Defaults to MODEL.", + "description": "Dimensions to break usage down by, repeated once per dimension: USER, TEAM, MODEL, PROVIDER, or ROUTER. Each result represents one observed combination of the requested dimensions within that day, and results are sorted by those values. Combinations without usage are omitted, so result counts can differ between days. ROUTER returns only usage sent through an intelligent router, one row per router, or per router and model with MODEL. Router rows repeat usage already counted in other groupings, so don't add them to model totals. Defaults to MODEL.", "items": { "$ref": "#/components/schemas/RouteUsageDimensionV1" },