diff --git a/src/libs/OpenRouter/Generated/OpenRouter.BatchClient.CreateBatches.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.BatchClient.CreateBatches.g.cs
index ad9eca10..e2d01468 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.BatchClient.CreateBatches.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.BatchClient.CreateBatches.g.cs
@@ -813,7 +813,7 @@ partial void ProcessCreateBatchesResponseContent(
///
///
///
- /// Batch provider routing preferences. Only `provider.only` is supported.
+ /// Batch provider routing preferences. Only `provider.only` and `provider.allow_fallbacks` are supported.
/// Example: {"only":["google-vertex"]}
///
///
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.IBatchClient.CreateBatches.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.IBatchClient.CreateBatches.g.cs
index 6e4503f6..3b0a2801 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.IBatchClient.CreateBatches.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.IBatchClient.CreateBatches.g.cs
@@ -40,7 +40,7 @@ public partial interface IBatchClient
///
///
///
- /// Batch provider routing preferences. Only `provider.only` is supported.
+ /// Batch provider routing preferences. Only `provider.only` and `provider.allow_fallbacks` are supported.
/// Example: {"only":["google-vertex"]}
///
///
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.BatchProviderPreferences.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.BatchProviderPreferences.g.cs
index da8b5349..f5847b24 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.Models.BatchProviderPreferences.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.BatchProviderPreferences.g.cs
@@ -4,11 +4,19 @@
namespace OpenRouter
{
///
- /// Batch provider routing preferences. Only `provider.only` is supported.
+ /// Batch provider routing preferences. Only `provider.only` and `provider.allow_fallbacks` are supported.
/// Example: {"only":["google-vertex"]}
///
public sealed partial class BatchProviderPreferences
{
+ ///
+ /// Whether to allow backup providers to serve requests
+ /// - true: (default) when the primary provider (or your custom providers in "order") is unavailable, use the next best provider.
+ /// - false: use only the primary/custom provider, and return the upstream error if it's unavailable.
+ ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("allow_fallbacks")]
+ public bool? AllowFallbacks { get; set; }
+
///
/// List of provider slugs to allow. If provided, this list is merged with your account-wide allowed provider settings for this request.
/// Example: [openai, anthropic]
@@ -26,6 +34,11 @@ public sealed partial class BatchProviderPreferences
///
/// Initializes a new instance of the class.
///
+ ///
+ /// Whether to allow backup providers to serve requests
+ /// - true: (default) when the primary provider (or your custom providers in "order") is unavailable, use the next best provider.
+ /// - false: use only the primary/custom provider, and return the upstream error if it's unavailable.
+ ///
///
/// List of provider slugs to allow. If provided, this list is merged with your account-wide allowed provider settings for this request.
/// Example: [openai, anthropic]
@@ -34,8 +47,10 @@ public sealed partial class BatchProviderPreferences
[global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers]
#endif
public BatchProviderPreferences(
+ bool? allowFallbacks,
global::System.Collections.Generic.IList>? only)
{
+ this.AllowFallbacks = allowFallbacks;
this.Only = only;
}
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.BatchSubmitBody.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.BatchSubmitBody.g.cs
index f2019be0..35cbaf44 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.Models.BatchSubmitBody.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.BatchSubmitBody.g.cs
@@ -31,7 +31,7 @@ public sealed partial class BatchSubmitBody
public required string Model { get; set; }
///
- /// Batch provider routing preferences. Only `provider.only` is supported.
+ /// Batch provider routing preferences. Only `provider.only` and `provider.allow_fallbacks` are supported.
/// Example: {"only":["google-vertex"]}
///
/// {"only":["google-vertex"]}
@@ -61,7 +61,7 @@ public sealed partial class BatchSubmitBody
/// Default Value: 24h
///
///
- /// Batch provider routing preferences. Only `provider.only` is supported.
+ /// Batch provider routing preferences. Only `provider.only` and `provider.allow_fallbacks` are supported.
/// Example: {"only":["google-vertex"]}
///
#if NET7_0_OR_GREATER
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.CreateAudioTranscriptionsRequest.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.CreateAudioTranscriptionsRequest.g.cs
index ee6ef671..d6cb1668 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.Models.CreateAudioTranscriptionsRequest.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.CreateAudioTranscriptionsRequest.g.cs
@@ -65,7 +65,7 @@ public sealed partial class CreateAudioTranscriptionsRequest
public string? SessionId { get; set; }
///
- /// Publicly reachable http(s) URL of the audio file, downloaded by the provider directly (no size limit on our side). The format is derived from the URL path extension. Only supported by some providers; exactly one of file or source_url is required.
+ /// Publicly reachable http(s) URL of the audio file, downloaded by the provider directly (no size limit on our side). The request is billed on the duration the provider reports, so your balance must cover the provider's maximum accepted duration at the endpoint rate (402 otherwise); private-network, loopback, link-local, cloud-metadata, and tunnel hosts are rejected. The format is derived from the URL path extension. Only supported by some providers; exactly one of file or source_url is required.
///
[global::System.Text.Json.Serialization.JsonPropertyName("source_url")]
public string? SourceUrl { get; set; }
@@ -131,7 +131,7 @@ public sealed partial class CreateAudioTranscriptionsRequest
/// A unique identifier for grouping related requests (e.g., a conversation or agent workflow). Used for observability grouping in Broadcast and private logging; never sent to the provider. If provided in both the request body and the x-session-id header, the body value takes precedence.
///
///
- /// Publicly reachable http(s) URL of the audio file, downloaded by the provider directly (no size limit on our side). The format is derived from the URL path extension. Only supported by some providers; exactly one of file or source_url is required.
+ /// Publicly reachable http(s) URL of the audio file, downloaded by the provider directly (no size limit on our side). The request is billed on the duration the provider reports, so your balance must cover the provider's maximum accepted duration at the endpoint rate (402 otherwise); private-network, loopback, link-local, cloud-metadata, and tunnel hosts are rejected. The format is derived from the URL path extension. Only supported by some providers; exactly one of file or source_url is required.
///
///
/// The sampling temperature.
diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.STTUrlInputAudio.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.STTUrlInputAudio.g.cs
index 1e346ca2..6784d9e3 100644
--- a/src/libs/OpenRouter/Generated/OpenRouter.Models.STTUrlInputAudio.g.cs
+++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.STTUrlInputAudio.g.cs
@@ -16,7 +16,7 @@ public sealed partial class STTUrlInputAudio
public string? Format { get; set; }
///
- /// Publicly reachable http(s) URL of the audio file. The provider downloads it directly, so the inline upload size limit does not apply. Only supported by some providers.
+ /// Publicly reachable http(s) URL of the audio file. The provider downloads it directly, so the inline upload size limit does not apply, and the request is billed on the duration the provider reports; your balance must cover the provider's maximum accepted duration at the endpoint rate (returns 402 otherwise). Private-network, loopback, link-local, cloud-metadata, and tunnel hosts are rejected. Only supported by some providers.
///
[global::System.Text.Json.Serialization.JsonPropertyName("url")]
[global::System.Text.Json.Serialization.JsonRequired]
@@ -32,7 +32,7 @@ public sealed partial class STTUrlInputAudio
/// Initializes a new instance of the class.
///
///
- /// Publicly reachable http(s) URL of the audio file. The provider downloads it directly, so the inline upload size limit does not apply. Only supported by some providers.
+ /// Publicly reachable http(s) URL of the audio file. The provider downloads it directly, so the inline upload size limit does not apply, and the request is billed on the duration the provider reports; your balance must cover the provider's maximum accepted duration at the endpoint rate (returns 402 otherwise). Private-network, loopback, link-local, cloud-metadata, and tunnel hosts are rejected. Only supported by some providers.
///
///
/// Audio format of the file at the URL. Defaults to the extension of the URL path; required when the path has no extension.
diff --git a/src/libs/OpenRouter/openapi.yaml b/src/libs/OpenRouter/openapi.yaml
index f76077a1..7f8e629e 100644
--- a/src/libs/OpenRouter/openapi.yaml
+++ b/src/libs/OpenRouter/openapi.yaml
@@ -8872,13 +8872,20 @@
},
"BatchProviderPreferences": {
"additionalProperties": false,
- "description": "Batch provider routing preferences. Only `provider.only` is supported.",
+ "description": "Batch provider routing preferences. Only `provider.only` and `provider.allow_fallbacks` are supported.",
"example": {
"only": [
"google-vertex"
]
},
"properties": {
+ "allow_fallbacks": {
+ "description": "Whether to allow backup providers to serve requests\n- true: (default) when the primary provider (or your custom providers in \"order\") is unavailable, use the next best provider.\n- false: use only the primary/custom provider, and return the upstream error if it's unavailable.\n",
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
"only": {
"description": "List of provider slugs to allow. If provided, this list is merged with your account-wide allowed provider settings for this request.",
"example": [
@@ -42345,7 +42352,7 @@
"type": "string"
},
"url": {
- "description": "Publicly reachable http(s) URL of the audio file. The provider downloads it directly, so the inline upload size limit does not apply. Only supported by some providers.",
+ "description": "Publicly reachable http(s) URL of the audio file. The provider downloads it directly, so the inline upload size limit does not apply, and the request is billed on the duration the provider reports; your balance must cover the provider's maximum accepted duration at the endpoint rate (returns 402 otherwise). Private-network, loopback, link-local, cloud-metadata, and tunnel hosts are rejected. Only supported by some providers.",
"format": "uri",
"maxLength": 8000,
"type": "string"
@@ -48681,7 +48688,7 @@
"type": "string"
},
"source_url": {
- "description": "Publicly reachable http(s) URL of the audio file, downloaded by the provider directly (no size limit on our side). The format is derived from the URL path extension. Only supported by some providers; exactly one of file or source_url is required.",
+ "description": "Publicly reachable http(s) URL of the audio file, downloaded by the provider directly (no size limit on our side). The request is billed on the duration the provider reports, so your balance must cover the provider's maximum accepted duration at the endpoint rate (402 otherwise); private-network, loopback, link-local, cloud-metadata, and tunnel hosts are rejected. The format is derived from the URL path extension. Only supported by some providers; exactly one of file or source_url is required.",
"format": "uri",
"type": "string"
},