diff --git a/src/libs/OpenRouter/Generated/OpenRouter.ISubpackageVideoGenerationClient.CreateVideos.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.ISubpackageVideoGenerationClient.CreateVideos.g.cs
index 41c6417..08e2378 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.ISubpackageVideoGenerationClient.CreateVideos.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.ISubpackageVideoGenerationClient.CreateVideos.g.cs
@@ -24,6 +24,9 @@ public partial interface ISubpackageVideoGenerationClient
///
/// Aspect ratio of the generated video
///
+ ///
+ /// URL to receive a webhook notification when the video generation job completes. Overrides the workspace-level default callback URL if set. Must be HTTPS.
+ ///
///
/// Duration of the generated video in seconds
///
@@ -57,6 +60,7 @@ public partial interface ISubpackageVideoGenerationClient
string model,
string prompt,
global::OpenRouter.VideoGenerationRequestAspectRatio? aspectRatio = default,
+ string? callbackUrl = default,
int? duration = default,
global::System.Collections.Generic.IList? frameImages = default,
bool? generateAudio = default,
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.ISubpackageWorkspacesClient.CreateWorkspace.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.ISubpackageWorkspacesClient.CreateWorkspace.g.cs
index 1748a95..23cbd22 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.ISubpackageWorkspacesClient.CreateWorkspace.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.ISubpackageWorkspacesClient.CreateWorkspace.g.cs
@@ -33,6 +33,12 @@ public partial interface ISubpackageWorkspacesClient
///
/// Description of the workspace
///
+ ///
+ /// Optional array of API key IDs to filter I/O logging
+ ///
+ ///
+ /// Sampling rate for I/O logging (0.0001-1)
+ ///
///
/// Whether data discount logging is enabled
///
@@ -58,6 +64,8 @@ public partial interface ISubpackageWorkspacesClient
string? defaultProviderSort = default,
string? defaultTextModel = default,
string? description = default,
+ global::System.Collections.Generic.IList? ioLoggingApiKeyIds = default,
+ double? ioLoggingSamplingRate = default,
bool? isDataDiscountLoggingEnabled = default,
bool? isObservabilityBroadcastEnabled = default,
bool? isObservabilityIoLoggingEnabled = default,
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.ISubpackageWorkspacesClient.UpdateWorkspace.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.ISubpackageWorkspacesClient.UpdateWorkspace.g.cs
index 13ed86c..8d96c46 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.ISubpackageWorkspacesClient.UpdateWorkspace.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.ISubpackageWorkspacesClient.UpdateWorkspace.g.cs
@@ -36,6 +36,12 @@ public partial interface ISubpackageWorkspacesClient
///
/// New description for the workspace
///
+ ///
+ /// Optional array of API key IDs to filter I/O logging
+ ///
+ ///
+ /// Sampling rate for I/O logging (0.0001-1)
+ ///
///
/// Whether data discount logging is enabled
///
@@ -60,6 +66,8 @@ public partial interface ISubpackageWorkspacesClient
string? defaultProviderSort = default,
string? defaultTextModel = default,
string? description = default,
+ global::System.Collections.Generic.IList? ioLoggingApiKeyIds = default,
+ double? ioLoggingSamplingRate = default,
bool? isDataDiscountLoggingEnabled = default,
bool? isObservabilityBroadcastEnabled = default,
bool? isObservabilityIoLoggingEnabled = default,
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.CreateWorkspaceRequest.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.CreateWorkspaceRequest.g.cs
index 1f8cb88..63ac067 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.Models.CreateWorkspaceRequest.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.CreateWorkspaceRequest.g.cs
@@ -32,6 +32,18 @@ public sealed partial class CreateWorkspaceRequest
[global::System.Text.Json.Serialization.JsonPropertyName("description")]
public string? Description { get; set; }
+ ///
+ /// Optional array of API key IDs to filter I/O logging
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("io_logging_api_key_ids")]
+ public global::System.Collections.Generic.IList? IoLoggingApiKeyIds { get; set; }
+
+ ///
+ /// Sampling rate for I/O logging (0.0001-1)
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("io_logging_sampling_rate")]
+ public double? IoLoggingSamplingRate { get; set; }
+
///
/// Whether data discount logging is enabled
///
@@ -91,6 +103,12 @@ public sealed partial class CreateWorkspaceRequest
///
/// Description of the workspace
///
+ ///
+ /// Optional array of API key IDs to filter I/O logging
+ ///
+ ///
+ /// Sampling rate for I/O logging (0.0001-1)
+ ///
///
/// Whether data discount logging is enabled
///
@@ -110,6 +128,8 @@ public CreateWorkspaceRequest(
string? defaultProviderSort,
string? defaultTextModel,
string? description,
+ global::System.Collections.Generic.IList? ioLoggingApiKeyIds,
+ double? ioLoggingSamplingRate,
bool? isDataDiscountLoggingEnabled,
bool? isObservabilityBroadcastEnabled,
bool? isObservabilityIoLoggingEnabled)
@@ -118,6 +138,8 @@ public CreateWorkspaceRequest(
this.DefaultProviderSort = defaultProviderSort;
this.DefaultTextModel = defaultTextModel;
this.Description = description;
+ this.IoLoggingApiKeyIds = ioLoggingApiKeyIds;
+ this.IoLoggingSamplingRate = ioLoggingSamplingRate;
this.IsDataDiscountLoggingEnabled = isDataDiscountLoggingEnabled;
this.IsObservabilityBroadcastEnabled = isObservabilityBroadcastEnabled;
this.IsObservabilityIoLoggingEnabled = isObservabilityIoLoggingEnabled;
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.CreateWorkspaceResponseData.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.CreateWorkspaceResponseData.g.cs
index 9b06caf..bba6320 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.Models.CreateWorkspaceResponseData.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.CreateWorkspaceResponseData.g.cs
@@ -52,6 +52,19 @@ public sealed partial class CreateWorkspaceResponseData
[global::System.Text.Json.Serialization.JsonRequired]
public required global::System.Guid Id { get; set; }
+ ///
+ /// Optional array of API key IDs to filter I/O logging. Null means all keys are logged.
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("io_logging_api_key_ids")]
+ public global::System.Collections.Generic.IList? IoLoggingApiKeyIds { get; set; }
+
+ ///
+ /// Sampling rate for I/O logging (0.0001-1). 1 means 100% of requests are logged.
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("io_logging_sampling_rate")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required double IoLoggingSamplingRate { get; set; }
+
///
/// Whether data discount logging is enabled for this workspace
///
@@ -108,6 +121,9 @@ public sealed partial class CreateWorkspaceResponseData
///
/// Unique identifier for the workspace
///
+ ///
+ /// Sampling rate for I/O logging (0.0001-1). 1 means 100% of requests are logged.
+ ///
///
/// Whether data discount logging is enabled for this workspace
///
@@ -138,6 +154,9 @@ public sealed partial class CreateWorkspaceResponseData
///
/// Description of the workspace
///
+ ///
+ /// Optional array of API key IDs to filter I/O logging. Null means all keys are logged.
+ ///
///
/// ISO 8601 timestamp of when the workspace was last updated
///
@@ -147,6 +166,7 @@ public sealed partial class CreateWorkspaceResponseData
public CreateWorkspaceResponseData(
string createdAt,
global::System.Guid id,
+ double ioLoggingSamplingRate,
bool isDataDiscountLoggingEnabled,
bool isObservabilityBroadcastEnabled,
bool isObservabilityIoLoggingEnabled,
@@ -157,6 +177,7 @@ public CreateWorkspaceResponseData(
string? defaultProviderSort,
string? defaultTextModel,
string? description,
+ global::System.Collections.Generic.IList? ioLoggingApiKeyIds,
string? updatedAt)
{
this.CreatedAt = createdAt ?? throw new global::System.ArgumentNullException(nameof(createdAt));
@@ -166,6 +187,8 @@ public CreateWorkspaceResponseData(
this.DefaultTextModel = defaultTextModel;
this.Description = description;
this.Id = id;
+ this.IoLoggingApiKeyIds = ioLoggingApiKeyIds;
+ this.IoLoggingSamplingRate = ioLoggingSamplingRate;
this.IsDataDiscountLoggingEnabled = isDataDiscountLoggingEnabled;
this.IsObservabilityBroadcastEnabled = isObservabilityBroadcastEnabled;
this.IsObservabilityIoLoggingEnabled = isObservabilityIoLoggingEnabled;
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.GenerationResponseData.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.GenerationResponseData.g.cs
index 4d1647f..e01fb21 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.Models.GenerationResponseData.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.GenerationResponseData.g.cs
@@ -189,6 +189,12 @@ public sealed partial class GenerationResponseData
[global::System.Text.Json.Serialization.JsonPropertyName("request_id")]
public string? RequestId { get; set; }
+ ///
+ /// If this generation was served from response cache, contains the original generation ID. Null otherwise.
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("response_cache_source_id")]
+ public string? ResponseCacheSourceId { get; set; }
+
///
/// Router used for the request (e.g., openrouter/auto)
///
@@ -359,6 +365,9 @@ public sealed partial class GenerationResponseData
///
/// Unique identifier grouping all generations from a single API request
///
+ ///
+ /// If this generation was served from response cache, contains the original generation ID. Null otherwise.
+ ///
///
/// Router used for the request (e.g., openrouter/auto)
///
@@ -421,6 +430,7 @@ public GenerationResponseData(
string? providerName,
global::System.Collections.Generic.IList? providerResponses,
string? requestId,
+ string? responseCacheSourceId,
string? router,
string? sessionId,
bool? streamed,
@@ -460,6 +470,7 @@ public GenerationResponseData(
this.ProviderName = providerName;
this.ProviderResponses = providerResponses;
this.RequestId = requestId;
+ this.ResponseCacheSourceId = responseCacheSourceId;
this.Router = router;
this.SessionId = sessionId;
this.Streamed = streamed;
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.GetWorkspaceResponseData.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.GetWorkspaceResponseData.g.cs
index 1f2be9f..f3eb70c 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.Models.GetWorkspaceResponseData.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.GetWorkspaceResponseData.g.cs
@@ -52,6 +52,19 @@ public sealed partial class GetWorkspaceResponseData
[global::System.Text.Json.Serialization.JsonRequired]
public required global::System.Guid Id { get; set; }
+ ///
+ /// Optional array of API key IDs to filter I/O logging. Null means all keys are logged.
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("io_logging_api_key_ids")]
+ public global::System.Collections.Generic.IList? IoLoggingApiKeyIds { get; set; }
+
+ ///
+ /// Sampling rate for I/O logging (0.0001-1). 1 means 100% of requests are logged.
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("io_logging_sampling_rate")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required double IoLoggingSamplingRate { get; set; }
+
///
/// Whether data discount logging is enabled for this workspace
///
@@ -108,6 +121,9 @@ public sealed partial class GetWorkspaceResponseData
///
/// Unique identifier for the workspace
///
+ ///
+ /// Sampling rate for I/O logging (0.0001-1). 1 means 100% of requests are logged.
+ ///
///
/// Whether data discount logging is enabled for this workspace
///
@@ -138,6 +154,9 @@ public sealed partial class GetWorkspaceResponseData
///
/// Description of the workspace
///
+ ///
+ /// Optional array of API key IDs to filter I/O logging. Null means all keys are logged.
+ ///
///
/// ISO 8601 timestamp of when the workspace was last updated
///
@@ -147,6 +166,7 @@ public sealed partial class GetWorkspaceResponseData
public GetWorkspaceResponseData(
string createdAt,
global::System.Guid id,
+ double ioLoggingSamplingRate,
bool isDataDiscountLoggingEnabled,
bool isObservabilityBroadcastEnabled,
bool isObservabilityIoLoggingEnabled,
@@ -157,6 +177,7 @@ public GetWorkspaceResponseData(
string? defaultProviderSort,
string? defaultTextModel,
string? description,
+ global::System.Collections.Generic.IList? ioLoggingApiKeyIds,
string? updatedAt)
{
this.CreatedAt = createdAt ?? throw new global::System.ArgumentNullException(nameof(createdAt));
@@ -166,6 +187,8 @@ public GetWorkspaceResponseData(
this.DefaultTextModel = defaultTextModel;
this.Description = description;
this.Id = id;
+ this.IoLoggingApiKeyIds = ioLoggingApiKeyIds;
+ this.IoLoggingSamplingRate = ioLoggingSamplingRate;
this.IsDataDiscountLoggingEnabled = isDataDiscountLoggingEnabled;
this.IsObservabilityBroadcastEnabled = isObservabilityBroadcastEnabled;
this.IsObservabilityIoLoggingEnabled = isObservabilityIoLoggingEnabled;
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.UpdateWorkspaceRequest.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.UpdateWorkspaceRequest.g.cs
index b4a646a..a1d69d0 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.Models.UpdateWorkspaceRequest.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.UpdateWorkspaceRequest.g.cs
@@ -32,6 +32,18 @@ public sealed partial class UpdateWorkspaceRequest
[global::System.Text.Json.Serialization.JsonPropertyName("description")]
public string? Description { get; set; }
+ ///
+ /// Optional array of API key IDs to filter I/O logging
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("io_logging_api_key_ids")]
+ public global::System.Collections.Generic.IList? IoLoggingApiKeyIds { get; set; }
+
+ ///
+ /// Sampling rate for I/O logging (0.0001-1)
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("io_logging_sampling_rate")]
+ public double? IoLoggingSamplingRate { get; set; }
+
///
/// Whether data discount logging is enabled
///
@@ -83,6 +95,12 @@ public sealed partial class UpdateWorkspaceRequest
///
/// New description for the workspace
///
+ ///
+ /// Optional array of API key IDs to filter I/O logging
+ ///
+ ///
+ /// Sampling rate for I/O logging (0.0001-1)
+ ///
///
/// Whether data discount logging is enabled
///
@@ -106,6 +124,8 @@ public UpdateWorkspaceRequest(
string? defaultProviderSort,
string? defaultTextModel,
string? description,
+ global::System.Collections.Generic.IList? ioLoggingApiKeyIds,
+ double? ioLoggingSamplingRate,
bool? isDataDiscountLoggingEnabled,
bool? isObservabilityBroadcastEnabled,
bool? isObservabilityIoLoggingEnabled,
@@ -116,6 +136,8 @@ public UpdateWorkspaceRequest(
this.DefaultProviderSort = defaultProviderSort;
this.DefaultTextModel = defaultTextModel;
this.Description = description;
+ this.IoLoggingApiKeyIds = ioLoggingApiKeyIds;
+ this.IoLoggingSamplingRate = ioLoggingSamplingRate;
this.IsDataDiscountLoggingEnabled = isDataDiscountLoggingEnabled;
this.IsObservabilityBroadcastEnabled = isObservabilityBroadcastEnabled;
this.IsObservabilityIoLoggingEnabled = isObservabilityIoLoggingEnabled;
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.UpdateWorkspaceResponseData.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.UpdateWorkspaceResponseData.g.cs
index 6c051ef..5d04210 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.Models.UpdateWorkspaceResponseData.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.UpdateWorkspaceResponseData.g.cs
@@ -52,6 +52,19 @@ public sealed partial class UpdateWorkspaceResponseData
[global::System.Text.Json.Serialization.JsonRequired]
public required global::System.Guid Id { get; set; }
+ ///
+ /// Optional array of API key IDs to filter I/O logging. Null means all keys are logged.
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("io_logging_api_key_ids")]
+ public global::System.Collections.Generic.IList? IoLoggingApiKeyIds { get; set; }
+
+ ///
+ /// Sampling rate for I/O logging (0.0001-1). 1 means 100% of requests are logged.
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("io_logging_sampling_rate")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required double IoLoggingSamplingRate { get; set; }
+
///
/// Whether data discount logging is enabled for this workspace
///
@@ -108,6 +121,9 @@ public sealed partial class UpdateWorkspaceResponseData
///
/// Unique identifier for the workspace
///
+ ///
+ /// Sampling rate for I/O logging (0.0001-1). 1 means 100% of requests are logged.
+ ///
///
/// Whether data discount logging is enabled for this workspace
///
@@ -138,6 +154,9 @@ public sealed partial class UpdateWorkspaceResponseData
///
/// Description of the workspace
///
+ ///
+ /// Optional array of API key IDs to filter I/O logging. Null means all keys are logged.
+ ///
///
/// ISO 8601 timestamp of when the workspace was last updated
///
@@ -147,6 +166,7 @@ public sealed partial class UpdateWorkspaceResponseData
public UpdateWorkspaceResponseData(
string createdAt,
global::System.Guid id,
+ double ioLoggingSamplingRate,
bool isDataDiscountLoggingEnabled,
bool isObservabilityBroadcastEnabled,
bool isObservabilityIoLoggingEnabled,
@@ -157,6 +177,7 @@ public UpdateWorkspaceResponseData(
string? defaultProviderSort,
string? defaultTextModel,
string? description,
+ global::System.Collections.Generic.IList? ioLoggingApiKeyIds,
string? updatedAt)
{
this.CreatedAt = createdAt ?? throw new global::System.ArgumentNullException(nameof(createdAt));
@@ -166,6 +187,8 @@ public UpdateWorkspaceResponseData(
this.DefaultTextModel = defaultTextModel;
this.Description = description;
this.Id = id;
+ this.IoLoggingApiKeyIds = ioLoggingApiKeyIds;
+ this.IoLoggingSamplingRate = ioLoggingSamplingRate;
this.IsDataDiscountLoggingEnabled = isDataDiscountLoggingEnabled;
this.IsObservabilityBroadcastEnabled = isObservabilityBroadcastEnabled;
this.IsObservabilityIoLoggingEnabled = isObservabilityIoLoggingEnabled;
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.VideoGenerationRequest.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.VideoGenerationRequest.g.cs
index 07ac8c6..ff7978d 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.Models.VideoGenerationRequest.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.VideoGenerationRequest.g.cs
@@ -15,6 +15,12 @@ public sealed partial class VideoGenerationRequest
[global::System.Text.Json.Serialization.JsonConverter(typeof(global::OpenRouter.JsonConverters.VideoGenerationRequestAspectRatioJsonConverter))]
public global::OpenRouter.VideoGenerationRequestAspectRatio? AspectRatio { get; set; }
+ ///
+ /// URL to receive a webhook notification when the video generation job completes. Overrides the workspace-level default callback URL if set. Must be HTTPS.
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("callback_url")]
+ public string? CallbackUrl { get; set; }
+
///
/// Duration of the generated video in seconds
///
@@ -92,6 +98,9 @@ public sealed partial class VideoGenerationRequest
///
/// Aspect ratio of the generated video
///
+ ///
+ /// URL to receive a webhook notification when the video generation job completes. Overrides the workspace-level default callback URL if set. Must be HTTPS.
+ ///
///
/// Duration of the generated video in seconds
///
@@ -123,6 +132,7 @@ public VideoGenerationRequest(
string model,
string prompt,
global::OpenRouter.VideoGenerationRequestAspectRatio? aspectRatio,
+ string? callbackUrl,
int? duration,
global::System.Collections.Generic.IList? frameImages,
bool? generateAudio,
@@ -133,6 +143,7 @@ public VideoGenerationRequest(
string? size)
{
this.AspectRatio = aspectRatio;
+ this.CallbackUrl = callbackUrl;
this.Duration = duration;
this.FrameImages = frameImages;
this.GenerateAudio = generateAudio;
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.Workspace.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.Workspace.g.cs
index 1816ba7..551c5cd 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.Models.Workspace.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.Workspace.g.cs
@@ -52,6 +52,19 @@ public sealed partial class Workspace
[global::System.Text.Json.Serialization.JsonRequired]
public required global::System.Guid Id { get; set; }
+ ///
+ /// Optional array of API key IDs to filter I/O logging. Null means all keys are logged.
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("io_logging_api_key_ids")]
+ public global::System.Collections.Generic.IList? IoLoggingApiKeyIds { get; set; }
+
+ ///
+ /// Sampling rate for I/O logging (0.0001-1). 1 means 100% of requests are logged.
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("io_logging_sampling_rate")]
+ [global::System.Text.Json.Serialization.JsonRequired]
+ public required double IoLoggingSamplingRate { get; set; }
+
///
/// Whether data discount logging is enabled for this workspace
///
@@ -108,6 +121,9 @@ public sealed partial class Workspace
///
/// Unique identifier for the workspace
///
+ ///
+ /// Sampling rate for I/O logging (0.0001-1). 1 means 100% of requests are logged.
+ ///
///
/// Whether data discount logging is enabled for this workspace
///
@@ -138,6 +154,9 @@ public sealed partial class Workspace
///
/// Description of the workspace
///
+ ///
+ /// Optional array of API key IDs to filter I/O logging. Null means all keys are logged.
+ ///
///
/// ISO 8601 timestamp of when the workspace was last updated
///
@@ -147,6 +166,7 @@ public sealed partial class Workspace
public Workspace(
string createdAt,
global::System.Guid id,
+ double ioLoggingSamplingRate,
bool isDataDiscountLoggingEnabled,
bool isObservabilityBroadcastEnabled,
bool isObservabilityIoLoggingEnabled,
@@ -157,6 +177,7 @@ public Workspace(
string? defaultProviderSort,
string? defaultTextModel,
string? description,
+ global::System.Collections.Generic.IList? ioLoggingApiKeyIds,
string? updatedAt)
{
this.CreatedAt = createdAt ?? throw new global::System.ArgumentNullException(nameof(createdAt));
@@ -166,6 +187,8 @@ public Workspace(
this.DefaultTextModel = defaultTextModel;
this.Description = description;
this.Id = id;
+ this.IoLoggingApiKeyIds = ioLoggingApiKeyIds;
+ this.IoLoggingSamplingRate = ioLoggingSamplingRate;
this.IsDataDiscountLoggingEnabled = isDataDiscountLoggingEnabled;
this.IsObservabilityBroadcastEnabled = isObservabilityBroadcastEnabled;
this.IsObservabilityIoLoggingEnabled = isObservabilityIoLoggingEnabled;
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.SubpackageVideoGenerationClient.CreateVideos.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.SubpackageVideoGenerationClient.CreateVideos.g.cs
index c5c8a4d..afacd44 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.SubpackageVideoGenerationClient.CreateVideos.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.SubpackageVideoGenerationClient.CreateVideos.g.cs
@@ -622,6 +622,9 @@ partial void ProcessCreateVideosResponseContent(
///
/// Aspect ratio of the generated video
///
+ ///
+ /// URL to receive a webhook notification when the video generation job completes. Overrides the workspace-level default callback URL if set. Must be HTTPS.
+ ///
///
/// Duration of the generated video in seconds
///
@@ -655,6 +658,7 @@ partial void ProcessCreateVideosResponseContent(
string model,
string prompt,
global::OpenRouter.VideoGenerationRequestAspectRatio? aspectRatio = default,
+ string? callbackUrl = default,
int? duration = default,
global::System.Collections.Generic.IList? frameImages = default,
bool? generateAudio = default,
@@ -669,6 +673,7 @@ partial void ProcessCreateVideosResponseContent(
var __request = new global::OpenRouter.VideoGenerationRequest
{
AspectRatio = aspectRatio,
+ CallbackUrl = callbackUrl,
Duration = duration,
FrameImages = frameImages,
GenerateAudio = generateAudio,
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.SubpackageWorkspacesClient.CreateWorkspace.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.SubpackageWorkspacesClient.CreateWorkspace.g.cs
index 694df01..265d5ee 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.SubpackageWorkspacesClient.CreateWorkspace.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.SubpackageWorkspacesClient.CreateWorkspace.g.cs
@@ -555,6 +555,12 @@ partial void ProcessCreateWorkspaceResponseContent(
///
/// Description of the workspace
///
+ ///
+ /// Optional array of API key IDs to filter I/O logging
+ ///
+ ///
+ /// Sampling rate for I/O logging (0.0001-1)
+ ///
///
/// Whether data discount logging is enabled
///
@@ -580,6 +586,8 @@ partial void ProcessCreateWorkspaceResponseContent(
string? defaultProviderSort = default,
string? defaultTextModel = default,
string? description = default,
+ global::System.Collections.Generic.IList? ioLoggingApiKeyIds = default,
+ double? ioLoggingSamplingRate = default,
bool? isDataDiscountLoggingEnabled = default,
bool? isObservabilityBroadcastEnabled = default,
bool? isObservabilityIoLoggingEnabled = default,
@@ -592,6 +600,8 @@ partial void ProcessCreateWorkspaceResponseContent(
DefaultProviderSort = defaultProviderSort,
DefaultTextModel = defaultTextModel,
Description = description,
+ IoLoggingApiKeyIds = ioLoggingApiKeyIds,
+ IoLoggingSamplingRate = ioLoggingSamplingRate,
IsDataDiscountLoggingEnabled = isDataDiscountLoggingEnabled,
IsObservabilityBroadcastEnabled = isObservabilityBroadcastEnabled,
IsObservabilityIoLoggingEnabled = isObservabilityIoLoggingEnabled,
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.SubpackageWorkspacesClient.UpdateWorkspace.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.SubpackageWorkspacesClient.UpdateWorkspace.g.cs
index 17ef08c..041d301 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.SubpackageWorkspacesClient.UpdateWorkspace.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.SubpackageWorkspacesClient.UpdateWorkspace.g.cs
@@ -600,6 +600,12 @@ partial void ProcessUpdateWorkspaceResponseContent(
///
/// New description for the workspace
///
+ ///
+ /// Optional array of API key IDs to filter I/O logging
+ ///
+ ///
+ /// Sampling rate for I/O logging (0.0001-1)
+ ///
///
/// Whether data discount logging is enabled
///
@@ -624,6 +630,8 @@ partial void ProcessUpdateWorkspaceResponseContent(
string? defaultProviderSort = default,
string? defaultTextModel = default,
string? description = default,
+ global::System.Collections.Generic.IList? ioLoggingApiKeyIds = default,
+ double? ioLoggingSamplingRate = default,
bool? isDataDiscountLoggingEnabled = default,
bool? isObservabilityBroadcastEnabled = default,
bool? isObservabilityIoLoggingEnabled = default,
@@ -638,6 +646,8 @@ partial void ProcessUpdateWorkspaceResponseContent(
DefaultProviderSort = defaultProviderSort,
DefaultTextModel = defaultTextModel,
Description = description,
+ IoLoggingApiKeyIds = ioLoggingApiKeyIds,
+ IoLoggingSamplingRate = ioLoggingSamplingRate,
IsDataDiscountLoggingEnabled = isDataDiscountLoggingEnabled,
IsObservabilityBroadcastEnabled = isObservabilityBroadcastEnabled,
IsObservabilityIoLoggingEnabled = isObservabilityIoLoggingEnabled,
diff --git a/src/libs/OpenRouter/openapi.yaml b/src/libs/OpenRouter/openapi.yaml
index dcef22b..150fdd7 100644
--- a/src/libs/OpenRouter/openapi.yaml
+++ b/src/libs/OpenRouter/openapi.yaml
@@ -15990,6 +15990,13 @@
],
"description": "Unique identifier grouping all generations from a single API request"
},
+ "response_cache_source_id": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "description": "If this generation was served from response cache, contains the original generation ID. Null otherwise."
+ },
"router": {
"type": [
"string",
@@ -23854,6 +23861,11 @@
"$ref": "#/components/schemas/VideoGenerationRequestAspectRatio",
"description": "Aspect ratio of the generated video"
},
+ "callback_url": {
+ "type": "string",
+ "format": "uri",
+ "description": "URL to receive a webhook notification when the video generation job completes. Overrides the workspace-level default callback URL if set. Must be HTTPS."
+ },
"duration": {
"type": "integer",
"description": "Duration of the generated video in seconds"
@@ -24229,6 +24241,21 @@
"format": "uuid",
"description": "Unique identifier for the workspace"
},
+ "io_logging_api_key_ids": {
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "type": "integer"
+ },
+ "description": "Optional array of API key IDs to filter I/O logging. Null means all keys are logged."
+ },
+ "io_logging_sampling_rate": {
+ "type": "number",
+ "format": "double",
+ "description": "Sampling rate for I/O logging (0.0001-1). 1 means 100% of requests are logged."
+ },
"is_data_discount_logging_enabled": {
"type": "boolean",
"description": "Whether data discount logging is enabled for this workspace"
@@ -24265,6 +24292,8 @@
"default_text_model",
"description",
"id",
+ "io_logging_api_key_ids",
+ "io_logging_sampling_rate",
"is_data_discount_logging_enabled",
"is_observability_broadcast_enabled",
"is_observability_io_logging_enabled",
@@ -24326,6 +24355,21 @@
],
"description": "Description of the workspace"
},
+ "io_logging_api_key_ids": {
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "type": "integer"
+ },
+ "description": "Optional array of API key IDs to filter I/O logging"
+ },
+ "io_logging_sampling_rate": {
+ "type": "number",
+ "format": "double",
+ "description": "Sampling rate for I/O logging (0.0001-1)"
+ },
"is_data_discount_logging_enabled": {
"type": "boolean",
"description": "Whether data discount logging is enabled"
@@ -24400,6 +24444,21 @@
"format": "uuid",
"description": "Unique identifier for the workspace"
},
+ "io_logging_api_key_ids": {
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "type": "integer"
+ },
+ "description": "Optional array of API key IDs to filter I/O logging. Null means all keys are logged."
+ },
+ "io_logging_sampling_rate": {
+ "type": "number",
+ "format": "double",
+ "description": "Sampling rate for I/O logging (0.0001-1). 1 means 100% of requests are logged."
+ },
"is_data_discount_logging_enabled": {
"type": "boolean",
"description": "Whether data discount logging is enabled for this workspace"
@@ -24436,6 +24495,8 @@
"default_text_model",
"description",
"id",
+ "io_logging_api_key_ids",
+ "io_logging_sampling_rate",
"is_data_discount_logging_enabled",
"is_observability_broadcast_enabled",
"is_observability_io_logging_enabled",
@@ -24504,6 +24565,21 @@
"format": "uuid",
"description": "Unique identifier for the workspace"
},
+ "io_logging_api_key_ids": {
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "type": "integer"
+ },
+ "description": "Optional array of API key IDs to filter I/O logging. Null means all keys are logged."
+ },
+ "io_logging_sampling_rate": {
+ "type": "number",
+ "format": "double",
+ "description": "Sampling rate for I/O logging (0.0001-1). 1 means 100% of requests are logged."
+ },
"is_data_discount_logging_enabled": {
"type": "boolean",
"description": "Whether data discount logging is enabled for this workspace"
@@ -24540,6 +24616,8 @@
"default_text_model",
"description",
"id",
+ "io_logging_api_key_ids",
+ "io_logging_sampling_rate",
"is_data_discount_logging_enabled",
"is_observability_broadcast_enabled",
"is_observability_io_logging_enabled",
@@ -24608,6 +24686,21 @@
],
"description": "New description for the workspace"
},
+ "io_logging_api_key_ids": {
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "type": "integer"
+ },
+ "description": "Optional array of API key IDs to filter I/O logging"
+ },
+ "io_logging_sampling_rate": {
+ "type": "number",
+ "format": "double",
+ "description": "Sampling rate for I/O logging (0.0001-1)"
+ },
"is_data_discount_logging_enabled": {
"type": "boolean",
"description": "Whether data discount logging is enabled"
@@ -24678,6 +24771,21 @@
"format": "uuid",
"description": "Unique identifier for the workspace"
},
+ "io_logging_api_key_ids": {
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "type": "integer"
+ },
+ "description": "Optional array of API key IDs to filter I/O logging. Null means all keys are logged."
+ },
+ "io_logging_sampling_rate": {
+ "type": "number",
+ "format": "double",
+ "description": "Sampling rate for I/O logging (0.0001-1). 1 means 100% of requests are logged."
+ },
"is_data_discount_logging_enabled": {
"type": "boolean",
"description": "Whether data discount logging is enabled for this workspace"
@@ -24714,6 +24822,8 @@
"default_text_model",
"description",
"id",
+ "io_logging_api_key_ids",
+ "io_logging_sampling_rate",
"is_data_discount_logging_enabled",
"is_observability_broadcast_enabled",
"is_observability_io_logging_enabled",