diff --git a/src/libs/Fal/Generated/Fal.FalClient.g.cs b/src/libs/Fal/Generated/Fal.FalClient.g.cs index 14fc379..11c38fe 100644 --- a/src/libs/Fal/Generated/Fal.FalClient.g.cs +++ b/src/libs/Fal/Generated/Fal.FalClient.g.cs @@ -124,6 +124,16 @@ public sealed partial class FalClient : global::Fal.IFalClient, global::System.I JsonSerializerContext = JsonSerializerContext, }; + /// + /// + /// + public StorageClient Storage => new StorageClient(HttpClient, baseUri: null, authorizations: Authorizations, options: Options) + { + ReadResponseAsString = ReadResponseAsString, + CreateIdempotencyKey = CreateIdempotencyKey, + JsonSerializerContext = JsonSerializerContext, + }; + /// /// /// diff --git a/src/libs/Fal/Generated/Fal.IFalClient.g.cs b/src/libs/Fal/Generated/Fal.IFalClient.g.cs index 6b13733..e2ad031 100644 --- a/src/libs/Fal/Generated/Fal.IFalClient.g.cs +++ b/src/libs/Fal/Generated/Fal.IFalClient.g.cs @@ -89,6 +89,11 @@ public partial interface IFalClient : global::System.IDisposable /// public ServerlessClient Serverless { get; } + /// + /// + /// + public StorageClient Storage { get; } + /// /// /// diff --git a/src/libs/Fal/Generated/Fal.IStorageClient.GetStorageFileAcl.g.cs b/src/libs/Fal/Generated/Fal.IStorageClient.GetStorageFileAcl.g.cs new file mode 100644 index 0000000..5dc538d --- /dev/null +++ b/src/libs/Fal/Generated/Fal.IStorageClient.GetStorageFileAcl.g.cs @@ -0,0 +1,48 @@ +#nullable enable + +namespace Fal +{ + public partial interface IStorageClient + { + /// + /// Get file ACL
+ /// Returns the Access Control List currently applied to a fal CDN file.
+ /// The ACL consists of a default decision (`allow`, `forbid`, or `hide`) plus
+ /// optional per-user rules that override the default. Rule users are returned as
+ /// nicknames where possible.
+ /// **Authentication:** Required. The API key must have the `assets:read` permission.
+ /// + ///
+ /// + /// Full URL of the fal CDN file, as returned by the upload APIs (https://v3.fal.media/files/b/<id>/<filename>). Must not contain query parameters.
+ /// Example: https://v3.fal.media/files/b/0a1b2c3d/output.png + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task GetStorageFileAclAsync( + string url, + global::Fal.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// Get file ACL
+ /// Returns the Access Control List currently applied to a fal CDN file.
+ /// The ACL consists of a default decision (`allow`, `forbid`, or `hide`) plus
+ /// optional per-user rules that override the default. Rule users are returned as
+ /// nicknames where possible.
+ /// **Authentication:** Required. The API key must have the `assets:read` permission.
+ /// + ///
+ /// + /// Full URL of the fal CDN file, as returned by the upload APIs (https://v3.fal.media/files/b/<id>/<filename>). Must not contain query parameters.
+ /// Example: https://v3.fal.media/files/b/0a1b2c3d/output.png + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task> GetStorageFileAclAsResponseAsync( + string url, + global::Fal.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.IStorageClient.GetStorageSettings.g.cs b/src/libs/Fal/Generated/Fal.IStorageClient.GetStorageSettings.g.cs new file mode 100644 index 0000000..4459421 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.IStorageClient.GetStorageSettings.g.cs @@ -0,0 +1,44 @@ +#nullable enable + +namespace Fal +{ + public partial interface IStorageClient + { + /// + /// Get storage settings
+ /// Returns the account-level storage lifecycle settings applied to newly uploaded
+ /// fal CDN files:
+ /// - `expiration_duration_seconds`: how long files live before being
+ /// automatically deleted (null disables auto-expiration).
+ /// - `initial_acl`: the default ACL applied to new uploads (null means the
+ /// system default, which is public).
+ /// Both fields are null when the account has never saved settings.
+ /// **Authentication:** Required. The API key must have the `account:settings:read` permission.
+ /// + ///
+ /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task GetStorageSettingsAsync( + global::Fal.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// Get storage settings
+ /// Returns the account-level storage lifecycle settings applied to newly uploaded
+ /// fal CDN files:
+ /// - `expiration_duration_seconds`: how long files live before being
+ /// automatically deleted (null disables auto-expiration).
+ /// - `initial_acl`: the default ACL applied to new uploads (null means the
+ /// system default, which is public).
+ /// Both fields are null when the account has never saved settings.
+ /// **Authentication:** Required. The API key must have the `account:settings:read` permission.
+ /// + ///
+ /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task> GetStorageSettingsAsResponseAsync( + global::Fal.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.IStorageClient.SetStorageFileAcl.g.cs b/src/libs/Fal/Generated/Fal.IStorageClient.SetStorageFileAcl.g.cs new file mode 100644 index 0000000..22269f9 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.IStorageClient.SetStorageFileAcl.g.cs @@ -0,0 +1,93 @@ +#nullable enable + +namespace Fal +{ + public partial interface IStorageClient + { + /// + /// Set file ACL
+ /// Replaces the Access Control List of a fal CDN file.
+ /// The ACL consists of a default decision (`allow`, `forbid`, or `hide`) plus
+ /// optional per-user rules that override the default. Rule users may be specified
+ /// by nickname or user ID. Setting `default` to `allow` with no rules makes the
+ /// file public; `forbid` or `hide` restricts it to the rules you provide.
+ /// Rules referencing users that do not exist are dropped. The response reflects
+ /// the ACL actually applied, so verify it contains the rules you sent.
+ /// **Authentication:** Required. The API key must have the `assets:write` permission.
+ /// + ///
+ /// + /// Full URL of the fal CDN file, as returned by the upload APIs (https://v3.fal.media/files/b/<id>/<filename>). Must not contain query parameters.
+ /// Example: https://v3.fal.media/files/b/0a1b2c3d/output.png + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task SetStorageFileAclAsync( + string url, + + global::Fal.SetStorageFileAclRequest request, + global::Fal.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// Set file ACL
+ /// Replaces the Access Control List of a fal CDN file.
+ /// The ACL consists of a default decision (`allow`, `forbid`, or `hide`) plus
+ /// optional per-user rules that override the default. Rule users may be specified
+ /// by nickname or user ID. Setting `default` to `allow` with no rules makes the
+ /// file public; `forbid` or `hide` restricts it to the rules you provide.
+ /// Rules referencing users that do not exist are dropped. The response reflects
+ /// the ACL actually applied, so verify it contains the rules you sent.
+ /// **Authentication:** Required. The API key must have the `assets:write` permission.
+ /// + ///
+ /// + /// Full URL of the fal CDN file, as returned by the upload APIs (https://v3.fal.media/files/b/<id>/<filename>). Must not contain query parameters.
+ /// Example: https://v3.fal.media/files/b/0a1b2c3d/output.png + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task> SetStorageFileAclAsResponseAsync( + string url, + + global::Fal.SetStorageFileAclRequest request, + global::Fal.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// Set file ACL
+ /// Replaces the Access Control List of a fal CDN file.
+ /// The ACL consists of a default decision (`allow`, `forbid`, or `hide`) plus
+ /// optional per-user rules that override the default. Rule users may be specified
+ /// by nickname or user ID. Setting `default` to `allow` with no rules makes the
+ /// file public; `forbid` or `hide` restricts it to the rules you provide.
+ /// Rules referencing users that do not exist are dropped. The response reflects
+ /// the ACL actually applied, so verify it contains the rules you sent.
+ /// **Authentication:** Required. The API key must have the `assets:write` permission.
+ /// + ///
+ /// + /// Full URL of the fal CDN file, as returned by the upload APIs (https://v3.fal.media/files/b/<id>/<filename>). Must not contain query parameters.
+ /// Example: https://v3.fal.media/files/b/0a1b2c3d/output.png + /// + /// + /// Fallback decision when no user-specific rule matches
+ /// Example: allow + /// + /// + /// User-specific overrides to the default decision
+ /// Default Value: [] + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task SetStorageFileAclAsync( + string url, + global::Fal.SetStorageFileAclRequestDefault @default, + global::System.Collections.Generic.IList? rules = default, + global::Fal.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.IStorageClient.SignStorageFileUrl.g.cs b/src/libs/Fal/Generated/Fal.IStorageClient.SignStorageFileUrl.g.cs new file mode 100644 index 0000000..91620ab --- /dev/null +++ b/src/libs/Fal/Generated/Fal.IStorageClient.SignStorageFileUrl.g.cs @@ -0,0 +1,76 @@ +#nullable enable + +namespace Fal +{ + public partial interface IStorageClient + { + /// + /// Sign file URL
+ /// Creates a signed URL that grants temporary access to a fal CDN file,
+ /// regardless of its ACL. Useful for sharing access-restricted files.
+ /// The signature is valid for `expiration_seconds` (up to 7 days).
+ /// **Authentication:** Required. The API key must have the `assets:read` permission.
+ /// + ///
+ /// + /// Full URL of the fal CDN file, as returned by the upload APIs (https://v3.fal.media/files/b/<id>/<filename>). Must not contain query parameters.
+ /// Example: https://v3.fal.media/files/b/0a1b2c3d/output.png + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task SignStorageFileUrlAsync( + string url, + + global::Fal.SignStorageFileUrlRequest request, + global::Fal.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// Sign file URL
+ /// Creates a signed URL that grants temporary access to a fal CDN file,
+ /// regardless of its ACL. Useful for sharing access-restricted files.
+ /// The signature is valid for `expiration_seconds` (up to 7 days).
+ /// **Authentication:** Required. The API key must have the `assets:read` permission.
+ /// + ///
+ /// + /// Full URL of the fal CDN file, as returned by the upload APIs (https://v3.fal.media/files/b/<id>/<filename>). Must not contain query parameters.
+ /// Example: https://v3.fal.media/files/b/0a1b2c3d/output.png + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task> SignStorageFileUrlAsResponseAsync( + string url, + + global::Fal.SignStorageFileUrlRequest request, + global::Fal.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// Sign file URL
+ /// Creates a signed URL that grants temporary access to a fal CDN file,
+ /// regardless of its ACL. Useful for sharing access-restricted files.
+ /// The signature is valid for `expiration_seconds` (up to 7 days).
+ /// **Authentication:** Required. The API key must have the `assets:read` permission.
+ /// + ///
+ /// + /// Full URL of the fal CDN file, as returned by the upload APIs (https://v3.fal.media/files/b/<id>/<filename>). Must not contain query parameters.
+ /// Example: https://v3.fal.media/files/b/0a1b2c3d/output.png + /// + /// + /// How long the signed URL stays valid, in seconds (max 7 days)
+ /// Example: 3600 + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task SignStorageFileUrlAsync( + string url, + int expirationSeconds, + global::Fal.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.IStorageClient.UpdateStorageSettings.g.cs b/src/libs/Fal/Generated/Fal.IStorageClient.UpdateStorageSettings.g.cs new file mode 100644 index 0000000..6f29f20 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.IStorageClient.UpdateStorageSettings.g.cs @@ -0,0 +1,77 @@ +#nullable enable + +namespace Fal +{ + public partial interface IStorageClient + { + /// + /// Update storage settings
+ /// Replaces the account-level storage lifecycle settings applied to newly
+ /// uploaded fal CDN files. Omitted or null fields are cleared (reset to the
+ /// system default), so always send the full desired configuration.
+ /// ACL rules referencing users that do not exist are dropped. The response
+ /// reflects the settings actually saved, so verify it contains the rules you sent.
+ /// These are the same settings that the per-request
+ /// `X-Fal-Object-Lifecycle-Preference` header overrides on individual requests.
+ /// **Authentication:** Required. The API key must have the `account:settings:write` permission.
+ /// + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task UpdateStorageSettingsAsync( + + global::Fal.UpdateStorageSettingsRequest request, + global::Fal.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// Update storage settings
+ /// Replaces the account-level storage lifecycle settings applied to newly
+ /// uploaded fal CDN files. Omitted or null fields are cleared (reset to the
+ /// system default), so always send the full desired configuration.
+ /// ACL rules referencing users that do not exist are dropped. The response
+ /// reflects the settings actually saved, so verify it contains the rules you sent.
+ /// These are the same settings that the per-request
+ /// `X-Fal-Object-Lifecycle-Preference` header overrides on individual requests.
+ /// **Authentication:** Required. The API key must have the `account:settings:write` permission.
+ /// + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task> UpdateStorageSettingsAsResponseAsync( + + global::Fal.UpdateStorageSettingsRequest request, + global::Fal.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// Update storage settings
+ /// Replaces the account-level storage lifecycle settings applied to newly
+ /// uploaded fal CDN files. Omitted or null fields are cleared (reset to the
+ /// system default), so always send the full desired configuration.
+ /// ACL rules referencing users that do not exist are dropped. The response
+ /// reflects the settings actually saved, so verify it contains the rules you sent.
+ /// These are the same settings that the per-request
+ /// `X-Fal-Object-Lifecycle-Preference` header overrides on individual requests.
+ /// **Authentication:** Required. The API key must have the `account:settings:write` permission.
+ /// + ///
+ /// + /// Seconds after which newly uploaded files automatically expire and are deleted. Null disables auto-expiration.
+ /// Example: 86400 + /// + /// + /// Default ACL applied to newly uploaded files. Null uses the system default (public). + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task UpdateStorageSettingsAsync( + int? expirationDurationSeconds = default, + global::Fal.UpdateStorageSettingsRequestInitialAcl? initialAcl = default, + global::Fal.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.IStorageClient.g.cs b/src/libs/Fal/Generated/Fal.IStorageClient.g.cs new file mode 100644 index 0000000..fb078bb --- /dev/null +++ b/src/libs/Fal/Generated/Fal.IStorageClient.g.cs @@ -0,0 +1,52 @@ + +#nullable enable + +namespace Fal +{ + /// + /// If no httpClient is provided, a new one will be created.
+ /// If no baseUri is provided, the default baseUri from OpenAPI spec will be used. + ///
+ public partial interface IStorageClient : global::System.IDisposable + { + /// + /// The HttpClient instance. + /// + public global::System.Net.Http.HttpClient HttpClient { get; } + + /// + /// The base URL for the API. + /// + public System.Uri? BaseUri { get; } + + /// + /// The authorizations to use for the requests. + /// + public global::System.Collections.Generic.List Authorizations { get; } + + /// + /// Gets or sets a value indicating whether the response content should be read as a string. + /// True by default in debug builds, false otherwise. + /// When false, successful responses are deserialized directly from the response stream for better performance. + /// Error responses are always read as strings regardless of this setting, + /// ensuring is populated. + /// + public bool ReadResponseAsString { get; set; } + /// + /// Client-wide request defaults such as headers, query parameters, retries, and timeout. + /// + public global::Fal.AutoSDKClientOptions Options { get; } + + /// + /// Creates idempotency keys for generated idempotent requests when the caller does not provide one. + /// + public global::System.Func CreateIdempotencyKey { get; set; } + + /// + /// + /// + global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } + + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseDefault.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseDefault.g.cs new file mode 100644 index 0000000..44f8ef1 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseDefault.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class GetStorageFileAclResponseDefaultJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.GetStorageFileAclResponseDefault Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.GetStorageFileAclResponseDefaultExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.GetStorageFileAclResponseDefault)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.GetStorageFileAclResponseDefault); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.GetStorageFileAclResponseDefault value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.GetStorageFileAclResponseDefaultExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseDefaultNullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseDefaultNullable.g.cs new file mode 100644 index 0000000..7199c01 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseDefaultNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class GetStorageFileAclResponseDefaultNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.GetStorageFileAclResponseDefault? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.GetStorageFileAclResponseDefaultExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.GetStorageFileAclResponseDefault)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.GetStorageFileAclResponseDefault?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.GetStorageFileAclResponseDefault? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.GetStorageFileAclResponseDefaultExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType.g.cs new file mode 100644 index 0000000..e3f6943 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class GetStorageFileAclResponseErrorTypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.GetStorageFileAclResponseErrorType Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.GetStorageFileAclResponseErrorTypeExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.GetStorageFileAclResponseErrorType)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.GetStorageFileAclResponseErrorType); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.GetStorageFileAclResponseErrorType value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.GetStorageFileAclResponseErrorTypeExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType2.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType2.g.cs new file mode 100644 index 0000000..49e5c14 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType2.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class GetStorageFileAclResponseErrorType2JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.GetStorageFileAclResponseErrorType2 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.GetStorageFileAclResponseErrorType2Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.GetStorageFileAclResponseErrorType2)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.GetStorageFileAclResponseErrorType2); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.GetStorageFileAclResponseErrorType2 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.GetStorageFileAclResponseErrorType2Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType2Nullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType2Nullable.g.cs new file mode 100644 index 0000000..9199e36 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType2Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class GetStorageFileAclResponseErrorType2NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.GetStorageFileAclResponseErrorType2? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.GetStorageFileAclResponseErrorType2Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.GetStorageFileAclResponseErrorType2)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.GetStorageFileAclResponseErrorType2?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.GetStorageFileAclResponseErrorType2? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.GetStorageFileAclResponseErrorType2Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType3.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType3.g.cs new file mode 100644 index 0000000..28cf680 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType3.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class GetStorageFileAclResponseErrorType3JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.GetStorageFileAclResponseErrorType3 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.GetStorageFileAclResponseErrorType3Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.GetStorageFileAclResponseErrorType3)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.GetStorageFileAclResponseErrorType3); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.GetStorageFileAclResponseErrorType3 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.GetStorageFileAclResponseErrorType3Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType3Nullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType3Nullable.g.cs new file mode 100644 index 0000000..b08f85b --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType3Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class GetStorageFileAclResponseErrorType3NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.GetStorageFileAclResponseErrorType3? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.GetStorageFileAclResponseErrorType3Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.GetStorageFileAclResponseErrorType3)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.GetStorageFileAclResponseErrorType3?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.GetStorageFileAclResponseErrorType3? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.GetStorageFileAclResponseErrorType3Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType4.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType4.g.cs new file mode 100644 index 0000000..9e5d5c1 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType4.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class GetStorageFileAclResponseErrorType4JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.GetStorageFileAclResponseErrorType4 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.GetStorageFileAclResponseErrorType4Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.GetStorageFileAclResponseErrorType4)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.GetStorageFileAclResponseErrorType4); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.GetStorageFileAclResponseErrorType4 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.GetStorageFileAclResponseErrorType4Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType4Nullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType4Nullable.g.cs new file mode 100644 index 0000000..ee28e62 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType4Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class GetStorageFileAclResponseErrorType4NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.GetStorageFileAclResponseErrorType4? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.GetStorageFileAclResponseErrorType4Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.GetStorageFileAclResponseErrorType4)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.GetStorageFileAclResponseErrorType4?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.GetStorageFileAclResponseErrorType4? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.GetStorageFileAclResponseErrorType4Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType5.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType5.g.cs new file mode 100644 index 0000000..7c67f44 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType5.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class GetStorageFileAclResponseErrorType5JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.GetStorageFileAclResponseErrorType5 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.GetStorageFileAclResponseErrorType5Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.GetStorageFileAclResponseErrorType5)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.GetStorageFileAclResponseErrorType5); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.GetStorageFileAclResponseErrorType5 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.GetStorageFileAclResponseErrorType5Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType5Nullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType5Nullable.g.cs new file mode 100644 index 0000000..e818bd2 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType5Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class GetStorageFileAclResponseErrorType5NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.GetStorageFileAclResponseErrorType5? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.GetStorageFileAclResponseErrorType5Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.GetStorageFileAclResponseErrorType5)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.GetStorageFileAclResponseErrorType5?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.GetStorageFileAclResponseErrorType5? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.GetStorageFileAclResponseErrorType5Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType6.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType6.g.cs new file mode 100644 index 0000000..3e42ae9 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType6.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class GetStorageFileAclResponseErrorType6JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.GetStorageFileAclResponseErrorType6 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.GetStorageFileAclResponseErrorType6Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.GetStorageFileAclResponseErrorType6)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.GetStorageFileAclResponseErrorType6); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.GetStorageFileAclResponseErrorType6 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.GetStorageFileAclResponseErrorType6Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType6Nullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType6Nullable.g.cs new file mode 100644 index 0000000..26bec3e --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorType6Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class GetStorageFileAclResponseErrorType6NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.GetStorageFileAclResponseErrorType6? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.GetStorageFileAclResponseErrorType6Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.GetStorageFileAclResponseErrorType6)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.GetStorageFileAclResponseErrorType6?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.GetStorageFileAclResponseErrorType6? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.GetStorageFileAclResponseErrorType6Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorTypeNullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorTypeNullable.g.cs new file mode 100644 index 0000000..caff33b --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseErrorTypeNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class GetStorageFileAclResponseErrorTypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.GetStorageFileAclResponseErrorType? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.GetStorageFileAclResponseErrorTypeExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.GetStorageFileAclResponseErrorType)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.GetStorageFileAclResponseErrorType?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.GetStorageFileAclResponseErrorType? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.GetStorageFileAclResponseErrorTypeExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseRuleDecision.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseRuleDecision.g.cs new file mode 100644 index 0000000..a0a36df --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseRuleDecision.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class GetStorageFileAclResponseRuleDecisionJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.GetStorageFileAclResponseRuleDecision Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.GetStorageFileAclResponseRuleDecisionExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.GetStorageFileAclResponseRuleDecision)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.GetStorageFileAclResponseRuleDecision); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.GetStorageFileAclResponseRuleDecision value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.GetStorageFileAclResponseRuleDecisionExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseRuleDecisionNullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseRuleDecisionNullable.g.cs new file mode 100644 index 0000000..324de8e --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageFileAclResponseRuleDecisionNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class GetStorageFileAclResponseRuleDecisionNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.GetStorageFileAclResponseRuleDecision? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.GetStorageFileAclResponseRuleDecisionExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.GetStorageFileAclResponseRuleDecision)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.GetStorageFileAclResponseRuleDecision?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.GetStorageFileAclResponseRuleDecision? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.GetStorageFileAclResponseRuleDecisionExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseErrorType.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseErrorType.g.cs new file mode 100644 index 0000000..53cd8b2 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseErrorType.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class GetStorageSettingsResponseErrorTypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.GetStorageSettingsResponseErrorType Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.GetStorageSettingsResponseErrorTypeExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.GetStorageSettingsResponseErrorType)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.GetStorageSettingsResponseErrorType); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.GetStorageSettingsResponseErrorType value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.GetStorageSettingsResponseErrorTypeExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseErrorType2.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseErrorType2.g.cs new file mode 100644 index 0000000..bbf8cd1 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseErrorType2.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class GetStorageSettingsResponseErrorType2JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.GetStorageSettingsResponseErrorType2 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.GetStorageSettingsResponseErrorType2Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.GetStorageSettingsResponseErrorType2)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.GetStorageSettingsResponseErrorType2); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.GetStorageSettingsResponseErrorType2 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.GetStorageSettingsResponseErrorType2Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseErrorType2Nullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseErrorType2Nullable.g.cs new file mode 100644 index 0000000..f417145 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseErrorType2Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class GetStorageSettingsResponseErrorType2NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.GetStorageSettingsResponseErrorType2? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.GetStorageSettingsResponseErrorType2Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.GetStorageSettingsResponseErrorType2)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.GetStorageSettingsResponseErrorType2?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.GetStorageSettingsResponseErrorType2? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.GetStorageSettingsResponseErrorType2Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseErrorType3.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseErrorType3.g.cs new file mode 100644 index 0000000..d7d9689 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseErrorType3.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class GetStorageSettingsResponseErrorType3JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.GetStorageSettingsResponseErrorType3 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.GetStorageSettingsResponseErrorType3Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.GetStorageSettingsResponseErrorType3)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.GetStorageSettingsResponseErrorType3); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.GetStorageSettingsResponseErrorType3 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.GetStorageSettingsResponseErrorType3Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseErrorType3Nullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseErrorType3Nullable.g.cs new file mode 100644 index 0000000..822cc21 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseErrorType3Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class GetStorageSettingsResponseErrorType3NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.GetStorageSettingsResponseErrorType3? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.GetStorageSettingsResponseErrorType3Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.GetStorageSettingsResponseErrorType3)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.GetStorageSettingsResponseErrorType3?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.GetStorageSettingsResponseErrorType3? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.GetStorageSettingsResponseErrorType3Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseErrorType4.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseErrorType4.g.cs new file mode 100644 index 0000000..a874a51 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseErrorType4.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class GetStorageSettingsResponseErrorType4JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.GetStorageSettingsResponseErrorType4 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.GetStorageSettingsResponseErrorType4Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.GetStorageSettingsResponseErrorType4)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.GetStorageSettingsResponseErrorType4); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.GetStorageSettingsResponseErrorType4 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.GetStorageSettingsResponseErrorType4Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseErrorType4Nullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseErrorType4Nullable.g.cs new file mode 100644 index 0000000..e102488 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseErrorType4Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class GetStorageSettingsResponseErrorType4NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.GetStorageSettingsResponseErrorType4? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.GetStorageSettingsResponseErrorType4Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.GetStorageSettingsResponseErrorType4)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.GetStorageSettingsResponseErrorType4?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.GetStorageSettingsResponseErrorType4? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.GetStorageSettingsResponseErrorType4Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseErrorTypeNullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseErrorTypeNullable.g.cs new file mode 100644 index 0000000..c63f21b --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseErrorTypeNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class GetStorageSettingsResponseErrorTypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.GetStorageSettingsResponseErrorType? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.GetStorageSettingsResponseErrorTypeExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.GetStorageSettingsResponseErrorType)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.GetStorageSettingsResponseErrorType?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.GetStorageSettingsResponseErrorType? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.GetStorageSettingsResponseErrorTypeExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseInitialAclDefault.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseInitialAclDefault.g.cs new file mode 100644 index 0000000..7ac062f --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseInitialAclDefault.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class GetStorageSettingsResponseInitialAclDefaultJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.GetStorageSettingsResponseInitialAclDefault Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.GetStorageSettingsResponseInitialAclDefaultExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.GetStorageSettingsResponseInitialAclDefault)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.GetStorageSettingsResponseInitialAclDefault); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.GetStorageSettingsResponseInitialAclDefault value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.GetStorageSettingsResponseInitialAclDefaultExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseInitialAclDefaultNullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseInitialAclDefaultNullable.g.cs new file mode 100644 index 0000000..279544f --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseInitialAclDefaultNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class GetStorageSettingsResponseInitialAclDefaultNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.GetStorageSettingsResponseInitialAclDefault? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.GetStorageSettingsResponseInitialAclDefaultExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.GetStorageSettingsResponseInitialAclDefault)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.GetStorageSettingsResponseInitialAclDefault?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.GetStorageSettingsResponseInitialAclDefault? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.GetStorageSettingsResponseInitialAclDefaultExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseInitialAclRuleDecision.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseInitialAclRuleDecision.g.cs new file mode 100644 index 0000000..cea7634 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseInitialAclRuleDecision.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class GetStorageSettingsResponseInitialAclRuleDecisionJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.GetStorageSettingsResponseInitialAclRuleDecision Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.GetStorageSettingsResponseInitialAclRuleDecisionExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.GetStorageSettingsResponseInitialAclRuleDecision)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.GetStorageSettingsResponseInitialAclRuleDecision); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.GetStorageSettingsResponseInitialAclRuleDecision value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.GetStorageSettingsResponseInitialAclRuleDecisionExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseInitialAclRuleDecisionNullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseInitialAclRuleDecisionNullable.g.cs new file mode 100644 index 0000000..66b2c72 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.GetStorageSettingsResponseInitialAclRuleDecisionNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class GetStorageSettingsResponseInitialAclRuleDecisionNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.GetStorageSettingsResponseInitialAclRuleDecision? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.GetStorageSettingsResponseInitialAclRuleDecisionExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.GetStorageSettingsResponseInitialAclRuleDecision)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.GetStorageSettingsResponseInitialAclRuleDecision?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.GetStorageSettingsResponseInitialAclRuleDecision? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.GetStorageSettingsResponseInitialAclRuleDecisionExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclRequestDefault.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclRequestDefault.g.cs new file mode 100644 index 0000000..0b4b0e6 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclRequestDefault.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SetStorageFileAclRequestDefaultJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SetStorageFileAclRequestDefault Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SetStorageFileAclRequestDefaultExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SetStorageFileAclRequestDefault)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SetStorageFileAclRequestDefault); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SetStorageFileAclRequestDefault value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.SetStorageFileAclRequestDefaultExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclRequestDefaultNullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclRequestDefaultNullable.g.cs new file mode 100644 index 0000000..45caa55 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclRequestDefaultNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SetStorageFileAclRequestDefaultNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SetStorageFileAclRequestDefault? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SetStorageFileAclRequestDefaultExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SetStorageFileAclRequestDefault)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SetStorageFileAclRequestDefault?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SetStorageFileAclRequestDefault? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.SetStorageFileAclRequestDefaultExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclRequestRuleDecision.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclRequestRuleDecision.g.cs new file mode 100644 index 0000000..324b2a6 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclRequestRuleDecision.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SetStorageFileAclRequestRuleDecisionJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SetStorageFileAclRequestRuleDecision Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SetStorageFileAclRequestRuleDecisionExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SetStorageFileAclRequestRuleDecision)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SetStorageFileAclRequestRuleDecision); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SetStorageFileAclRequestRuleDecision value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.SetStorageFileAclRequestRuleDecisionExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclRequestRuleDecisionNullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclRequestRuleDecisionNullable.g.cs new file mode 100644 index 0000000..1bcca75 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclRequestRuleDecisionNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SetStorageFileAclRequestRuleDecisionNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SetStorageFileAclRequestRuleDecision? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SetStorageFileAclRequestRuleDecisionExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SetStorageFileAclRequestRuleDecision)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SetStorageFileAclRequestRuleDecision?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SetStorageFileAclRequestRuleDecision? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.SetStorageFileAclRequestRuleDecisionExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseDefault.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseDefault.g.cs new file mode 100644 index 0000000..5c23259 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseDefault.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SetStorageFileAclResponseDefaultJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SetStorageFileAclResponseDefault Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SetStorageFileAclResponseDefaultExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SetStorageFileAclResponseDefault)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SetStorageFileAclResponseDefault); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SetStorageFileAclResponseDefault value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.SetStorageFileAclResponseDefaultExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseDefaultNullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseDefaultNullable.g.cs new file mode 100644 index 0000000..8801422 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseDefaultNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SetStorageFileAclResponseDefaultNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SetStorageFileAclResponseDefault? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SetStorageFileAclResponseDefaultExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SetStorageFileAclResponseDefault)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SetStorageFileAclResponseDefault?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SetStorageFileAclResponseDefault? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.SetStorageFileAclResponseDefaultExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType.g.cs new file mode 100644 index 0000000..0e0f3b9 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SetStorageFileAclResponseErrorTypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SetStorageFileAclResponseErrorType Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SetStorageFileAclResponseErrorTypeExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SetStorageFileAclResponseErrorType)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SetStorageFileAclResponseErrorType); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SetStorageFileAclResponseErrorType value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.SetStorageFileAclResponseErrorTypeExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType2.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType2.g.cs new file mode 100644 index 0000000..4357178 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType2.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SetStorageFileAclResponseErrorType2JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SetStorageFileAclResponseErrorType2 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SetStorageFileAclResponseErrorType2Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SetStorageFileAclResponseErrorType2)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SetStorageFileAclResponseErrorType2); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SetStorageFileAclResponseErrorType2 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.SetStorageFileAclResponseErrorType2Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType2Nullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType2Nullable.g.cs new file mode 100644 index 0000000..85a9c8f --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType2Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SetStorageFileAclResponseErrorType2NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SetStorageFileAclResponseErrorType2? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SetStorageFileAclResponseErrorType2Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SetStorageFileAclResponseErrorType2)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SetStorageFileAclResponseErrorType2?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SetStorageFileAclResponseErrorType2? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.SetStorageFileAclResponseErrorType2Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType3.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType3.g.cs new file mode 100644 index 0000000..0971427 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType3.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SetStorageFileAclResponseErrorType3JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SetStorageFileAclResponseErrorType3 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SetStorageFileAclResponseErrorType3Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SetStorageFileAclResponseErrorType3)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SetStorageFileAclResponseErrorType3); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SetStorageFileAclResponseErrorType3 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.SetStorageFileAclResponseErrorType3Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType3Nullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType3Nullable.g.cs new file mode 100644 index 0000000..2c9c232 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType3Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SetStorageFileAclResponseErrorType3NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SetStorageFileAclResponseErrorType3? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SetStorageFileAclResponseErrorType3Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SetStorageFileAclResponseErrorType3)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SetStorageFileAclResponseErrorType3?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SetStorageFileAclResponseErrorType3? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.SetStorageFileAclResponseErrorType3Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType4.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType4.g.cs new file mode 100644 index 0000000..1a0ae64 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType4.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SetStorageFileAclResponseErrorType4JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SetStorageFileAclResponseErrorType4 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SetStorageFileAclResponseErrorType4Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SetStorageFileAclResponseErrorType4)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SetStorageFileAclResponseErrorType4); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SetStorageFileAclResponseErrorType4 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.SetStorageFileAclResponseErrorType4Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType4Nullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType4Nullable.g.cs new file mode 100644 index 0000000..35c3733 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType4Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SetStorageFileAclResponseErrorType4NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SetStorageFileAclResponseErrorType4? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SetStorageFileAclResponseErrorType4Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SetStorageFileAclResponseErrorType4)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SetStorageFileAclResponseErrorType4?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SetStorageFileAclResponseErrorType4? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.SetStorageFileAclResponseErrorType4Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType5.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType5.g.cs new file mode 100644 index 0000000..0594524 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType5.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SetStorageFileAclResponseErrorType5JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SetStorageFileAclResponseErrorType5 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SetStorageFileAclResponseErrorType5Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SetStorageFileAclResponseErrorType5)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SetStorageFileAclResponseErrorType5); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SetStorageFileAclResponseErrorType5 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.SetStorageFileAclResponseErrorType5Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType5Nullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType5Nullable.g.cs new file mode 100644 index 0000000..d58ae7e --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType5Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SetStorageFileAclResponseErrorType5NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SetStorageFileAclResponseErrorType5? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SetStorageFileAclResponseErrorType5Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SetStorageFileAclResponseErrorType5)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SetStorageFileAclResponseErrorType5?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SetStorageFileAclResponseErrorType5? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.SetStorageFileAclResponseErrorType5Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType6.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType6.g.cs new file mode 100644 index 0000000..26e39f0 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType6.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SetStorageFileAclResponseErrorType6JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SetStorageFileAclResponseErrorType6 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SetStorageFileAclResponseErrorType6Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SetStorageFileAclResponseErrorType6)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SetStorageFileAclResponseErrorType6); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SetStorageFileAclResponseErrorType6 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.SetStorageFileAclResponseErrorType6Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType6Nullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType6Nullable.g.cs new file mode 100644 index 0000000..6538c7f --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorType6Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SetStorageFileAclResponseErrorType6NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SetStorageFileAclResponseErrorType6? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SetStorageFileAclResponseErrorType6Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SetStorageFileAclResponseErrorType6)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SetStorageFileAclResponseErrorType6?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SetStorageFileAclResponseErrorType6? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.SetStorageFileAclResponseErrorType6Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorTypeNullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorTypeNullable.g.cs new file mode 100644 index 0000000..9e5cf0d --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseErrorTypeNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SetStorageFileAclResponseErrorTypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SetStorageFileAclResponseErrorType? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SetStorageFileAclResponseErrorTypeExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SetStorageFileAclResponseErrorType)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SetStorageFileAclResponseErrorType?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SetStorageFileAclResponseErrorType? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.SetStorageFileAclResponseErrorTypeExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseRuleDecision.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseRuleDecision.g.cs new file mode 100644 index 0000000..7f3e1b3 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseRuleDecision.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SetStorageFileAclResponseRuleDecisionJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SetStorageFileAclResponseRuleDecision Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SetStorageFileAclResponseRuleDecisionExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SetStorageFileAclResponseRuleDecision)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SetStorageFileAclResponseRuleDecision); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SetStorageFileAclResponseRuleDecision value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.SetStorageFileAclResponseRuleDecisionExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseRuleDecisionNullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseRuleDecisionNullable.g.cs new file mode 100644 index 0000000..ae55eb0 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SetStorageFileAclResponseRuleDecisionNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SetStorageFileAclResponseRuleDecisionNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SetStorageFileAclResponseRuleDecision? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SetStorageFileAclResponseRuleDecisionExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SetStorageFileAclResponseRuleDecision)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SetStorageFileAclResponseRuleDecision?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SetStorageFileAclResponseRuleDecision? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.SetStorageFileAclResponseRuleDecisionExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType.g.cs new file mode 100644 index 0000000..4b036ed --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SignStorageFileUrlResponseErrorTypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SignStorageFileUrlResponseErrorType Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SignStorageFileUrlResponseErrorTypeExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SignStorageFileUrlResponseErrorType)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SignStorageFileUrlResponseErrorType); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SignStorageFileUrlResponseErrorType value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.SignStorageFileUrlResponseErrorTypeExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType2.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType2.g.cs new file mode 100644 index 0000000..94b76f0 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType2.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SignStorageFileUrlResponseErrorType2JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SignStorageFileUrlResponseErrorType2 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SignStorageFileUrlResponseErrorType2Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SignStorageFileUrlResponseErrorType2)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SignStorageFileUrlResponseErrorType2); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SignStorageFileUrlResponseErrorType2 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.SignStorageFileUrlResponseErrorType2Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType2Nullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType2Nullable.g.cs new file mode 100644 index 0000000..ab70a4e --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType2Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SignStorageFileUrlResponseErrorType2NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SignStorageFileUrlResponseErrorType2? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SignStorageFileUrlResponseErrorType2Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SignStorageFileUrlResponseErrorType2)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SignStorageFileUrlResponseErrorType2?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SignStorageFileUrlResponseErrorType2? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.SignStorageFileUrlResponseErrorType2Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType3.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType3.g.cs new file mode 100644 index 0000000..0c7b62a --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType3.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SignStorageFileUrlResponseErrorType3JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SignStorageFileUrlResponseErrorType3 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SignStorageFileUrlResponseErrorType3Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SignStorageFileUrlResponseErrorType3)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SignStorageFileUrlResponseErrorType3); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SignStorageFileUrlResponseErrorType3 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.SignStorageFileUrlResponseErrorType3Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType3Nullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType3Nullable.g.cs new file mode 100644 index 0000000..df6207b --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType3Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SignStorageFileUrlResponseErrorType3NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SignStorageFileUrlResponseErrorType3? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SignStorageFileUrlResponseErrorType3Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SignStorageFileUrlResponseErrorType3)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SignStorageFileUrlResponseErrorType3?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SignStorageFileUrlResponseErrorType3? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.SignStorageFileUrlResponseErrorType3Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType4.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType4.g.cs new file mode 100644 index 0000000..fc1da9d --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType4.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SignStorageFileUrlResponseErrorType4JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SignStorageFileUrlResponseErrorType4 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SignStorageFileUrlResponseErrorType4Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SignStorageFileUrlResponseErrorType4)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SignStorageFileUrlResponseErrorType4); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SignStorageFileUrlResponseErrorType4 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.SignStorageFileUrlResponseErrorType4Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType4Nullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType4Nullable.g.cs new file mode 100644 index 0000000..d499764 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType4Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SignStorageFileUrlResponseErrorType4NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SignStorageFileUrlResponseErrorType4? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SignStorageFileUrlResponseErrorType4Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SignStorageFileUrlResponseErrorType4)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SignStorageFileUrlResponseErrorType4?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SignStorageFileUrlResponseErrorType4? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.SignStorageFileUrlResponseErrorType4Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType5.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType5.g.cs new file mode 100644 index 0000000..54858d4 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType5.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SignStorageFileUrlResponseErrorType5JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SignStorageFileUrlResponseErrorType5 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SignStorageFileUrlResponseErrorType5Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SignStorageFileUrlResponseErrorType5)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SignStorageFileUrlResponseErrorType5); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SignStorageFileUrlResponseErrorType5 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.SignStorageFileUrlResponseErrorType5Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType5Nullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType5Nullable.g.cs new file mode 100644 index 0000000..3cf1ab8 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType5Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SignStorageFileUrlResponseErrorType5NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SignStorageFileUrlResponseErrorType5? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SignStorageFileUrlResponseErrorType5Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SignStorageFileUrlResponseErrorType5)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SignStorageFileUrlResponseErrorType5?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SignStorageFileUrlResponseErrorType5? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.SignStorageFileUrlResponseErrorType5Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType6.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType6.g.cs new file mode 100644 index 0000000..497ae9e --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType6.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SignStorageFileUrlResponseErrorType6JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SignStorageFileUrlResponseErrorType6 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SignStorageFileUrlResponseErrorType6Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SignStorageFileUrlResponseErrorType6)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SignStorageFileUrlResponseErrorType6); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SignStorageFileUrlResponseErrorType6 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.SignStorageFileUrlResponseErrorType6Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType6Nullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType6Nullable.g.cs new file mode 100644 index 0000000..960e718 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorType6Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SignStorageFileUrlResponseErrorType6NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SignStorageFileUrlResponseErrorType6? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SignStorageFileUrlResponseErrorType6Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SignStorageFileUrlResponseErrorType6)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SignStorageFileUrlResponseErrorType6?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SignStorageFileUrlResponseErrorType6? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.SignStorageFileUrlResponseErrorType6Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorTypeNullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorTypeNullable.g.cs new file mode 100644 index 0000000..c482f50 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.SignStorageFileUrlResponseErrorTypeNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class SignStorageFileUrlResponseErrorTypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.SignStorageFileUrlResponseErrorType? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.SignStorageFileUrlResponseErrorTypeExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.SignStorageFileUrlResponseErrorType)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.SignStorageFileUrlResponseErrorType?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.SignStorageFileUrlResponseErrorType? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.SignStorageFileUrlResponseErrorTypeExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclDefault.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclDefault.g.cs new file mode 100644 index 0000000..ecbdd78 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclDefault.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class UpdateStorageSettingsRequestInitialAclDefaultJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.UpdateStorageSettingsRequestInitialAclDefault Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.UpdateStorageSettingsRequestInitialAclDefaultExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.UpdateStorageSettingsRequestInitialAclDefault)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.UpdateStorageSettingsRequestInitialAclDefault); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.UpdateStorageSettingsRequestInitialAclDefault value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.UpdateStorageSettingsRequestInitialAclDefaultExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclDefaultNullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclDefaultNullable.g.cs new file mode 100644 index 0000000..97ac0cd --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclDefaultNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class UpdateStorageSettingsRequestInitialAclDefaultNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.UpdateStorageSettingsRequestInitialAclDefault? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.UpdateStorageSettingsRequestInitialAclDefaultExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.UpdateStorageSettingsRequestInitialAclDefault)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.UpdateStorageSettingsRequestInitialAclDefault?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.UpdateStorageSettingsRequestInitialAclDefault? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.UpdateStorageSettingsRequestInitialAclDefaultExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclRuleDecision.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclRuleDecision.g.cs new file mode 100644 index 0000000..3c97563 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclRuleDecision.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class UpdateStorageSettingsRequestInitialAclRuleDecisionJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.UpdateStorageSettingsRequestInitialAclRuleDecision Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.UpdateStorageSettingsRequestInitialAclRuleDecisionExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.UpdateStorageSettingsRequestInitialAclRuleDecision)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.UpdateStorageSettingsRequestInitialAclRuleDecision); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.UpdateStorageSettingsRequestInitialAclRuleDecision value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.UpdateStorageSettingsRequestInitialAclRuleDecisionExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclRuleDecisionNullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclRuleDecisionNullable.g.cs new file mode 100644 index 0000000..d16b2f4 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclRuleDecisionNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class UpdateStorageSettingsRequestInitialAclRuleDecisionNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.UpdateStorageSettingsRequestInitialAclRuleDecision? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.UpdateStorageSettingsRequestInitialAclRuleDecisionExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.UpdateStorageSettingsRequestInitialAclRuleDecision)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.UpdateStorageSettingsRequestInitialAclRuleDecision?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.UpdateStorageSettingsRequestInitialAclRuleDecision? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.UpdateStorageSettingsRequestInitialAclRuleDecisionExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorType.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorType.g.cs new file mode 100644 index 0000000..7058a4a --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorType.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class UpdateStorageSettingsResponseErrorTypeJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.UpdateStorageSettingsResponseErrorType Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.UpdateStorageSettingsResponseErrorTypeExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.UpdateStorageSettingsResponseErrorType)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.UpdateStorageSettingsResponseErrorType); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.UpdateStorageSettingsResponseErrorType value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.UpdateStorageSettingsResponseErrorTypeExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorType2.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorType2.g.cs new file mode 100644 index 0000000..a9bb2e8 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorType2.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class UpdateStorageSettingsResponseErrorType2JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.UpdateStorageSettingsResponseErrorType2 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.UpdateStorageSettingsResponseErrorType2Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.UpdateStorageSettingsResponseErrorType2)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.UpdateStorageSettingsResponseErrorType2); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.UpdateStorageSettingsResponseErrorType2 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.UpdateStorageSettingsResponseErrorType2Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorType2Nullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorType2Nullable.g.cs new file mode 100644 index 0000000..a63c496 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorType2Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class UpdateStorageSettingsResponseErrorType2NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.UpdateStorageSettingsResponseErrorType2? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.UpdateStorageSettingsResponseErrorType2Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.UpdateStorageSettingsResponseErrorType2)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.UpdateStorageSettingsResponseErrorType2?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.UpdateStorageSettingsResponseErrorType2? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.UpdateStorageSettingsResponseErrorType2Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorType3.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorType3.g.cs new file mode 100644 index 0000000..5e8f51f --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorType3.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class UpdateStorageSettingsResponseErrorType3JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.UpdateStorageSettingsResponseErrorType3 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.UpdateStorageSettingsResponseErrorType3Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.UpdateStorageSettingsResponseErrorType3)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.UpdateStorageSettingsResponseErrorType3); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.UpdateStorageSettingsResponseErrorType3 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.UpdateStorageSettingsResponseErrorType3Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorType3Nullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorType3Nullable.g.cs new file mode 100644 index 0000000..2efb28a --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorType3Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class UpdateStorageSettingsResponseErrorType3NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.UpdateStorageSettingsResponseErrorType3? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.UpdateStorageSettingsResponseErrorType3Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.UpdateStorageSettingsResponseErrorType3)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.UpdateStorageSettingsResponseErrorType3?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.UpdateStorageSettingsResponseErrorType3? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.UpdateStorageSettingsResponseErrorType3Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorType4.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorType4.g.cs new file mode 100644 index 0000000..bc7fb89 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorType4.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class UpdateStorageSettingsResponseErrorType4JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.UpdateStorageSettingsResponseErrorType4 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.UpdateStorageSettingsResponseErrorType4Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.UpdateStorageSettingsResponseErrorType4)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.UpdateStorageSettingsResponseErrorType4); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.UpdateStorageSettingsResponseErrorType4 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.UpdateStorageSettingsResponseErrorType4Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorType4Nullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorType4Nullable.g.cs new file mode 100644 index 0000000..5da8e0a --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorType4Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class UpdateStorageSettingsResponseErrorType4NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.UpdateStorageSettingsResponseErrorType4? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.UpdateStorageSettingsResponseErrorType4Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.UpdateStorageSettingsResponseErrorType4)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.UpdateStorageSettingsResponseErrorType4?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.UpdateStorageSettingsResponseErrorType4? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.UpdateStorageSettingsResponseErrorType4Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorType5.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorType5.g.cs new file mode 100644 index 0000000..c1cbb80 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorType5.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class UpdateStorageSettingsResponseErrorType5JsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.UpdateStorageSettingsResponseErrorType5 Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.UpdateStorageSettingsResponseErrorType5Extensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.UpdateStorageSettingsResponseErrorType5)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.UpdateStorageSettingsResponseErrorType5); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.UpdateStorageSettingsResponseErrorType5 value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.UpdateStorageSettingsResponseErrorType5Extensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorType5Nullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorType5Nullable.g.cs new file mode 100644 index 0000000..044daa7 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorType5Nullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class UpdateStorageSettingsResponseErrorType5NullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.UpdateStorageSettingsResponseErrorType5? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.UpdateStorageSettingsResponseErrorType5Extensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.UpdateStorageSettingsResponseErrorType5)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.UpdateStorageSettingsResponseErrorType5?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.UpdateStorageSettingsResponseErrorType5? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.UpdateStorageSettingsResponseErrorType5Extensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorTypeNullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorTypeNullable.g.cs new file mode 100644 index 0000000..5e1af0e --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseErrorTypeNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class UpdateStorageSettingsResponseErrorTypeNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.UpdateStorageSettingsResponseErrorType? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.UpdateStorageSettingsResponseErrorTypeExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.UpdateStorageSettingsResponseErrorType)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.UpdateStorageSettingsResponseErrorType?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.UpdateStorageSettingsResponseErrorType? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.UpdateStorageSettingsResponseErrorTypeExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclDefault.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclDefault.g.cs new file mode 100644 index 0000000..02693f3 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclDefault.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class UpdateStorageSettingsResponseInitialAclDefaultJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.UpdateStorageSettingsResponseInitialAclDefault Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.UpdateStorageSettingsResponseInitialAclDefaultExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.UpdateStorageSettingsResponseInitialAclDefault)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.UpdateStorageSettingsResponseInitialAclDefault); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.UpdateStorageSettingsResponseInitialAclDefault value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.UpdateStorageSettingsResponseInitialAclDefaultExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclDefaultNullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclDefaultNullable.g.cs new file mode 100644 index 0000000..8039fb9 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclDefaultNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class UpdateStorageSettingsResponseInitialAclDefaultNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.UpdateStorageSettingsResponseInitialAclDefault? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.UpdateStorageSettingsResponseInitialAclDefaultExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.UpdateStorageSettingsResponseInitialAclDefault)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.UpdateStorageSettingsResponseInitialAclDefault?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.UpdateStorageSettingsResponseInitialAclDefault? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.UpdateStorageSettingsResponseInitialAclDefaultExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclRuleDecision.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclRuleDecision.g.cs new file mode 100644 index 0000000..e30b0db --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclRuleDecision.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class UpdateStorageSettingsResponseInitialAclRuleDecisionJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.UpdateStorageSettingsResponseInitialAclRuleDecision Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.UpdateStorageSettingsResponseInitialAclRuleDecisionExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.UpdateStorageSettingsResponseInitialAclRuleDecision)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.UpdateStorageSettingsResponseInitialAclRuleDecision); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.UpdateStorageSettingsResponseInitialAclRuleDecision value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Fal.UpdateStorageSettingsResponseInitialAclRuleDecisionExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclRuleDecisionNullable.g.cs b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclRuleDecisionNullable.g.cs new file mode 100644 index 0000000..fb2c0e0 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclRuleDecisionNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Fal.JsonConverters +{ + /// + public sealed class UpdateStorageSettingsResponseInitialAclRuleDecisionNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Fal.UpdateStorageSettingsResponseInitialAclRuleDecision? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Fal.UpdateStorageSettingsResponseInitialAclRuleDecisionExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Fal.UpdateStorageSettingsResponseInitialAclRuleDecision)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Fal.UpdateStorageSettingsResponseInitialAclRuleDecision?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Fal.UpdateStorageSettingsResponseInitialAclRuleDecision? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Fal.UpdateStorageSettingsResponseInitialAclRuleDecisionExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Fal/Generated/Fal.JsonSerializerContext.g.cs b/src/libs/Fal/Generated/Fal.JsonSerializerContext.g.cs index 63aca45..07cae4c 100644 --- a/src/libs/Fal/Generated/Fal.JsonSerializerContext.g.cs +++ b/src/libs/Fal/Generated/Fal.JsonSerializerContext.g.cs @@ -25,6 +25,22 @@ namespace Fal typeof(global::Fal.JsonConverters.UploadAssetRequestTypeNullableJsonConverter), + typeof(global::Fal.JsonConverters.SetStorageFileAclRequestDefaultJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclRequestDefaultNullableJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclRequestRuleDecisionJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclRequestRuleDecisionNullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclDefaultJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclDefaultNullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclRuleDecisionJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclRuleDecisionNullableJsonConverter), + typeof(global::Fal.JsonConverters.ServerlessLogsHistoryRequestItemConditionTypeJsonConverter), typeof(global::Fal.JsonConverters.ServerlessLogsHistoryRequestItemConditionTypeNullableJsonConverter), @@ -1545,6 +1561,146 @@ namespace Fal typeof(global::Fal.JsonConverters.UnassignAssetTagResponseErrorType9NullableJsonConverter), + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseDefaultJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseDefaultNullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseRuleDecisionJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseRuleDecisionNullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorTypeJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorTypeNullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType2JsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType2NullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType3JsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType3NullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType4JsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType4NullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType5JsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType5NullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType6JsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType6NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseDefaultJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseDefaultNullableJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseRuleDecisionJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseRuleDecisionNullableJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorTypeJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorTypeNullableJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType2JsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType2NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType3JsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType3NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType4JsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType4NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType5JsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType5NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType6JsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType6NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorTypeJsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorTypeNullableJsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType2JsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType2NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType3JsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType3NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType4JsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType4NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType5JsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType5NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType6JsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType6NullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseInitialAclDefaultJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseInitialAclDefaultNullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseInitialAclRuleDecisionJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseInitialAclRuleDecisionNullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorTypeJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorTypeNullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorType2JsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorType2NullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorType3JsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorType3NullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorType4JsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorType4NullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclDefaultJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclDefaultNullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclRuleDecisionJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclRuleDecisionNullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorTypeJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorTypeNullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType2JsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType2NullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType3JsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType3NullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType4JsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType4NullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType5JsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType5NullableJsonConverter), + typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorTypeJsonConverter), typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorTypeNullableJsonConverter), @@ -2179,6 +2335,18 @@ namespace Fal [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UnfavoriteAssetRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.AssignAssetTagRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UnassignAssetTagRequest))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SetStorageFileAclRequest))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SetStorageFileAclRequestDefault), TypeInfoPropertyName = "SetStorageFileAclRequestDefault2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SetStorageFileAclRequestRule))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SetStorageFileAclRequestRuleDecision), TypeInfoPropertyName = "SetStorageFileAclRequestRuleDecision2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SignStorageFileUrlRequest))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UpdateStorageSettingsRequest))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UpdateStorageSettingsRequestInitialAcl))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UpdateStorageSettingsRequestInitialAclDefault), TypeInfoPropertyName = "UpdateStorageSettingsRequestInitialAclDefault2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UpdateStorageSettingsRequestInitialAclRule))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UpdateStorageSettingsRequestInitialAclRuleDecision), TypeInfoPropertyName = "UpdateStorageSettingsRequestInitialAclRuleDecision2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ServerlessUploadFromUrlRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ServerlessUploadLocalFileRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] @@ -2631,18 +2799,6 @@ namespace Fal [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetCollectionResponse7))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetCollectionResponseError7))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetCollectionResponseErrorType7), TypeInfoPropertyName = "DeleteAssetCollectionResponseErrorType72")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetCollectionResponse8))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetCollectionResponseError8))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetCollectionResponseErrorType8), TypeInfoPropertyName = "DeleteAssetCollectionResponseErrorType82")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetCollectionResponse9))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetCollectionResponseError9))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetCollectionResponseErrorType9), TypeInfoPropertyName = "DeleteAssetCollectionResponseErrorType92")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.FavoriteAssetCollectionResponse))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.FavoriteAssetCollectionResponseCollection))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.FavoriteAssetCollectionResponseCollectionType), TypeInfoPropertyName = "FavoriteAssetCollectionResponseCollectionType2")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.FavoriteAssetCollectionResponse2))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.FavoriteAssetCollectionResponseError))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.FavoriteAssetCollectionResponseErrorType), TypeInfoPropertyName = "FavoriteAssetCollectionResponseErrorType2_3")] internal sealed partial class SourceGenerationContextChunk0 : global::System.Text.Json.Serialization.JsonSerializerContext { } @@ -2666,6 +2822,22 @@ internal sealed partial class SourceGenerationContextChunk0 : global::System.Tex typeof(global::Fal.JsonConverters.UploadAssetRequestTypeNullableJsonConverter), + typeof(global::Fal.JsonConverters.SetStorageFileAclRequestDefaultJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclRequestDefaultNullableJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclRequestRuleDecisionJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclRequestRuleDecisionNullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclDefaultJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclDefaultNullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclRuleDecisionJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclRuleDecisionNullableJsonConverter), + typeof(global::Fal.JsonConverters.ServerlessLogsHistoryRequestItemConditionTypeJsonConverter), typeof(global::Fal.JsonConverters.ServerlessLogsHistoryRequestItemConditionTypeNullableJsonConverter), @@ -4186,6 +4358,146 @@ internal sealed partial class SourceGenerationContextChunk0 : global::System.Tex typeof(global::Fal.JsonConverters.UnassignAssetTagResponseErrorType9NullableJsonConverter), + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseDefaultJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseDefaultNullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseRuleDecisionJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseRuleDecisionNullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorTypeJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorTypeNullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType2JsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType2NullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType3JsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType3NullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType4JsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType4NullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType5JsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType5NullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType6JsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType6NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseDefaultJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseDefaultNullableJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseRuleDecisionJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseRuleDecisionNullableJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorTypeJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorTypeNullableJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType2JsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType2NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType3JsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType3NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType4JsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType4NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType5JsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType5NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType6JsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType6NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorTypeJsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorTypeNullableJsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType2JsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType2NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType3JsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType3NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType4JsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType4NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType5JsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType5NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType6JsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType6NullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseInitialAclDefaultJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseInitialAclDefaultNullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseInitialAclRuleDecisionJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseInitialAclRuleDecisionNullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorTypeJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorTypeNullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorType2JsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorType2NullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorType3JsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorType3NullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorType4JsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorType4NullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclDefaultJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclDefaultNullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclRuleDecisionJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclRuleDecisionNullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorTypeJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorTypeNullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType2JsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType2NullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType3JsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType3NullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType4JsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType4NullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType5JsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType5NullableJsonConverter), + typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorTypeJsonConverter), typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorTypeNullableJsonConverter), @@ -4784,6 +5096,18 @@ internal sealed partial class SourceGenerationContextChunk0 : global::System.Tex typeof(global::Fal.JsonConverters.UnixTimestampJsonConverter), })] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetCollectionResponse8))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetCollectionResponseError8))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetCollectionResponseErrorType8), TypeInfoPropertyName = "DeleteAssetCollectionResponseErrorType82")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetCollectionResponse9))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetCollectionResponseError9))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetCollectionResponseErrorType9), TypeInfoPropertyName = "DeleteAssetCollectionResponseErrorType92")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.FavoriteAssetCollectionResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.FavoriteAssetCollectionResponseCollection))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.FavoriteAssetCollectionResponseCollectionType), TypeInfoPropertyName = "FavoriteAssetCollectionResponseCollectionType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.FavoriteAssetCollectionResponse2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.FavoriteAssetCollectionResponseError))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.FavoriteAssetCollectionResponseErrorType), TypeInfoPropertyName = "FavoriteAssetCollectionResponseErrorType2_3")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.FavoriteAssetCollectionResponse3))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.FavoriteAssetCollectionResponseError2))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.FavoriteAssetCollectionResponseErrorType2), TypeInfoPropertyName = "FavoriteAssetCollectionResponseErrorType22")] @@ -5272,18 +5596,6 @@ internal sealed partial class SourceGenerationContextChunk0 : global::System.Tex [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetTagResponseErrorType6), TypeInfoPropertyName = "DeleteAssetTagResponseErrorType62")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetTagResponse7))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetTagResponseError7))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetTagResponseErrorType7), TypeInfoPropertyName = "DeleteAssetTagResponseErrorType72")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetTagResponse8))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetTagResponseError8))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetTagResponseErrorType8), TypeInfoPropertyName = "DeleteAssetTagResponseErrorType82")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetTagResponse9))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetTagResponseError9))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetTagResponseErrorType9), TypeInfoPropertyName = "DeleteAssetTagResponseErrorType92")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UploadAssetResponse))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UploadAssetResponseAsset))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UploadAssetResponseAssetType), TypeInfoPropertyName = "UploadAssetResponseAssetType2")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UploadAssetResponseAssetTag))] internal sealed partial class SourceGenerationContextChunk1 : global::System.Text.Json.Serialization.JsonSerializerContext { } @@ -5307,6 +5619,22 @@ internal sealed partial class SourceGenerationContextChunk1 : global::System.Tex typeof(global::Fal.JsonConverters.UploadAssetRequestTypeNullableJsonConverter), + typeof(global::Fal.JsonConverters.SetStorageFileAclRequestDefaultJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclRequestDefaultNullableJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclRequestRuleDecisionJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclRequestRuleDecisionNullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclDefaultJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclDefaultNullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclRuleDecisionJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclRuleDecisionNullableJsonConverter), + typeof(global::Fal.JsonConverters.ServerlessLogsHistoryRequestItemConditionTypeJsonConverter), typeof(global::Fal.JsonConverters.ServerlessLogsHistoryRequestItemConditionTypeNullableJsonConverter), @@ -6827,117 +7155,257 @@ internal sealed partial class SourceGenerationContextChunk1 : global::System.Tex typeof(global::Fal.JsonConverters.UnassignAssetTagResponseErrorType9NullableJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorTypeJsonConverter), + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseDefaultJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorTypeNullableJsonConverter), + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseDefaultNullableJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorType2JsonConverter), + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseRuleDecisionJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorType2NullableJsonConverter), + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseRuleDecisionNullableJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorType3JsonConverter), + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorTypeJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorType3NullableJsonConverter), + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorTypeNullableJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorType4JsonConverter), + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType2JsonConverter), - typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorType4NullableJsonConverter), + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType2NullableJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorType5JsonConverter), + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType3JsonConverter), - typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorType5NullableJsonConverter), + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType3NullableJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorType6JsonConverter), + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType4JsonConverter), - typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorType6NullableJsonConverter), + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType4NullableJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessGetAppQueueInfoResponseErrorTypeJsonConverter), + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType5JsonConverter), - typeof(global::Fal.JsonConverters.ServerlessGetAppQueueInfoResponseErrorTypeNullableJsonConverter), + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType5NullableJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessGetAppQueueInfoResponseErrorType2JsonConverter), + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType6JsonConverter), - typeof(global::Fal.JsonConverters.ServerlessGetAppQueueInfoResponseErrorType2NullableJsonConverter), + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType6NullableJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessGetAppQueueInfoResponseErrorType3JsonConverter), + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseDefaultJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessGetAppQueueInfoResponseErrorType3NullableJsonConverter), + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseDefaultNullableJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessGetAppQueueInfoResponseErrorType4JsonConverter), + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseRuleDecisionJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessGetAppQueueInfoResponseErrorType4NullableJsonConverter), + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseRuleDecisionNullableJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessGetAppQueueInfoResponseErrorType5JsonConverter), + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorTypeJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessGetAppQueueInfoResponseErrorType5NullableJsonConverter), + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorTypeNullableJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessFlushAppQueueResponseErrorTypeJsonConverter), + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType2JsonConverter), - typeof(global::Fal.JsonConverters.ServerlessFlushAppQueueResponseErrorTypeNullableJsonConverter), + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType2NullableJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessFlushAppQueueResponseErrorType2JsonConverter), + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType3JsonConverter), - typeof(global::Fal.JsonConverters.ServerlessFlushAppQueueResponseErrorType2NullableJsonConverter), + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType3NullableJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessFlushAppQueueResponseErrorType3JsonConverter), + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType4JsonConverter), - typeof(global::Fal.JsonConverters.ServerlessFlushAppQueueResponseErrorType3NullableJsonConverter), + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType4NullableJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessFlushAppQueueResponseErrorType4JsonConverter), + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType5JsonConverter), - typeof(global::Fal.JsonConverters.ServerlessFlushAppQueueResponseErrorType4NullableJsonConverter), + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType5NullableJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessFlushAppQueueResponseErrorType5JsonConverter), + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType6JsonConverter), - typeof(global::Fal.JsonConverters.ServerlessFlushAppQueueResponseErrorType5NullableJsonConverter), + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType6NullableJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessFlushAppQueueResponseErrorType6JsonConverter), + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorTypeJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessFlushAppQueueResponseErrorType6NullableJsonConverter), + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorTypeNullableJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessListRootResponseErrorTypeJsonConverter), + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType2JsonConverter), - typeof(global::Fal.JsonConverters.ServerlessListRootResponseErrorTypeNullableJsonConverter), + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType2NullableJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessListRootResponseErrorType2JsonConverter), + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType3JsonConverter), - typeof(global::Fal.JsonConverters.ServerlessListRootResponseErrorType2NullableJsonConverter), + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType3NullableJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessListRootResponseErrorType3JsonConverter), + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType4JsonConverter), - typeof(global::Fal.JsonConverters.ServerlessListRootResponseErrorType3NullableJsonConverter), + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType4NullableJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessListDirectoryResponseErrorTypeJsonConverter), + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType5JsonConverter), - typeof(global::Fal.JsonConverters.ServerlessListDirectoryResponseErrorTypeNullableJsonConverter), + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType5NullableJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessListDirectoryResponseErrorType2JsonConverter), + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType6JsonConverter), - typeof(global::Fal.JsonConverters.ServerlessListDirectoryResponseErrorType2NullableJsonConverter), + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType6NullableJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessListDirectoryResponseErrorType3JsonConverter), + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseInitialAclDefaultJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessListDirectoryResponseErrorType3NullableJsonConverter), + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseInitialAclDefaultNullableJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessDownloadFileResponseErrorTypeJsonConverter), + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseInitialAclRuleDecisionJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessDownloadFileResponseErrorTypeNullableJsonConverter), + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseInitialAclRuleDecisionNullableJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessDownloadFileResponseErrorType2JsonConverter), + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorTypeJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessDownloadFileResponseErrorType2NullableJsonConverter), + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorTypeNullableJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessDownloadFileResponseErrorType3JsonConverter), + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorType2JsonConverter), - typeof(global::Fal.JsonConverters.ServerlessDownloadFileResponseErrorType3NullableJsonConverter), + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorType2NullableJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessDownloadFileResponseErrorType4JsonConverter), + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorType3JsonConverter), - typeof(global::Fal.JsonConverters.ServerlessDownloadFileResponseErrorType4NullableJsonConverter), + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorType3NullableJsonConverter), - typeof(global::Fal.JsonConverters.ServerlessUploadFromUrlResponseErrorTypeJsonConverter), + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorType4JsonConverter), - typeof(global::Fal.JsonConverters.ServerlessUploadFromUrlResponseErrorTypeNullableJsonConverter), + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorType4NullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclDefaultJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclDefaultNullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclRuleDecisionJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclRuleDecisionNullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorTypeJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorTypeNullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType2JsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType2NullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType3JsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType3NullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType4JsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType4NullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType5JsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType5NullableJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorTypeJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorTypeNullableJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorType2JsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorType2NullableJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorType3JsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorType3NullableJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorType4JsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorType4NullableJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorType5JsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorType5NullableJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorType6JsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorType6NullableJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessGetAppQueueInfoResponseErrorTypeJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessGetAppQueueInfoResponseErrorTypeNullableJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessGetAppQueueInfoResponseErrorType2JsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessGetAppQueueInfoResponseErrorType2NullableJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessGetAppQueueInfoResponseErrorType3JsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessGetAppQueueInfoResponseErrorType3NullableJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessGetAppQueueInfoResponseErrorType4JsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessGetAppQueueInfoResponseErrorType4NullableJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessGetAppQueueInfoResponseErrorType5JsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessGetAppQueueInfoResponseErrorType5NullableJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessFlushAppQueueResponseErrorTypeJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessFlushAppQueueResponseErrorTypeNullableJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessFlushAppQueueResponseErrorType2JsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessFlushAppQueueResponseErrorType2NullableJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessFlushAppQueueResponseErrorType3JsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessFlushAppQueueResponseErrorType3NullableJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessFlushAppQueueResponseErrorType4JsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessFlushAppQueueResponseErrorType4NullableJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessFlushAppQueueResponseErrorType5JsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessFlushAppQueueResponseErrorType5NullableJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessFlushAppQueueResponseErrorType6JsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessFlushAppQueueResponseErrorType6NullableJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessListRootResponseErrorTypeJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessListRootResponseErrorTypeNullableJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessListRootResponseErrorType2JsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessListRootResponseErrorType2NullableJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessListRootResponseErrorType3JsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessListRootResponseErrorType3NullableJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessListDirectoryResponseErrorTypeJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessListDirectoryResponseErrorTypeNullableJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessListDirectoryResponseErrorType2JsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessListDirectoryResponseErrorType2NullableJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessListDirectoryResponseErrorType3JsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessListDirectoryResponseErrorType3NullableJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessDownloadFileResponseErrorTypeJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessDownloadFileResponseErrorTypeNullableJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessDownloadFileResponseErrorType2JsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessDownloadFileResponseErrorType2NullableJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessDownloadFileResponseErrorType3JsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessDownloadFileResponseErrorType3NullableJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessDownloadFileResponseErrorType4JsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessDownloadFileResponseErrorType4NullableJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessUploadFromUrlResponseErrorTypeJsonConverter), + + typeof(global::Fal.JsonConverters.ServerlessUploadFromUrlResponseErrorTypeNullableJsonConverter), typeof(global::Fal.JsonConverters.ServerlessUploadFromUrlResponseErrorType2JsonConverter), @@ -7425,6 +7893,18 @@ internal sealed partial class SourceGenerationContextChunk1 : global::System.Tex typeof(global::Fal.JsonConverters.UnixTimestampJsonConverter), })] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetTagResponseErrorType7), TypeInfoPropertyName = "DeleteAssetTagResponseErrorType72")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetTagResponse8))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetTagResponseError8))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetTagResponseErrorType8), TypeInfoPropertyName = "DeleteAssetTagResponseErrorType82")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetTagResponse9))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetTagResponseError9))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteAssetTagResponseErrorType9), TypeInfoPropertyName = "DeleteAssetTagResponseErrorType92")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UploadAssetResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UploadAssetResponseAsset))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UploadAssetResponseAssetType), TypeInfoPropertyName = "UploadAssetResponseAssetType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UploadAssetResponseAssetTag))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UploadAssetResponse2))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UploadAssetResponseError))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UploadAssetResponseErrorType), TypeInfoPropertyName = "UploadAssetResponseErrorType2_3")] @@ -7625,6 +8105,110 @@ internal sealed partial class SourceGenerationContextChunk1 : global::System.Tex [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UnassignAssetTagResponse9))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UnassignAssetTagResponseError9))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UnassignAssetTagResponseErrorType9), TypeInfoPropertyName = "UnassignAssetTagResponseErrorType92")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageFileAclResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageFileAclResponseDefault), TypeInfoPropertyName = "GetStorageFileAclResponseDefault2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageFileAclResponseRule))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageFileAclResponseRuleDecision), TypeInfoPropertyName = "GetStorageFileAclResponseRuleDecision2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageFileAclResponse2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageFileAclResponseError))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageFileAclResponseErrorType), TypeInfoPropertyName = "GetStorageFileAclResponseErrorType2_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageFileAclResponse3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageFileAclResponseError2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageFileAclResponseErrorType2), TypeInfoPropertyName = "GetStorageFileAclResponseErrorType22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageFileAclResponse4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageFileAclResponseError3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageFileAclResponseErrorType3), TypeInfoPropertyName = "GetStorageFileAclResponseErrorType32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageFileAclResponse5))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageFileAclResponseError4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageFileAclResponseErrorType4), TypeInfoPropertyName = "GetStorageFileAclResponseErrorType42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageFileAclResponse6))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageFileAclResponseError5))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageFileAclResponseErrorType5), TypeInfoPropertyName = "GetStorageFileAclResponseErrorType52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageFileAclResponse7))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageFileAclResponseError6))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageFileAclResponseErrorType6), TypeInfoPropertyName = "GetStorageFileAclResponseErrorType62")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SetStorageFileAclResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SetStorageFileAclResponseDefault), TypeInfoPropertyName = "SetStorageFileAclResponseDefault2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SetStorageFileAclResponseRule))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SetStorageFileAclResponseRuleDecision), TypeInfoPropertyName = "SetStorageFileAclResponseRuleDecision2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SetStorageFileAclResponse2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SetStorageFileAclResponseError))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SetStorageFileAclResponseErrorType), TypeInfoPropertyName = "SetStorageFileAclResponseErrorType2_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SetStorageFileAclResponse3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SetStorageFileAclResponseError2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SetStorageFileAclResponseErrorType2), TypeInfoPropertyName = "SetStorageFileAclResponseErrorType22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SetStorageFileAclResponse4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SetStorageFileAclResponseError3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SetStorageFileAclResponseErrorType3), TypeInfoPropertyName = "SetStorageFileAclResponseErrorType32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SetStorageFileAclResponse5))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SetStorageFileAclResponseError4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SetStorageFileAclResponseErrorType4), TypeInfoPropertyName = "SetStorageFileAclResponseErrorType42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SetStorageFileAclResponse6))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SetStorageFileAclResponseError5))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SetStorageFileAclResponseErrorType5), TypeInfoPropertyName = "SetStorageFileAclResponseErrorType52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SetStorageFileAclResponse7))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SetStorageFileAclResponseError6))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SetStorageFileAclResponseErrorType6), TypeInfoPropertyName = "SetStorageFileAclResponseErrorType62")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SignStorageFileUrlResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SignStorageFileUrlResponse2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SignStorageFileUrlResponseError))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SignStorageFileUrlResponseErrorType), TypeInfoPropertyName = "SignStorageFileUrlResponseErrorType2_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SignStorageFileUrlResponse3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SignStorageFileUrlResponseError2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SignStorageFileUrlResponseErrorType2), TypeInfoPropertyName = "SignStorageFileUrlResponseErrorType22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SignStorageFileUrlResponse4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SignStorageFileUrlResponseError3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SignStorageFileUrlResponseErrorType3), TypeInfoPropertyName = "SignStorageFileUrlResponseErrorType32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SignStorageFileUrlResponse5))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SignStorageFileUrlResponseError4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SignStorageFileUrlResponseErrorType4), TypeInfoPropertyName = "SignStorageFileUrlResponseErrorType42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SignStorageFileUrlResponse6))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SignStorageFileUrlResponseError5))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SignStorageFileUrlResponseErrorType5), TypeInfoPropertyName = "SignStorageFileUrlResponseErrorType52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SignStorageFileUrlResponse7))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SignStorageFileUrlResponseError6))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.SignStorageFileUrlResponseErrorType6), TypeInfoPropertyName = "SignStorageFileUrlResponseErrorType62")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageSettingsResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageSettingsResponseInitialAcl))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageSettingsResponseInitialAclDefault), TypeInfoPropertyName = "GetStorageSettingsResponseInitialAclDefault2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageSettingsResponseInitialAclRule))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageSettingsResponseInitialAclRuleDecision), TypeInfoPropertyName = "GetStorageSettingsResponseInitialAclRuleDecision2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageSettingsResponse2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageSettingsResponseError))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageSettingsResponseErrorType), TypeInfoPropertyName = "GetStorageSettingsResponseErrorType2_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageSettingsResponse3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageSettingsResponseError2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageSettingsResponseErrorType2), TypeInfoPropertyName = "GetStorageSettingsResponseErrorType22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageSettingsResponse4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageSettingsResponseError3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageSettingsResponseErrorType3), TypeInfoPropertyName = "GetStorageSettingsResponseErrorType32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageSettingsResponse5))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageSettingsResponseError4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetStorageSettingsResponseErrorType4), TypeInfoPropertyName = "GetStorageSettingsResponseErrorType42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UpdateStorageSettingsResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UpdateStorageSettingsResponseInitialAcl))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UpdateStorageSettingsResponseInitialAclDefault), TypeInfoPropertyName = "UpdateStorageSettingsResponseInitialAclDefault2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UpdateStorageSettingsResponseInitialAclRule))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UpdateStorageSettingsResponseInitialAclRuleDecision), TypeInfoPropertyName = "UpdateStorageSettingsResponseInitialAclRuleDecision2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UpdateStorageSettingsResponse2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UpdateStorageSettingsResponseError))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UpdateStorageSettingsResponseErrorType), TypeInfoPropertyName = "UpdateStorageSettingsResponseErrorType2_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UpdateStorageSettingsResponse3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UpdateStorageSettingsResponseError2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UpdateStorageSettingsResponseErrorType2), TypeInfoPropertyName = "UpdateStorageSettingsResponseErrorType22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UpdateStorageSettingsResponse4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UpdateStorageSettingsResponseError3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UpdateStorageSettingsResponseErrorType3), TypeInfoPropertyName = "UpdateStorageSettingsResponseErrorType32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UpdateStorageSettingsResponse5))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UpdateStorageSettingsResponseError4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UpdateStorageSettingsResponseErrorType4), TypeInfoPropertyName = "UpdateStorageSettingsResponseErrorType42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UpdateStorageSettingsResponse6))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UpdateStorageSettingsResponseError5))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.UpdateStorageSettingsResponseErrorType5), TypeInfoPropertyName = "UpdateStorageSettingsResponseErrorType52")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ServerlessGetAnalyticsResponse))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ServerlessGetAnalyticsResponseTimeSerie))] @@ -7809,122 +8393,6 @@ internal sealed partial class SourceGenerationContextChunk1 : global::System.Tex [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListComputeInstancesResponse5))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListComputeInstancesResponseError4))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListComputeInstancesResponseErrorType4), TypeInfoPropertyName = "ListComputeInstancesResponseErrorType42")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponse))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponseInstanceType), TypeInfoPropertyName = "CreateComputeInstanceResponseInstanceType2")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponseRegion), TypeInfoPropertyName = "CreateComputeInstanceResponseRegion2")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponseSector), TypeInfoPropertyName = "CreateComputeInstanceResponseSector2")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponseStatus), TypeInfoPropertyName = "CreateComputeInstanceResponseStatus2")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponse2))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponseError))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponseErrorType), TypeInfoPropertyName = "CreateComputeInstanceResponseErrorType2_3")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponse3))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponseError2))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponseErrorType2), TypeInfoPropertyName = "CreateComputeInstanceResponseErrorType22")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponse4))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponseError3))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponseErrorType3), TypeInfoPropertyName = "CreateComputeInstanceResponseErrorType32")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponse5))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponseError4))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponseErrorType4), TypeInfoPropertyName = "CreateComputeInstanceResponseErrorType42")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponse6))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponseError5))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponseErrorType5), TypeInfoPropertyName = "CreateComputeInstanceResponseErrorType52")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponse))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponseInstanceType), TypeInfoPropertyName = "GetComputeInstanceResponseInstanceType2")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponseRegion), TypeInfoPropertyName = "GetComputeInstanceResponseRegion2")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponseSector), TypeInfoPropertyName = "GetComputeInstanceResponseSector2")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponseStatus), TypeInfoPropertyName = "GetComputeInstanceResponseStatus2")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponse2))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponseError))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponseErrorType), TypeInfoPropertyName = "GetComputeInstanceResponseErrorType2_3")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponse3))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponseError2))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponseErrorType2), TypeInfoPropertyName = "GetComputeInstanceResponseErrorType22")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponse4))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponseError3))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponseErrorType3), TypeInfoPropertyName = "GetComputeInstanceResponseErrorType32")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponse5))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponseError4))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponseErrorType4), TypeInfoPropertyName = "GetComputeInstanceResponseErrorType42")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponse6))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponseError5))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponseErrorType5), TypeInfoPropertyName = "GetComputeInstanceResponseErrorType52")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponse))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponseError))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponseErrorType), TypeInfoPropertyName = "DeleteComputeInstanceResponseErrorType2_3")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponse2))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponseError2))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponseErrorType2), TypeInfoPropertyName = "DeleteComputeInstanceResponseErrorType22")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponse3))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponseError3))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponseErrorType3), TypeInfoPropertyName = "DeleteComputeInstanceResponseErrorType32")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponse4))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponseError4))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponseErrorType4), TypeInfoPropertyName = "DeleteComputeInstanceResponseErrorType42")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponse5))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponseError5))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponseErrorType5), TypeInfoPropertyName = "DeleteComputeInstanceResponseErrorType52")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponse))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponseKey))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponseKeyScope), TypeInfoPropertyName = "ListApiKeysResponseKeyScope2")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponse2))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponseError))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponseErrorType), TypeInfoPropertyName = "ListApiKeysResponseErrorType2_3")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponse3))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponseError2))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponseErrorType2), TypeInfoPropertyName = "ListApiKeysResponseErrorType22")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponse4))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponseError3))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponseErrorType3), TypeInfoPropertyName = "ListApiKeysResponseErrorType32")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponse5))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponseError4))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponseErrorType4), TypeInfoPropertyName = "ListApiKeysResponseErrorType42")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponse))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponse2))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponseError))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponseErrorType), TypeInfoPropertyName = "CreateApiKeyResponseErrorType2_3")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponse3))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponseError2))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponseErrorType2), TypeInfoPropertyName = "CreateApiKeyResponseErrorType22")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponse4))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponseError3))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponseErrorType3), TypeInfoPropertyName = "CreateApiKeyResponseErrorType32")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponse5))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponseError4))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponseErrorType4), TypeInfoPropertyName = "CreateApiKeyResponseErrorType42")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponse6))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponseError5))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponseErrorType5), TypeInfoPropertyName = "CreateApiKeyResponseErrorType52")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteApiKeyResponse))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteApiKeyResponseError))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteApiKeyResponseErrorType), TypeInfoPropertyName = "DeleteApiKeyResponseErrorType2_3")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteApiKeyResponse2))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteApiKeyResponseError2))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteApiKeyResponseErrorType2), TypeInfoPropertyName = "DeleteApiKeyResponseErrorType22")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteApiKeyResponse3))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteApiKeyResponseError3))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteApiKeyResponseErrorType3), TypeInfoPropertyName = "DeleteApiKeyResponseErrorType32")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteApiKeyResponse4))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteApiKeyResponseError4))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteApiKeyResponseErrorType4), TypeInfoPropertyName = "DeleteApiKeyResponseErrorType42")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponse))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponseCredits))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponse2))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponseError))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponseErrorType), TypeInfoPropertyName = "GetAccountBillingResponseErrorType2_3")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponse3))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponseError2))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponseErrorType2), TypeInfoPropertyName = "GetAccountBillingResponseErrorType22")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponse4))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponseError3))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponseErrorType3), TypeInfoPropertyName = "GetAccountBillingResponseErrorType32")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponse5))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponseError4))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponseErrorType4), TypeInfoPropertyName = "GetAccountBillingResponseErrorType42")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponse6))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponseError5))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponseErrorType5), TypeInfoPropertyName = "GetAccountBillingResponseErrorType52")] internal sealed partial class SourceGenerationContextChunk2 : global::System.Text.Json.Serialization.JsonSerializerContext { } @@ -7948,6 +8416,22 @@ internal sealed partial class SourceGenerationContextChunk2 : global::System.Tex typeof(global::Fal.JsonConverters.UploadAssetRequestTypeNullableJsonConverter), + typeof(global::Fal.JsonConverters.SetStorageFileAclRequestDefaultJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclRequestDefaultNullableJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclRequestRuleDecisionJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclRequestRuleDecisionNullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclDefaultJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclDefaultNullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclRuleDecisionJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclRuleDecisionNullableJsonConverter), + typeof(global::Fal.JsonConverters.ServerlessLogsHistoryRequestItemConditionTypeJsonConverter), typeof(global::Fal.JsonConverters.ServerlessLogsHistoryRequestItemConditionTypeNullableJsonConverter), @@ -9468,6 +9952,146 @@ internal sealed partial class SourceGenerationContextChunk2 : global::System.Tex typeof(global::Fal.JsonConverters.UnassignAssetTagResponseErrorType9NullableJsonConverter), + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseDefaultJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseDefaultNullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseRuleDecisionJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseRuleDecisionNullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorTypeJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorTypeNullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType2JsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType2NullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType3JsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType3NullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType4JsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType4NullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType5JsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType5NullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType6JsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType6NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseDefaultJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseDefaultNullableJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseRuleDecisionJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseRuleDecisionNullableJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorTypeJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorTypeNullableJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType2JsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType2NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType3JsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType3NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType4JsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType4NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType5JsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType5NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType6JsonConverter), + + typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType6NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorTypeJsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorTypeNullableJsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType2JsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType2NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType3JsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType3NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType4JsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType4NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType5JsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType5NullableJsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType6JsonConverter), + + typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType6NullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseInitialAclDefaultJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseInitialAclDefaultNullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseInitialAclRuleDecisionJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseInitialAclRuleDecisionNullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorTypeJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorTypeNullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorType2JsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorType2NullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorType3JsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorType3NullableJsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorType4JsonConverter), + + typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorType4NullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclDefaultJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclDefaultNullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclRuleDecisionJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclRuleDecisionNullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorTypeJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorTypeNullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType2JsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType2NullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType3JsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType3NullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType4JsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType4NullableJsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType5JsonConverter), + + typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType5NullableJsonConverter), + typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorTypeJsonConverter), typeof(global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorTypeNullableJsonConverter), @@ -10066,6 +10690,122 @@ internal sealed partial class SourceGenerationContextChunk2 : global::System.Tex typeof(global::Fal.JsonConverters.UnixTimestampJsonConverter), })] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponseInstanceType), TypeInfoPropertyName = "CreateComputeInstanceResponseInstanceType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponseRegion), TypeInfoPropertyName = "CreateComputeInstanceResponseRegion2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponseSector), TypeInfoPropertyName = "CreateComputeInstanceResponseSector2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponseStatus), TypeInfoPropertyName = "CreateComputeInstanceResponseStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponse2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponseError))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponseErrorType), TypeInfoPropertyName = "CreateComputeInstanceResponseErrorType2_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponse3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponseError2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponseErrorType2), TypeInfoPropertyName = "CreateComputeInstanceResponseErrorType22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponse4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponseError3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponseErrorType3), TypeInfoPropertyName = "CreateComputeInstanceResponseErrorType32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponse5))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponseError4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponseErrorType4), TypeInfoPropertyName = "CreateComputeInstanceResponseErrorType42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponse6))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponseError5))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateComputeInstanceResponseErrorType5), TypeInfoPropertyName = "CreateComputeInstanceResponseErrorType52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponseInstanceType), TypeInfoPropertyName = "GetComputeInstanceResponseInstanceType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponseRegion), TypeInfoPropertyName = "GetComputeInstanceResponseRegion2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponseSector), TypeInfoPropertyName = "GetComputeInstanceResponseSector2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponseStatus), TypeInfoPropertyName = "GetComputeInstanceResponseStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponse2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponseError))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponseErrorType), TypeInfoPropertyName = "GetComputeInstanceResponseErrorType2_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponse3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponseError2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponseErrorType2), TypeInfoPropertyName = "GetComputeInstanceResponseErrorType22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponse4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponseError3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponseErrorType3), TypeInfoPropertyName = "GetComputeInstanceResponseErrorType32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponse5))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponseError4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponseErrorType4), TypeInfoPropertyName = "GetComputeInstanceResponseErrorType42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponse6))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponseError5))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetComputeInstanceResponseErrorType5), TypeInfoPropertyName = "GetComputeInstanceResponseErrorType52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponseError))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponseErrorType), TypeInfoPropertyName = "DeleteComputeInstanceResponseErrorType2_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponse2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponseError2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponseErrorType2), TypeInfoPropertyName = "DeleteComputeInstanceResponseErrorType22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponse3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponseError3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponseErrorType3), TypeInfoPropertyName = "DeleteComputeInstanceResponseErrorType32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponse4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponseError4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponseErrorType4), TypeInfoPropertyName = "DeleteComputeInstanceResponseErrorType42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponse5))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponseError5))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteComputeInstanceResponseErrorType5), TypeInfoPropertyName = "DeleteComputeInstanceResponseErrorType52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponseKey))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponseKeyScope), TypeInfoPropertyName = "ListApiKeysResponseKeyScope2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponse2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponseError))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponseErrorType), TypeInfoPropertyName = "ListApiKeysResponseErrorType2_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponse3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponseError2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponseErrorType2), TypeInfoPropertyName = "ListApiKeysResponseErrorType22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponse4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponseError3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponseErrorType3), TypeInfoPropertyName = "ListApiKeysResponseErrorType32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponse5))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponseError4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.ListApiKeysResponseErrorType4), TypeInfoPropertyName = "ListApiKeysResponseErrorType42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponse2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponseError))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponseErrorType), TypeInfoPropertyName = "CreateApiKeyResponseErrorType2_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponse3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponseError2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponseErrorType2), TypeInfoPropertyName = "CreateApiKeyResponseErrorType22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponse4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponseError3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponseErrorType3), TypeInfoPropertyName = "CreateApiKeyResponseErrorType32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponse5))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponseError4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponseErrorType4), TypeInfoPropertyName = "CreateApiKeyResponseErrorType42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponse6))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponseError5))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.CreateApiKeyResponseErrorType5), TypeInfoPropertyName = "CreateApiKeyResponseErrorType52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteApiKeyResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteApiKeyResponseError))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteApiKeyResponseErrorType), TypeInfoPropertyName = "DeleteApiKeyResponseErrorType2_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteApiKeyResponse2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteApiKeyResponseError2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteApiKeyResponseErrorType2), TypeInfoPropertyName = "DeleteApiKeyResponseErrorType22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteApiKeyResponse3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteApiKeyResponseError3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteApiKeyResponseErrorType3), TypeInfoPropertyName = "DeleteApiKeyResponseErrorType32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteApiKeyResponse4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteApiKeyResponseError4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.DeleteApiKeyResponseErrorType4), TypeInfoPropertyName = "DeleteApiKeyResponseErrorType42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponseCredits))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponse2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponseError))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponseErrorType), TypeInfoPropertyName = "GetAccountBillingResponseErrorType2_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponse3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponseError2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponseErrorType2), TypeInfoPropertyName = "GetAccountBillingResponseErrorType22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponse4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponseError3))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponseErrorType3), TypeInfoPropertyName = "GetAccountBillingResponseErrorType32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponse5))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponseError4))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponseErrorType4), TypeInfoPropertyName = "GetAccountBillingResponseErrorType42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponse6))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponseError5))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetAccountBillingResponseErrorType5), TypeInfoPropertyName = "GetAccountBillingResponseErrorType52")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetFocusReportResponse))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetFocusReportResponseError))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetFocusReportResponseErrorType), TypeInfoPropertyName = "GetFocusReportResponseErrorType2_3")] @@ -10149,6 +10889,8 @@ internal sealed partial class SourceGenerationContextChunk2 : global::System.Tex [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetMetaResponseError2))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.GetMetaResponseErrorType2), TypeInfoPropertyName = "GetMetaResponseErrorType22")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Fal.AnyOf>))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] @@ -10180,6 +10922,10 @@ internal sealed partial class SourceGenerationContextChunk2 : global::System.Tex [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] @@ -10245,6 +10991,14 @@ private SourceGenerationContext(global::System.Text.Json.JsonSerializerOptions o options.Converters.Add(new global::Fal.JsonConverters.EstimatePricingRequestVariant2EstimateTypeNullableJsonConverter()); options.Converters.Add(new global::Fal.JsonConverters.UploadAssetRequestTypeJsonConverter()); options.Converters.Add(new global::Fal.JsonConverters.UploadAssetRequestTypeNullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SetStorageFileAclRequestDefaultJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SetStorageFileAclRequestDefaultNullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SetStorageFileAclRequestRuleDecisionJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SetStorageFileAclRequestRuleDecisionNullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclDefaultJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclDefaultNullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclRuleDecisionJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclRuleDecisionNullableJsonConverter()); options.Converters.Add(new global::Fal.JsonConverters.ServerlessLogsHistoryRequestItemConditionTypeJsonConverter()); options.Converters.Add(new global::Fal.JsonConverters.ServerlessLogsHistoryRequestItemConditionTypeNullableJsonConverter()); options.Converters.Add(new global::Fal.JsonConverters.ServerlessLogsStreamRequestItemConditionTypeJsonConverter()); @@ -11005,6 +11759,76 @@ private SourceGenerationContext(global::System.Text.Json.JsonSerializerOptions o options.Converters.Add(new global::Fal.JsonConverters.UnassignAssetTagResponseErrorType8NullableJsonConverter()); options.Converters.Add(new global::Fal.JsonConverters.UnassignAssetTagResponseErrorType9JsonConverter()); options.Converters.Add(new global::Fal.JsonConverters.UnassignAssetTagResponseErrorType9NullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.GetStorageFileAclResponseDefaultJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.GetStorageFileAclResponseDefaultNullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.GetStorageFileAclResponseRuleDecisionJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.GetStorageFileAclResponseRuleDecisionNullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.GetStorageFileAclResponseErrorTypeJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.GetStorageFileAclResponseErrorTypeNullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.GetStorageFileAclResponseErrorType2JsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.GetStorageFileAclResponseErrorType2NullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.GetStorageFileAclResponseErrorType3JsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.GetStorageFileAclResponseErrorType3NullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.GetStorageFileAclResponseErrorType4JsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.GetStorageFileAclResponseErrorType4NullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.GetStorageFileAclResponseErrorType5JsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.GetStorageFileAclResponseErrorType5NullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.GetStorageFileAclResponseErrorType6JsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.GetStorageFileAclResponseErrorType6NullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SetStorageFileAclResponseDefaultJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SetStorageFileAclResponseDefaultNullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SetStorageFileAclResponseRuleDecisionJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SetStorageFileAclResponseRuleDecisionNullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SetStorageFileAclResponseErrorTypeJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SetStorageFileAclResponseErrorTypeNullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SetStorageFileAclResponseErrorType2JsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SetStorageFileAclResponseErrorType2NullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SetStorageFileAclResponseErrorType3JsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SetStorageFileAclResponseErrorType3NullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SetStorageFileAclResponseErrorType4JsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SetStorageFileAclResponseErrorType4NullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SetStorageFileAclResponseErrorType5JsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SetStorageFileAclResponseErrorType5NullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SetStorageFileAclResponseErrorType6JsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SetStorageFileAclResponseErrorType6NullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SignStorageFileUrlResponseErrorTypeJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SignStorageFileUrlResponseErrorTypeNullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType2JsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType2NullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType3JsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType3NullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType4JsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType4NullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType5JsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType5NullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType6JsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType6NullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.GetStorageSettingsResponseInitialAclDefaultJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.GetStorageSettingsResponseInitialAclDefaultNullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.GetStorageSettingsResponseInitialAclRuleDecisionJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.GetStorageSettingsResponseInitialAclRuleDecisionNullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.GetStorageSettingsResponseErrorTypeJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.GetStorageSettingsResponseErrorTypeNullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.GetStorageSettingsResponseErrorType2JsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.GetStorageSettingsResponseErrorType2NullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.GetStorageSettingsResponseErrorType3JsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.GetStorageSettingsResponseErrorType3NullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.GetStorageSettingsResponseErrorType4JsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.GetStorageSettingsResponseErrorType4NullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclDefaultJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclDefaultNullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclRuleDecisionJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclRuleDecisionNullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorTypeJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorTypeNullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType2JsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType2NullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType3JsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType3NullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType4JsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType4NullableJsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType5JsonConverter()); + options.Converters.Add(new global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType5NullableJsonConverter()); options.Converters.Add(new global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorTypeJsonConverter()); options.Converters.Add(new global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorTypeNullableJsonConverter()); options.Converters.Add(new global::Fal.JsonConverters.ServerlessGetAnalyticsResponseErrorType2JsonConverter()); diff --git a/src/libs/Fal/Generated/Fal.JsonSerializerContextTypes.g.cs b/src/libs/Fal/Generated/Fal.JsonSerializerContextTypes.g.cs index e871704..467afa7 100644 --- a/src/libs/Fal/Generated/Fal.JsonSerializerContextTypes.g.cs +++ b/src/libs/Fal/Generated/Fal.JsonSerializerContextTypes.g.cs @@ -168,6187 +168,6651 @@ public sealed partial class JsonSerializerContextTypes /// /// /// - public global::Fal.ServerlessUploadFromUrlRequest? Type35 { get; set; } + public global::Fal.SetStorageFileAclRequest? Type35 { get; set; } /// /// /// - public global::Fal.ServerlessUploadLocalFileRequest? Type36 { get; set; } + public global::Fal.SetStorageFileAclRequestDefault? Type36 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type37 { get; set; } + public global::System.Collections.Generic.IList? Type37 { get; set; } /// /// /// - public global::Fal.ServerlessLogsHistoryRequestItem? Type38 { get; set; } + public global::Fal.SetStorageFileAclRequestRule? Type38 { get; set; } /// /// /// - public global::Fal.AnyOf>? Type39 { get; set; } + public global::Fal.SetStorageFileAclRequestRuleDecision? Type39 { get; set; } /// /// /// - public global::Fal.ServerlessLogsHistoryRequestItemConditionType? Type40 { get; set; } + public global::Fal.SignStorageFileUrlRequest? Type40 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type41 { get; set; } + public global::Fal.UpdateStorageSettingsRequest? Type41 { get; set; } /// /// /// - public global::Fal.ServerlessLogsStreamRequestItem? Type42 { get; set; } + public global::Fal.UpdateStorageSettingsRequestInitialAcl? Type42 { get; set; } /// /// /// - public global::Fal.ServerlessLogsStreamRequestItemConditionType? Type43 { get; set; } + public global::Fal.UpdateStorageSettingsRequestInitialAclDefault? Type43 { get; set; } /// /// /// - public global::Fal.CreateComputeInstanceRequest? Type44 { get; set; } + public global::System.Collections.Generic.IList? Type44 { get; set; } /// /// /// - public global::Fal.CreateComputeInstanceRequestInstanceType? Type45 { get; set; } + public global::Fal.UpdateStorageSettingsRequestInitialAclRule? Type45 { get; set; } /// /// /// - public global::Fal.CreateComputeInstanceRequestSector? Type46 { get; set; } + public global::Fal.UpdateStorageSettingsRequestInitialAclRuleDecision? Type46 { get; set; } /// /// /// - public global::Fal.CreateApiKeyRequest? Type47 { get; set; } + public global::Fal.ServerlessUploadFromUrlRequest? Type47 { get; set; } /// /// /// - public global::Fal.GetModelsStatus? Type48 { get; set; } + public global::Fal.ServerlessUploadLocalFileRequest? Type48 { get; set; } /// /// /// - public global::Fal.AnyOf? Type49 { get; set; } + public global::System.Collections.Generic.IList? Type49 { get; set; } /// /// /// - public global::System.DateTime? Type50 { get; set; } + public global::Fal.ServerlessLogsHistoryRequestItem? Type50 { get; set; } /// /// /// - public global::Fal.GetUsageTimeframe? Type51 { get; set; } + public global::Fal.AnyOf>? Type51 { get; set; } /// /// /// - public global::Fal.GetUsageBoundToTimeframe? Type52 { get; set; } + public global::Fal.ServerlessLogsHistoryRequestItemConditionType? Type52 { get; set; } /// /// /// - public global::Fal.GetAnalyticsTimeframe? Type53 { get; set; } + public global::System.Collections.Generic.IList? Type53 { get; set; } /// /// /// - public global::Fal.GetAnalyticsBoundToTimeframe? Type54 { get; set; } + public global::Fal.ServerlessLogsStreamRequestItem? Type54 { get; set; } /// /// /// - public global::System.Guid? Type55 { get; set; } + public global::Fal.ServerlessLogsStreamRequestItemConditionType? Type55 { get; set; } /// /// /// - public global::Fal.ListRequestsByEndpointStatus? Type56 { get; set; } + public global::Fal.CreateComputeInstanceRequest? Type56 { get; set; } /// /// /// - public global::Fal.ListRequestsByEndpointSortBy? Type57 { get; set; } + public global::Fal.CreateComputeInstanceRequestInstanceType? Type57 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type58 { get; set; } + public global::Fal.CreateComputeInstanceRequestSector? Type58 { get; set; } /// /// /// - public global::Fal.ListAssetsMediaTypeItem? Type59 { get; set; } + public global::Fal.CreateApiKeyRequest? Type59 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type60 { get; set; } + public global::Fal.GetModelsStatus? Type60 { get; set; } /// /// /// - public global::Fal.ListAssetsSourceItem? Type61 { get; set; } + public global::Fal.AnyOf? Type61 { get; set; } /// /// /// - public global::Fal.ListAssetsSection? Type62 { get; set; } + public global::System.DateTime? Type62 { get; set; } /// /// /// - public global::Fal.ListAssetsTagMode? Type63 { get; set; } + public global::Fal.GetUsageTimeframe? Type63 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type64 { get; set; } + public global::Fal.GetUsageBoundToTimeframe? Type64 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsMediaTypeItem? Type65 { get; set; } + public global::Fal.GetAnalyticsTimeframe? Type65 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type66 { get; set; } + public global::Fal.GetAnalyticsBoundToTimeframe? Type66 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsSourceItem? Type67 { get; set; } + public global::System.Guid? Type67 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsSection? Type68 { get; set; } + public global::Fal.ListRequestsByEndpointStatus? Type68 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsTagMode? Type69 { get; set; } + public global::Fal.ListRequestsByEndpointSortBy? Type69 { get; set; } /// /// /// - public global::Fal.ServerlessGetAnalyticsTimeframe? Type70 { get; set; } + public global::System.Collections.Generic.IList? Type70 { get; set; } /// /// /// - public global::Fal.ServerlessGetAnalyticsBoundToTimeframe? Type71 { get; set; } + public global::Fal.ListAssetsMediaTypeItem? Type71 { get; set; } /// /// /// - public global::Fal.ServerlessLogsHistoryRunSource? Type72 { get; set; } + public global::System.Collections.Generic.IList? Type72 { get; set; } /// /// /// - public global::Fal.ServerlessLogsStreamRunSource? Type73 { get; set; } + public global::Fal.ListAssetsSourceItem? Type73 { get; set; } /// /// /// - public global::Fal.ServerlessListRequestsByEndpointStatus? Type74 { get; set; } + public global::Fal.ListAssetsSection? Type74 { get; set; } /// /// /// - public global::Fal.ServerlessListRequestsByEndpointSortBy? Type75 { get; set; } + public global::Fal.ListAssetsTagMode? Type75 { get; set; } /// /// /// - public global::Fal.GetFocusReportSource? Type76 { get; set; } + public global::System.Collections.Generic.IList? Type76 { get; set; } /// /// /// - public global::Fal.GetFocusReportTimeframe? Type77 { get; set; } + public global::Fal.ListAssetCollectionAssetsMediaTypeItem? Type77 { get; set; } /// /// /// - public global::Fal.GetFocusReportBoundToTimeframe? Type78 { get; set; } + public global::System.Collections.Generic.IList? Type78 { get; set; } /// /// /// - public global::Fal.GetOrganizationUsageTimeframe? Type79 { get; set; } + public global::Fal.ListAssetCollectionAssetsSourceItem? Type79 { get; set; } /// /// /// - public global::Fal.GetOrganizationUsageBoundToTimeframe? Type80 { get; set; } + public global::Fal.ListAssetCollectionAssetsSection? Type80 { get; set; } /// /// /// - public global::Fal.GetModelsResponse? Type81 { get; set; } + public global::Fal.ListAssetCollectionAssetsTagMode? Type81 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type82 { get; set; } + public global::Fal.ServerlessGetAnalyticsTimeframe? Type82 { get; set; } /// /// /// - public global::Fal.GetModelsResponseModel? Type83 { get; set; } + public global::Fal.ServerlessGetAnalyticsBoundToTimeframe? Type83 { get; set; } /// /// /// - public global::Fal.GetModelsResponseModelMetadata? Type84 { get; set; } + public global::Fal.ServerlessLogsHistoryRunSource? Type84 { get; set; } /// /// /// - public global::Fal.GetModelsResponseModelMetadataStatus? Type85 { get; set; } + public global::Fal.ServerlessLogsStreamRunSource? Type85 { get; set; } /// /// /// - public global::Fal.GetModelsResponseModelMetadataLicenseType? Type86 { get; set; } + public global::Fal.ServerlessListRequestsByEndpointStatus? Type86 { get; set; } /// /// /// - public global::Fal.GetModelsResponseModelMetadataGroup? Type87 { get; set; } + public global::Fal.ServerlessListRequestsByEndpointSortBy? Type87 { get; set; } /// /// /// - public global::Fal.GetModelsResponseModelMetadataKind? Type88 { get; set; } + public global::Fal.GetFocusReportSource? Type88 { get; set; } /// /// /// - public global::Fal.AnyOf? Type89 { get; set; } + public global::Fal.GetFocusReportTimeframe? Type89 { get; set; } /// /// /// - public global::Fal.GetModelsResponseModelOpenapiVariant1? Type90 { get; set; } + public global::Fal.GetFocusReportBoundToTimeframe? Type90 { get; set; } /// /// /// - public global::Fal.GetModelsResponseModelOpenapiVariant2? Type91 { get; set; } + public global::Fal.GetOrganizationUsageTimeframe? Type91 { get; set; } /// /// /// - public global::Fal.GetModelsResponseModelOpenapiVariant2Error? Type92 { get; set; } + public global::Fal.GetOrganizationUsageBoundToTimeframe? Type92 { get; set; } /// /// /// - public global::Fal.AnyOf? Type93 { get; set; } + public global::Fal.GetModelsResponse? Type93 { get; set; } /// /// /// - public global::Fal.GetModelsResponseModelEnterpriseStatusEnum? Type94 { get; set; } + public global::System.Collections.Generic.IList? Type94 { get; set; } /// /// /// - public global::Fal.GetModelsResponseModelEnterpriseStatusEnum2? Type95 { get; set; } + public global::Fal.GetModelsResponseModel? Type95 { get; set; } /// /// /// - public global::Fal.GetModelsResponseModelEnterpriseStatusEnumError? Type96 { get; set; } + public global::Fal.GetModelsResponseModelMetadata? Type96 { get; set; } /// /// /// - public global::Fal.GetModelsResponse2? Type97 { get; set; } + public global::Fal.GetModelsResponseModelMetadataStatus? Type97 { get; set; } /// /// /// - public global::Fal.GetModelsResponseError? Type98 { get; set; } + public global::Fal.GetModelsResponseModelMetadataLicenseType? Type98 { get; set; } /// /// /// - public global::Fal.GetModelsResponseErrorType? Type99 { get; set; } + public global::Fal.GetModelsResponseModelMetadataGroup? Type99 { get; set; } /// /// /// - public global::Fal.GetModelsResponse3? Type100 { get; set; } + public global::Fal.GetModelsResponseModelMetadataKind? Type100 { get; set; } /// /// /// - public global::Fal.GetModelsResponseError2? Type101 { get; set; } + public global::Fal.AnyOf? Type101 { get; set; } /// /// /// - public global::Fal.GetModelsResponseErrorType2? Type102 { get; set; } + public global::Fal.GetModelsResponseModelOpenapiVariant1? Type102 { get; set; } /// /// /// - public global::Fal.GetModelsResponse4? Type103 { get; set; } + public global::Fal.GetModelsResponseModelOpenapiVariant2? Type103 { get; set; } /// /// /// - public global::Fal.GetModelsResponseError3? Type104 { get; set; } + public global::Fal.GetModelsResponseModelOpenapiVariant2Error? Type104 { get; set; } /// /// /// - public global::Fal.GetModelsResponseErrorType3? Type105 { get; set; } + public global::Fal.AnyOf? Type105 { get; set; } /// /// /// - public global::Fal.GetModelsResponse5? Type106 { get; set; } + public global::Fal.GetModelsResponseModelEnterpriseStatusEnum? Type106 { get; set; } /// /// /// - public global::Fal.GetModelsResponseError4? Type107 { get; set; } + public global::Fal.GetModelsResponseModelEnterpriseStatusEnum2? Type107 { get; set; } /// /// /// - public global::Fal.GetModelsResponseErrorType4? Type108 { get; set; } + public global::Fal.GetModelsResponseModelEnterpriseStatusEnumError? Type108 { get; set; } /// /// /// - public global::Fal.GetPricingResponse? Type109 { get; set; } + public global::Fal.GetModelsResponse2? Type109 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type110 { get; set; } + public global::Fal.GetModelsResponseError? Type110 { get; set; } /// /// /// - public global::Fal.GetPricingResponsePrice? Type111 { get; set; } + public global::Fal.GetModelsResponseErrorType? Type111 { get; set; } /// /// /// - public global::Fal.GetPricingResponse2? Type112 { get; set; } + public global::Fal.GetModelsResponse3? Type112 { get; set; } /// /// /// - public global::Fal.GetPricingResponseError? Type113 { get; set; } + public global::Fal.GetModelsResponseError2? Type113 { get; set; } /// /// /// - public global::Fal.GetPricingResponseErrorType? Type114 { get; set; } + public global::Fal.GetModelsResponseErrorType2? Type114 { get; set; } /// /// /// - public global::Fal.GetPricingResponse3? Type115 { get; set; } + public global::Fal.GetModelsResponse4? Type115 { get; set; } /// /// /// - public global::Fal.GetPricingResponseError2? Type116 { get; set; } + public global::Fal.GetModelsResponseError3? Type116 { get; set; } /// /// /// - public global::Fal.GetPricingResponseErrorType2? Type117 { get; set; } + public global::Fal.GetModelsResponseErrorType3? Type117 { get; set; } /// /// /// - public global::Fal.GetPricingResponse4? Type118 { get; set; } + public global::Fal.GetModelsResponse5? Type118 { get; set; } /// /// /// - public global::Fal.GetPricingResponseError3? Type119 { get; set; } + public global::Fal.GetModelsResponseError4? Type119 { get; set; } /// /// /// - public global::Fal.GetPricingResponseErrorType3? Type120 { get; set; } + public global::Fal.GetModelsResponseErrorType4? Type120 { get; set; } /// /// /// - public global::Fal.GetPricingResponse5? Type121 { get; set; } + public global::Fal.GetPricingResponse? Type121 { get; set; } /// /// /// - public global::Fal.GetPricingResponseError4? Type122 { get; set; } + public global::System.Collections.Generic.IList? Type122 { get; set; } /// /// /// - public global::Fal.GetPricingResponseErrorType4? Type123 { get; set; } + public global::Fal.GetPricingResponsePrice? Type123 { get; set; } /// /// /// - public global::Fal.EstimatePricingResponse? Type124 { get; set; } + public global::Fal.GetPricingResponse2? Type124 { get; set; } /// /// /// - public global::Fal.EstimatePricingResponseEstimateType? Type125 { get; set; } + public global::Fal.GetPricingResponseError? Type125 { get; set; } /// /// /// - public global::Fal.EstimatePricingResponse2? Type126 { get; set; } + public global::Fal.GetPricingResponseErrorType? Type126 { get; set; } /// /// /// - public global::Fal.EstimatePricingResponseError? Type127 { get; set; } + public global::Fal.GetPricingResponse3? Type127 { get; set; } /// /// /// - public global::Fal.EstimatePricingResponseErrorType? Type128 { get; set; } + public global::Fal.GetPricingResponseError2? Type128 { get; set; } /// /// /// - public global::Fal.EstimatePricingResponse3? Type129 { get; set; } + public global::Fal.GetPricingResponseErrorType2? Type129 { get; set; } /// /// /// - public global::Fal.EstimatePricingResponseError2? Type130 { get; set; } + public global::Fal.GetPricingResponse4? Type130 { get; set; } /// /// /// - public global::Fal.EstimatePricingResponseErrorType2? Type131 { get; set; } + public global::Fal.GetPricingResponseError3? Type131 { get; set; } /// /// /// - public global::Fal.EstimatePricingResponse4? Type132 { get; set; } + public global::Fal.GetPricingResponseErrorType3? Type132 { get; set; } /// /// /// - public global::Fal.EstimatePricingResponseError3? Type133 { get; set; } + public global::Fal.GetPricingResponse5? Type133 { get; set; } /// /// /// - public global::Fal.EstimatePricingResponseErrorType3? Type134 { get; set; } + public global::Fal.GetPricingResponseError4? Type134 { get; set; } /// /// /// - public global::Fal.EstimatePricingResponse5? Type135 { get; set; } + public global::Fal.GetPricingResponseErrorType4? Type135 { get; set; } /// /// /// - public global::Fal.EstimatePricingResponseError4? Type136 { get; set; } + public global::Fal.EstimatePricingResponse? Type136 { get; set; } /// /// /// - public global::Fal.EstimatePricingResponseErrorType4? Type137 { get; set; } + public global::Fal.EstimatePricingResponseEstimateType? Type137 { get; set; } /// /// /// - public global::Fal.GetUsageResponse? Type138 { get; set; } + public global::Fal.EstimatePricingResponse2? Type138 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type139 { get; set; } + public global::Fal.EstimatePricingResponseError? Type139 { get; set; } /// /// /// - public global::Fal.GetUsageResponseTimeSerie? Type140 { get; set; } + public global::Fal.EstimatePricingResponseErrorType? Type140 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type141 { get; set; } + public global::Fal.EstimatePricingResponse3? Type141 { get; set; } /// /// /// - public global::Fal.GetUsageResponseTimeSerieResult? Type142 { get; set; } + public global::Fal.EstimatePricingResponseError2? Type142 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type143 { get; set; } + public global::Fal.EstimatePricingResponseErrorType2? Type143 { get; set; } /// /// /// - public global::Fal.GetUsageResponseSummaryItem? Type144 { get; set; } + public global::Fal.EstimatePricingResponse4? Type144 { get; set; } /// /// /// - public global::Fal.GetUsageResponse2? Type145 { get; set; } + public global::Fal.EstimatePricingResponseError3? Type145 { get; set; } /// /// /// - public global::Fal.GetUsageResponseError? Type146 { get; set; } + public global::Fal.EstimatePricingResponseErrorType3? Type146 { get; set; } /// /// /// - public global::Fal.GetUsageResponseErrorType? Type147 { get; set; } + public global::Fal.EstimatePricingResponse5? Type147 { get; set; } /// /// /// - public global::Fal.GetUsageResponse3? Type148 { get; set; } + public global::Fal.EstimatePricingResponseError4? Type148 { get; set; } /// /// /// - public global::Fal.GetUsageResponseError2? Type149 { get; set; } + public global::Fal.EstimatePricingResponseErrorType4? Type149 { get; set; } /// /// /// - public global::Fal.GetUsageResponseErrorType2? Type150 { get; set; } + public global::Fal.GetUsageResponse? Type150 { get; set; } /// /// /// - public global::Fal.GetUsageResponse4? Type151 { get; set; } + public global::System.Collections.Generic.IList? Type151 { get; set; } /// /// /// - public global::Fal.GetUsageResponseError3? Type152 { get; set; } + public global::Fal.GetUsageResponseTimeSerie? Type152 { get; set; } /// /// /// - public global::Fal.GetUsageResponseErrorType3? Type153 { get; set; } + public global::System.Collections.Generic.IList? Type153 { get; set; } /// /// /// - public global::Fal.GetUsageResponse5? Type154 { get; set; } + public global::Fal.GetUsageResponseTimeSerieResult? Type154 { get; set; } /// /// /// - public global::Fal.GetUsageResponseError4? Type155 { get; set; } + public global::System.Collections.Generic.IList? Type155 { get; set; } /// /// /// - public global::Fal.GetUsageResponseErrorType4? Type156 { get; set; } + public global::Fal.GetUsageResponseSummaryItem? Type156 { get; set; } /// /// /// - public global::Fal.GetAnalyticsResponse? Type157 { get; set; } + public global::Fal.GetUsageResponse2? Type157 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type158 { get; set; } + public global::Fal.GetUsageResponseError? Type158 { get; set; } /// /// /// - public global::Fal.GetAnalyticsResponseTimeSerie? Type159 { get; set; } + public global::Fal.GetUsageResponseErrorType? Type159 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type160 { get; set; } + public global::Fal.GetUsageResponse3? Type160 { get; set; } /// /// /// - public global::Fal.GetAnalyticsResponseTimeSerieResult? Type161 { get; set; } + public global::Fal.GetUsageResponseError2? Type161 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type162 { get; set; } + public global::Fal.GetUsageResponseErrorType2? Type162 { get; set; } /// /// /// - public global::Fal.GetAnalyticsResponseSummaryItem? Type163 { get; set; } + public global::Fal.GetUsageResponse4? Type163 { get; set; } /// /// /// - public global::Fal.GetAnalyticsResponse2? Type164 { get; set; } + public global::Fal.GetUsageResponseError3? Type164 { get; set; } /// /// /// - public global::Fal.GetAnalyticsResponseError? Type165 { get; set; } + public global::Fal.GetUsageResponseErrorType3? Type165 { get; set; } /// /// /// - public global::Fal.GetAnalyticsResponseErrorType? Type166 { get; set; } + public global::Fal.GetUsageResponse5? Type166 { get; set; } /// /// /// - public global::Fal.GetAnalyticsResponse3? Type167 { get; set; } + public global::Fal.GetUsageResponseError4? Type167 { get; set; } /// /// /// - public global::Fal.GetAnalyticsResponseError2? Type168 { get; set; } + public global::Fal.GetUsageResponseErrorType4? Type168 { get; set; } /// /// /// - public global::Fal.GetAnalyticsResponseErrorType2? Type169 { get; set; } + public global::Fal.GetAnalyticsResponse? Type169 { get; set; } /// /// /// - public global::Fal.GetAnalyticsResponse4? Type170 { get; set; } + public global::System.Collections.Generic.IList? Type170 { get; set; } /// /// /// - public global::Fal.GetAnalyticsResponseError3? Type171 { get; set; } + public global::Fal.GetAnalyticsResponseTimeSerie? Type171 { get; set; } /// /// /// - public global::Fal.GetAnalyticsResponseErrorType3? Type172 { get; set; } + public global::System.Collections.Generic.IList? Type172 { get; set; } /// /// /// - public global::Fal.GetAnalyticsResponse5? Type173 { get; set; } + public global::Fal.GetAnalyticsResponseTimeSerieResult? Type173 { get; set; } /// /// /// - public global::Fal.GetAnalyticsResponseError4? Type174 { get; set; } + public global::System.Collections.Generic.IList? Type174 { get; set; } /// /// /// - public global::Fal.GetAnalyticsResponseErrorType4? Type175 { get; set; } + public global::Fal.GetAnalyticsResponseSummaryItem? Type175 { get; set; } /// /// /// - public global::Fal.GetAnalyticsResponse6? Type176 { get; set; } + public global::Fal.GetAnalyticsResponse2? Type176 { get; set; } /// /// /// - public global::Fal.GetAnalyticsResponseError5? Type177 { get; set; } + public global::Fal.GetAnalyticsResponseError? Type177 { get; set; } /// /// /// - public global::Fal.GetAnalyticsResponseErrorType5? Type178 { get; set; } + public global::Fal.GetAnalyticsResponseErrorType? Type178 { get; set; } /// /// /// - public global::Fal.GetAnalyticsResponse7? Type179 { get; set; } + public global::Fal.GetAnalyticsResponse3? Type179 { get; set; } /// /// /// - public global::Fal.GetAnalyticsResponseError6? Type180 { get; set; } + public global::Fal.GetAnalyticsResponseError2? Type180 { get; set; } /// /// /// - public global::Fal.GetAnalyticsResponseErrorType6? Type181 { get; set; } + public global::Fal.GetAnalyticsResponseErrorType2? Type181 { get; set; } /// /// /// - public global::Fal.GetBillingEventsResponse? Type182 { get; set; } + public global::Fal.GetAnalyticsResponse4? Type182 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type183 { get; set; } + public global::Fal.GetAnalyticsResponseError3? Type183 { get; set; } /// /// /// - public global::Fal.GetBillingEventsResponseBillingEvent? Type184 { get; set; } + public global::Fal.GetAnalyticsResponseErrorType3? Type184 { get; set; } /// /// /// - public global::Fal.GetBillingEventsResponse2? Type185 { get; set; } + public global::Fal.GetAnalyticsResponse5? Type185 { get; set; } /// /// /// - public global::Fal.GetBillingEventsResponseError? Type186 { get; set; } + public global::Fal.GetAnalyticsResponseError4? Type186 { get; set; } /// /// /// - public global::Fal.GetBillingEventsResponseErrorType? Type187 { get; set; } + public global::Fal.GetAnalyticsResponseErrorType4? Type187 { get; set; } /// /// /// - public global::Fal.GetBillingEventsResponse3? Type188 { get; set; } + public global::Fal.GetAnalyticsResponse6? Type188 { get; set; } /// /// /// - public global::Fal.GetBillingEventsResponseError2? Type189 { get; set; } + public global::Fal.GetAnalyticsResponseError5? Type189 { get; set; } /// /// /// - public global::Fal.GetBillingEventsResponseErrorType2? Type190 { get; set; } + public global::Fal.GetAnalyticsResponseErrorType5? Type190 { get; set; } /// /// /// - public global::Fal.GetBillingEventsResponse4? Type191 { get; set; } + public global::Fal.GetAnalyticsResponse7? Type191 { get; set; } /// /// /// - public global::Fal.GetBillingEventsResponseError3? Type192 { get; set; } + public global::Fal.GetAnalyticsResponseError6? Type192 { get; set; } /// /// /// - public global::Fal.GetBillingEventsResponseErrorType3? Type193 { get; set; } + public global::Fal.GetAnalyticsResponseErrorType6? Type193 { get; set; } /// /// /// - public global::Fal.GetBillingEventsResponse5? Type194 { get; set; } + public global::Fal.GetBillingEventsResponse? Type194 { get; set; } /// /// /// - public global::Fal.GetBillingEventsResponseError4? Type195 { get; set; } + public global::System.Collections.Generic.IList? Type195 { get; set; } /// /// /// - public global::Fal.GetBillingEventsResponseErrorType4? Type196 { get; set; } + public global::Fal.GetBillingEventsResponseBillingEvent? Type196 { get; set; } /// /// /// - public global::Fal.GetBillingEventsResponse6? Type197 { get; set; } + public global::Fal.GetBillingEventsResponse2? Type197 { get; set; } /// /// /// - public global::Fal.GetBillingEventsResponseError5? Type198 { get; set; } + public global::Fal.GetBillingEventsResponseError? Type198 { get; set; } /// /// /// - public global::Fal.GetBillingEventsResponseErrorType5? Type199 { get; set; } + public global::Fal.GetBillingEventsResponseErrorType? Type199 { get; set; } /// /// /// - public global::Fal.DeleteRequestPayloadsResponse? Type200 { get; set; } + public global::Fal.GetBillingEventsResponse3? Type200 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type201 { get; set; } + public global::Fal.GetBillingEventsResponseError2? Type201 { get; set; } /// /// /// - public global::Fal.DeleteRequestPayloadsResponseCdnDeleteResult? Type202 { get; set; } + public global::Fal.GetBillingEventsResponseErrorType2? Type202 { get; set; } /// /// /// - public global::Fal.DeleteRequestPayloadsResponse2? Type203 { get; set; } + public global::Fal.GetBillingEventsResponse4? Type203 { get; set; } /// /// /// - public global::Fal.DeleteRequestPayloadsResponseError? Type204 { get; set; } + public global::Fal.GetBillingEventsResponseError3? Type204 { get; set; } /// /// /// - public global::Fal.DeleteRequestPayloadsResponseErrorType? Type205 { get; set; } + public global::Fal.GetBillingEventsResponseErrorType3? Type205 { get; set; } /// /// /// - public global::Fal.DeleteRequestPayloadsResponse3? Type206 { get; set; } + public global::Fal.GetBillingEventsResponse5? Type206 { get; set; } /// /// /// - public global::Fal.DeleteRequestPayloadsResponseError2? Type207 { get; set; } + public global::Fal.GetBillingEventsResponseError4? Type207 { get; set; } /// /// /// - public global::Fal.DeleteRequestPayloadsResponseErrorType2? Type208 { get; set; } + public global::Fal.GetBillingEventsResponseErrorType4? Type208 { get; set; } /// /// /// - public global::Fal.DeleteRequestPayloadsResponse4? Type209 { get; set; } + public global::Fal.GetBillingEventsResponse6? Type209 { get; set; } /// /// /// - public global::Fal.DeleteRequestPayloadsResponseError3? Type210 { get; set; } + public global::Fal.GetBillingEventsResponseError5? Type210 { get; set; } /// /// /// - public global::Fal.DeleteRequestPayloadsResponseErrorType3? Type211 { get; set; } + public global::Fal.GetBillingEventsResponseErrorType5? Type211 { get; set; } /// /// /// - public global::Fal.DeleteRequestPayloadsResponse5? Type212 { get; set; } + public global::Fal.DeleteRequestPayloadsResponse? Type212 { get; set; } /// /// /// - public global::Fal.DeleteRequestPayloadsResponseError4? Type213 { get; set; } + public global::System.Collections.Generic.IList? Type213 { get; set; } /// /// /// - public global::Fal.DeleteRequestPayloadsResponseErrorType4? Type214 { get; set; } + public global::Fal.DeleteRequestPayloadsResponseCdnDeleteResult? Type214 { get; set; } /// /// /// - public global::Fal.DeleteRequestPayloadsResponse6? Type215 { get; set; } + public global::Fal.DeleteRequestPayloadsResponse2? Type215 { get; set; } /// /// /// - public global::Fal.DeleteRequestPayloadsResponseError5? Type216 { get; set; } + public global::Fal.DeleteRequestPayloadsResponseError? Type216 { get; set; } /// /// /// - public global::Fal.DeleteRequestPayloadsResponseErrorType5? Type217 { get; set; } + public global::Fal.DeleteRequestPayloadsResponseErrorType? Type217 { get; set; } /// /// /// - public global::Fal.DeleteRequestPayloadsResponse7? Type218 { get; set; } + public global::Fal.DeleteRequestPayloadsResponse3? Type218 { get; set; } /// /// /// - public global::Fal.DeleteRequestPayloadsResponseError6? Type219 { get; set; } + public global::Fal.DeleteRequestPayloadsResponseError2? Type219 { get; set; } /// /// /// - public global::Fal.DeleteRequestPayloadsResponseErrorType6? Type220 { get; set; } + public global::Fal.DeleteRequestPayloadsResponseErrorType2? Type220 { get; set; } /// /// /// - public global::Fal.ListRequestsByEndpointResponse? Type221 { get; set; } + public global::Fal.DeleteRequestPayloadsResponse4? Type221 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type222 { get; set; } + public global::Fal.DeleteRequestPayloadsResponseError3? Type222 { get; set; } /// /// /// - public global::Fal.ListRequestsByEndpointResponseItem? Type223 { get; set; } + public global::Fal.DeleteRequestPayloadsResponseErrorType3? Type223 { get; set; } /// /// /// - public global::Fal.ListRequestsByEndpointResponse2? Type224 { get; set; } + public global::Fal.DeleteRequestPayloadsResponse5? Type224 { get; set; } /// /// /// - public global::Fal.ListRequestsByEndpointResponseError? Type225 { get; set; } + public global::Fal.DeleteRequestPayloadsResponseError4? Type225 { get; set; } /// /// /// - public global::Fal.ListRequestsByEndpointResponseErrorType? Type226 { get; set; } + public global::Fal.DeleteRequestPayloadsResponseErrorType4? Type226 { get; set; } /// /// /// - public global::Fal.ListRequestsByEndpointResponse3? Type227 { get; set; } + public global::Fal.DeleteRequestPayloadsResponse6? Type227 { get; set; } /// /// /// - public global::Fal.ListRequestsByEndpointResponseError2? Type228 { get; set; } + public global::Fal.DeleteRequestPayloadsResponseError5? Type228 { get; set; } /// /// /// - public global::Fal.ListRequestsByEndpointResponseErrorType2? Type229 { get; set; } + public global::Fal.DeleteRequestPayloadsResponseErrorType5? Type229 { get; set; } /// /// /// - public global::Fal.ListRequestsByEndpointResponse4? Type230 { get; set; } + public global::Fal.DeleteRequestPayloadsResponse7? Type230 { get; set; } /// /// /// - public global::Fal.ListRequestsByEndpointResponseError3? Type231 { get; set; } + public global::Fal.DeleteRequestPayloadsResponseError6? Type231 { get; set; } /// /// /// - public global::Fal.ListRequestsByEndpointResponseErrorType3? Type232 { get; set; } + public global::Fal.DeleteRequestPayloadsResponseErrorType6? Type232 { get; set; } /// /// /// - public global::Fal.ListRequestsByEndpointResponse5? Type233 { get; set; } + public global::Fal.ListRequestsByEndpointResponse? Type233 { get; set; } /// /// /// - public global::Fal.ListRequestsByEndpointResponseError4? Type234 { get; set; } + public global::System.Collections.Generic.IList? Type234 { get; set; } /// /// /// - public global::Fal.ListRequestsByEndpointResponseErrorType4? Type235 { get; set; } + public global::Fal.ListRequestsByEndpointResponseItem? Type235 { get; set; } /// /// /// - public global::Fal.ListRequestsByEndpointResponse6? Type236 { get; set; } + public global::Fal.ListRequestsByEndpointResponse2? Type236 { get; set; } /// /// /// - public global::Fal.ListRequestsByEndpointResponseError5? Type237 { get; set; } + public global::Fal.ListRequestsByEndpointResponseError? Type237 { get; set; } /// /// /// - public global::Fal.ListRequestsByEndpointResponseErrorType5? Type238 { get; set; } + public global::Fal.ListRequestsByEndpointResponseErrorType? Type238 { get; set; } /// /// /// - public global::Fal.ListRequestsByEndpointResponse7? Type239 { get; set; } + public global::Fal.ListRequestsByEndpointResponse3? Type239 { get; set; } /// /// /// - public global::Fal.ListRequestsByEndpointResponseError6? Type240 { get; set; } + public global::Fal.ListRequestsByEndpointResponseError2? Type240 { get; set; } /// /// /// - public global::Fal.ListRequestsByEndpointResponseErrorType6? Type241 { get; set; } + public global::Fal.ListRequestsByEndpointResponseErrorType2? Type241 { get; set; } /// /// /// - public global::Fal.SearchRequestsResponse? Type242 { get; set; } + public global::Fal.ListRequestsByEndpointResponse4? Type242 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type243 { get; set; } + public global::Fal.ListRequestsByEndpointResponseError3? Type243 { get; set; } /// /// /// - public global::Fal.SearchRequestsResponseResult? Type244 { get; set; } + public global::Fal.ListRequestsByEndpointResponseErrorType3? Type244 { get; set; } /// /// /// - public global::Fal.SearchRequestsResponse2? Type245 { get; set; } + public global::Fal.ListRequestsByEndpointResponse5? Type245 { get; set; } /// /// /// - public global::Fal.SearchRequestsResponseError? Type246 { get; set; } + public global::Fal.ListRequestsByEndpointResponseError4? Type246 { get; set; } /// /// /// - public global::Fal.SearchRequestsResponseErrorType? Type247 { get; set; } + public global::Fal.ListRequestsByEndpointResponseErrorType4? Type247 { get; set; } /// /// /// - public global::Fal.SearchRequestsResponse3? Type248 { get; set; } + public global::Fal.ListRequestsByEndpointResponse6? Type248 { get; set; } /// /// /// - public global::Fal.SearchRequestsResponseError2? Type249 { get; set; } + public global::Fal.ListRequestsByEndpointResponseError5? Type249 { get; set; } /// /// /// - public global::Fal.SearchRequestsResponseErrorType2? Type250 { get; set; } + public global::Fal.ListRequestsByEndpointResponseErrorType5? Type250 { get; set; } /// /// /// - public global::Fal.SearchRequestsResponse4? Type251 { get; set; } + public global::Fal.ListRequestsByEndpointResponse7? Type251 { get; set; } /// /// /// - public global::Fal.SearchRequestsResponseError3? Type252 { get; set; } + public global::Fal.ListRequestsByEndpointResponseError6? Type252 { get; set; } /// /// /// - public global::Fal.SearchRequestsResponseErrorType3? Type253 { get; set; } + public global::Fal.ListRequestsByEndpointResponseErrorType6? Type253 { get; set; } /// /// /// - public global::Fal.SearchRequestsResponse5? Type254 { get; set; } + public global::Fal.SearchRequestsResponse? Type254 { get; set; } /// /// /// - public global::Fal.SearchRequestsResponseError4? Type255 { get; set; } + public global::System.Collections.Generic.IList? Type255 { get; set; } /// /// /// - public global::Fal.SearchRequestsResponseErrorType4? Type256 { get; set; } + public global::Fal.SearchRequestsResponseResult? Type256 { get; set; } /// /// /// - public global::Fal.SearchRequestsResponse6? Type257 { get; set; } + public global::Fal.SearchRequestsResponse2? Type257 { get; set; } /// /// /// - public global::Fal.SearchRequestsResponseError5? Type258 { get; set; } + public global::Fal.SearchRequestsResponseError? Type258 { get; set; } /// /// /// - public global::Fal.SearchRequestsResponseErrorType5? Type259 { get; set; } + public global::Fal.SearchRequestsResponseErrorType? Type259 { get; set; } /// /// /// - public global::Fal.ListWorkflowsResponse? Type260 { get; set; } + public global::Fal.SearchRequestsResponse3? Type260 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type261 { get; set; } + public global::Fal.SearchRequestsResponseError2? Type261 { get; set; } /// /// /// - public global::Fal.ListWorkflowsResponseWorkflow? Type262 { get; set; } + public global::Fal.SearchRequestsResponseErrorType2? Type262 { get; set; } /// /// /// - public global::Fal.ListWorkflowsResponse2? Type263 { get; set; } + public global::Fal.SearchRequestsResponse4? Type263 { get; set; } /// /// /// - public global::Fal.ListWorkflowsResponseError? Type264 { get; set; } + public global::Fal.SearchRequestsResponseError3? Type264 { get; set; } /// /// /// - public global::Fal.ListWorkflowsResponseErrorType? Type265 { get; set; } + public global::Fal.SearchRequestsResponseErrorType3? Type265 { get; set; } /// /// /// - public global::Fal.ListWorkflowsResponse3? Type266 { get; set; } + public global::Fal.SearchRequestsResponse5? Type266 { get; set; } /// /// /// - public global::Fal.ListWorkflowsResponseError2? Type267 { get; set; } + public global::Fal.SearchRequestsResponseError4? Type267 { get; set; } /// /// /// - public global::Fal.ListWorkflowsResponseErrorType2? Type268 { get; set; } + public global::Fal.SearchRequestsResponseErrorType4? Type268 { get; set; } /// /// /// - public global::Fal.ListWorkflowsResponse4? Type269 { get; set; } + public global::Fal.SearchRequestsResponse6? Type269 { get; set; } /// /// /// - public global::Fal.ListWorkflowsResponseError3? Type270 { get; set; } + public global::Fal.SearchRequestsResponseError5? Type270 { get; set; } /// /// /// - public global::Fal.ListWorkflowsResponseErrorType3? Type271 { get; set; } + public global::Fal.SearchRequestsResponseErrorType5? Type271 { get; set; } /// /// /// - public global::Fal.ListWorkflowsResponse5? Type272 { get; set; } + public global::Fal.ListWorkflowsResponse? Type272 { get; set; } /// /// /// - public global::Fal.ListWorkflowsResponseError4? Type273 { get; set; } + public global::System.Collections.Generic.IList? Type273 { get; set; } /// /// /// - public global::Fal.ListWorkflowsResponseErrorType4? Type274 { get; set; } + public global::Fal.ListWorkflowsResponseWorkflow? Type274 { get; set; } /// /// /// - public global::Fal.CreateWorkflowResponse? Type275 { get; set; } + public global::Fal.ListWorkflowsResponse2? Type275 { get; set; } /// /// /// - public global::Fal.CreateWorkflowResponseWorkflow? Type276 { get; set; } + public global::Fal.ListWorkflowsResponseError? Type276 { get; set; } /// /// /// - public global::Fal.CreateWorkflowResponse2? Type277 { get; set; } + public global::Fal.ListWorkflowsResponseErrorType? Type277 { get; set; } /// /// /// - public global::Fal.CreateWorkflowResponseError? Type278 { get; set; } + public global::Fal.ListWorkflowsResponse3? Type278 { get; set; } /// /// /// - public global::Fal.CreateWorkflowResponseErrorType? Type279 { get; set; } + public global::Fal.ListWorkflowsResponseError2? Type279 { get; set; } /// /// /// - public global::Fal.CreateWorkflowResponse3? Type280 { get; set; } + public global::Fal.ListWorkflowsResponseErrorType2? Type280 { get; set; } /// /// /// - public global::Fal.CreateWorkflowResponseError2? Type281 { get; set; } + public global::Fal.ListWorkflowsResponse4? Type281 { get; set; } /// /// /// - public global::Fal.CreateWorkflowResponseErrorType2? Type282 { get; set; } + public global::Fal.ListWorkflowsResponseError3? Type282 { get; set; } /// /// /// - public global::Fal.CreateWorkflowResponse4? Type283 { get; set; } + public global::Fal.ListWorkflowsResponseErrorType3? Type283 { get; set; } /// /// /// - public global::Fal.CreateWorkflowResponseError3? Type284 { get; set; } + public global::Fal.ListWorkflowsResponse5? Type284 { get; set; } /// /// /// - public global::Fal.CreateWorkflowResponseErrorType3? Type285 { get; set; } + public global::Fal.ListWorkflowsResponseError4? Type285 { get; set; } /// /// /// - public global::Fal.CreateWorkflowResponse5? Type286 { get; set; } + public global::Fal.ListWorkflowsResponseErrorType4? Type286 { get; set; } /// /// /// - public global::Fal.CreateWorkflowResponseError4? Type287 { get; set; } + public global::Fal.CreateWorkflowResponse? Type287 { get; set; } /// /// /// - public global::Fal.CreateWorkflowResponseErrorType4? Type288 { get; set; } + public global::Fal.CreateWorkflowResponseWorkflow? Type288 { get; set; } /// /// /// - public global::Fal.CreateWorkflowResponse6? Type289 { get; set; } + public global::Fal.CreateWorkflowResponse2? Type289 { get; set; } /// /// /// - public global::Fal.CreateWorkflowResponseError5? Type290 { get; set; } + public global::Fal.CreateWorkflowResponseError? Type290 { get; set; } /// /// /// - public global::Fal.CreateWorkflowResponseErrorType5? Type291 { get; set; } + public global::Fal.CreateWorkflowResponseErrorType? Type291 { get; set; } /// /// /// - public global::Fal.GetWorkflowResponse? Type292 { get; set; } + public global::Fal.CreateWorkflowResponse3? Type292 { get; set; } /// /// /// - public global::Fal.GetWorkflowResponseWorkflow? Type293 { get; set; } + public global::Fal.CreateWorkflowResponseError2? Type293 { get; set; } /// /// /// - public global::Fal.GetWorkflowResponse2? Type294 { get; set; } + public global::Fal.CreateWorkflowResponseErrorType2? Type294 { get; set; } /// /// /// - public global::Fal.GetWorkflowResponseError? Type295 { get; set; } + public global::Fal.CreateWorkflowResponse4? Type295 { get; set; } /// /// /// - public global::Fal.GetWorkflowResponseErrorType? Type296 { get; set; } + public global::Fal.CreateWorkflowResponseError3? Type296 { get; set; } /// /// /// - public global::Fal.GetWorkflowResponse3? Type297 { get; set; } + public global::Fal.CreateWorkflowResponseErrorType3? Type297 { get; set; } /// /// /// - public global::Fal.GetWorkflowResponseError2? Type298 { get; set; } + public global::Fal.CreateWorkflowResponse5? Type298 { get; set; } /// /// /// - public global::Fal.GetWorkflowResponseErrorType2? Type299 { get; set; } + public global::Fal.CreateWorkflowResponseError4? Type299 { get; set; } /// /// /// - public global::Fal.GetWorkflowResponse4? Type300 { get; set; } + public global::Fal.CreateWorkflowResponseErrorType4? Type300 { get; set; } /// /// /// - public global::Fal.GetWorkflowResponseError3? Type301 { get; set; } + public global::Fal.CreateWorkflowResponse6? Type301 { get; set; } /// /// /// - public global::Fal.GetWorkflowResponseErrorType3? Type302 { get; set; } + public global::Fal.CreateWorkflowResponseError5? Type302 { get; set; } /// /// /// - public global::Fal.GetWorkflowResponse5? Type303 { get; set; } + public global::Fal.CreateWorkflowResponseErrorType5? Type303 { get; set; } /// /// /// - public global::Fal.GetWorkflowResponseError4? Type304 { get; set; } + public global::Fal.GetWorkflowResponse? Type304 { get; set; } /// /// /// - public global::Fal.GetWorkflowResponseErrorType4? Type305 { get; set; } + public global::Fal.GetWorkflowResponseWorkflow? Type305 { get; set; } /// /// /// - public global::Fal.GetWorkflowResponse6? Type306 { get; set; } + public global::Fal.GetWorkflowResponse2? Type306 { get; set; } /// /// /// - public global::Fal.GetWorkflowResponseError5? Type307 { get; set; } + public global::Fal.GetWorkflowResponseError? Type307 { get; set; } /// /// /// - public global::Fal.GetWorkflowResponseErrorType5? Type308 { get; set; } + public global::Fal.GetWorkflowResponseErrorType? Type308 { get; set; } /// /// /// - public global::Fal.GetWorkflowResponse7? Type309 { get; set; } + public global::Fal.GetWorkflowResponse3? Type309 { get; set; } /// /// /// - public global::Fal.GetWorkflowResponseError6? Type310 { get; set; } + public global::Fal.GetWorkflowResponseError2? Type310 { get; set; } /// /// /// - public global::Fal.GetWorkflowResponseErrorType6? Type311 { get; set; } + public global::Fal.GetWorkflowResponseErrorType2? Type311 { get; set; } /// /// /// - public global::Fal.ListAssetsResponse? Type312 { get; set; } + public global::Fal.GetWorkflowResponse4? Type312 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type313 { get; set; } + public global::Fal.GetWorkflowResponseError3? Type313 { get; set; } /// /// /// - public global::Fal.ListAssetsResponseAsset? Type314 { get; set; } + public global::Fal.GetWorkflowResponseErrorType3? Type314 { get; set; } /// /// /// - public global::Fal.ListAssetsResponseAssetType? Type315 { get; set; } + public global::Fal.GetWorkflowResponse5? Type315 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type316 { get; set; } + public global::Fal.GetWorkflowResponseError4? Type316 { get; set; } /// /// /// - public global::Fal.ListAssetsResponseAssetTag? Type317 { get; set; } + public global::Fal.GetWorkflowResponseErrorType4? Type317 { get; set; } /// /// /// - public global::Fal.ListAssetsResponse2? Type318 { get; set; } + public global::Fal.GetWorkflowResponse6? Type318 { get; set; } /// /// /// - public global::Fal.ListAssetsResponseError? Type319 { get; set; } + public global::Fal.GetWorkflowResponseError5? Type319 { get; set; } /// /// /// - public global::Fal.ListAssetsResponseErrorType? Type320 { get; set; } + public global::Fal.GetWorkflowResponseErrorType5? Type320 { get; set; } /// /// /// - public global::Fal.ListAssetsResponse3? Type321 { get; set; } + public global::Fal.GetWorkflowResponse7? Type321 { get; set; } /// /// /// - public global::Fal.ListAssetsResponseError2? Type322 { get; set; } + public global::Fal.GetWorkflowResponseError6? Type322 { get; set; } /// /// /// - public global::Fal.ListAssetsResponseErrorType2? Type323 { get; set; } + public global::Fal.GetWorkflowResponseErrorType6? Type323 { get; set; } /// /// /// - public global::Fal.ListAssetsResponse4? Type324 { get; set; } + public global::Fal.ListAssetsResponse? Type324 { get; set; } /// /// /// - public global::Fal.ListAssetsResponseError3? Type325 { get; set; } + public global::System.Collections.Generic.IList? Type325 { get; set; } /// /// /// - public global::Fal.ListAssetsResponseErrorType3? Type326 { get; set; } + public global::Fal.ListAssetsResponseAsset? Type326 { get; set; } /// /// /// - public global::Fal.ListAssetsResponse5? Type327 { get; set; } + public global::Fal.ListAssetsResponseAssetType? Type327 { get; set; } /// /// /// - public global::Fal.ListAssetsResponseError4? Type328 { get; set; } + public global::System.Collections.Generic.IList? Type328 { get; set; } /// /// /// - public global::Fal.ListAssetsResponseErrorType4? Type329 { get; set; } + public global::Fal.ListAssetsResponseAssetTag? Type329 { get; set; } /// /// /// - public global::Fal.ListAssetsResponse6? Type330 { get; set; } + public global::Fal.ListAssetsResponse2? Type330 { get; set; } /// /// /// - public global::Fal.ListAssetsResponseError5? Type331 { get; set; } + public global::Fal.ListAssetsResponseError? Type331 { get; set; } /// /// /// - public global::Fal.ListAssetsResponseErrorType5? Type332 { get; set; } + public global::Fal.ListAssetsResponseErrorType? Type332 { get; set; } /// /// /// - public global::Fal.ListAssetsResponse7? Type333 { get; set; } + public global::Fal.ListAssetsResponse3? Type333 { get; set; } /// /// /// - public global::Fal.ListAssetsResponseError6? Type334 { get; set; } + public global::Fal.ListAssetsResponseError2? Type334 { get; set; } /// /// /// - public global::Fal.ListAssetsResponseErrorType6? Type335 { get; set; } + public global::Fal.ListAssetsResponseErrorType2? Type335 { get; set; } /// /// /// - public global::Fal.ListAssetsResponse8? Type336 { get; set; } + public global::Fal.ListAssetsResponse4? Type336 { get; set; } /// /// /// - public global::Fal.ListAssetsResponseError7? Type337 { get; set; } + public global::Fal.ListAssetsResponseError3? Type337 { get; set; } /// /// /// - public global::Fal.ListAssetsResponseErrorType7? Type338 { get; set; } + public global::Fal.ListAssetsResponseErrorType3? Type338 { get; set; } /// /// /// - public global::Fal.ListAssetsResponse9? Type339 { get; set; } + public global::Fal.ListAssetsResponse5? Type339 { get; set; } /// /// /// - public global::Fal.ListAssetsResponseError8? Type340 { get; set; } + public global::Fal.ListAssetsResponseError4? Type340 { get; set; } /// /// /// - public global::Fal.ListAssetsResponseErrorType8? Type341 { get; set; } + public global::Fal.ListAssetsResponseErrorType4? Type341 { get; set; } /// /// /// - public global::Fal.ListAssetsResponse10? Type342 { get; set; } + public global::Fal.ListAssetsResponse6? Type342 { get; set; } /// /// /// - public global::Fal.ListAssetsResponseError9? Type343 { get; set; } + public global::Fal.ListAssetsResponseError5? Type343 { get; set; } /// /// /// - public global::Fal.ListAssetsResponseErrorType9? Type344 { get; set; } + public global::Fal.ListAssetsResponseErrorType5? Type344 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponse? Type345 { get; set; } + public global::Fal.ListAssetsResponse7? Type345 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type346 { get; set; } + public global::Fal.ListAssetsResponseError6? Type346 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponseCollection? Type347 { get; set; } + public global::Fal.ListAssetsResponseErrorType6? Type347 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponseCollectionType? Type348 { get; set; } + public global::Fal.ListAssetsResponse8? Type348 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponse2? Type349 { get; set; } + public global::Fal.ListAssetsResponseError7? Type349 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponseError? Type350 { get; set; } + public global::Fal.ListAssetsResponseErrorType7? Type350 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponseErrorType? Type351 { get; set; } + public global::Fal.ListAssetsResponse9? Type351 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponse3? Type352 { get; set; } + public global::Fal.ListAssetsResponseError8? Type352 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponseError2? Type353 { get; set; } + public global::Fal.ListAssetsResponseErrorType8? Type353 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponseErrorType2? Type354 { get; set; } + public global::Fal.ListAssetsResponse10? Type354 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponse4? Type355 { get; set; } + public global::Fal.ListAssetsResponseError9? Type355 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponseError3? Type356 { get; set; } + public global::Fal.ListAssetsResponseErrorType9? Type356 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponseErrorType3? Type357 { get; set; } + public global::Fal.ListAssetCollectionsResponse? Type357 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponse5? Type358 { get; set; } + public global::System.Collections.Generic.IList? Type358 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponseError4? Type359 { get; set; } + public global::Fal.ListAssetCollectionsResponseCollection? Type359 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponseErrorType4? Type360 { get; set; } + public global::Fal.ListAssetCollectionsResponseCollectionType? Type360 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponse6? Type361 { get; set; } + public global::Fal.ListAssetCollectionsResponse2? Type361 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponseError5? Type362 { get; set; } + public global::Fal.ListAssetCollectionsResponseError? Type362 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponseErrorType5? Type363 { get; set; } + public global::Fal.ListAssetCollectionsResponseErrorType? Type363 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponse7? Type364 { get; set; } + public global::Fal.ListAssetCollectionsResponse3? Type364 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponseError6? Type365 { get; set; } + public global::Fal.ListAssetCollectionsResponseError2? Type365 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponseErrorType6? Type366 { get; set; } + public global::Fal.ListAssetCollectionsResponseErrorType2? Type366 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponse8? Type367 { get; set; } + public global::Fal.ListAssetCollectionsResponse4? Type367 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponseError7? Type368 { get; set; } + public global::Fal.ListAssetCollectionsResponseError3? Type368 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponseErrorType7? Type369 { get; set; } + public global::Fal.ListAssetCollectionsResponseErrorType3? Type369 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponse9? Type370 { get; set; } + public global::Fal.ListAssetCollectionsResponse5? Type370 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponseError8? Type371 { get; set; } + public global::Fal.ListAssetCollectionsResponseError4? Type371 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponseErrorType8? Type372 { get; set; } + public global::Fal.ListAssetCollectionsResponseErrorType4? Type372 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponse10? Type373 { get; set; } + public global::Fal.ListAssetCollectionsResponse6? Type373 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponseError9? Type374 { get; set; } + public global::Fal.ListAssetCollectionsResponseError5? Type374 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionsResponseErrorType9? Type375 { get; set; } + public global::Fal.ListAssetCollectionsResponseErrorType5? Type375 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponse? Type376 { get; set; } + public global::Fal.ListAssetCollectionsResponse7? Type376 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponseCollection? Type377 { get; set; } + public global::Fal.ListAssetCollectionsResponseError6? Type377 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponseCollectionType? Type378 { get; set; } + public global::Fal.ListAssetCollectionsResponseErrorType6? Type378 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponse2? Type379 { get; set; } + public global::Fal.ListAssetCollectionsResponse8? Type379 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponseError? Type380 { get; set; } + public global::Fal.ListAssetCollectionsResponseError7? Type380 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponseErrorType? Type381 { get; set; } + public global::Fal.ListAssetCollectionsResponseErrorType7? Type381 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponse3? Type382 { get; set; } + public global::Fal.ListAssetCollectionsResponse9? Type382 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponseError2? Type383 { get; set; } + public global::Fal.ListAssetCollectionsResponseError8? Type383 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponseErrorType2? Type384 { get; set; } + public global::Fal.ListAssetCollectionsResponseErrorType8? Type384 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponse4? Type385 { get; set; } + public global::Fal.ListAssetCollectionsResponse10? Type385 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponseError3? Type386 { get; set; } + public global::Fal.ListAssetCollectionsResponseError9? Type386 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponseErrorType3? Type387 { get; set; } + public global::Fal.ListAssetCollectionsResponseErrorType9? Type387 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponse5? Type388 { get; set; } + public global::Fal.CreateAssetCollectionResponse? Type388 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponseError4? Type389 { get; set; } + public global::Fal.CreateAssetCollectionResponseCollection? Type389 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponseErrorType4? Type390 { get; set; } + public global::Fal.CreateAssetCollectionResponseCollectionType? Type390 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponse6? Type391 { get; set; } + public global::Fal.CreateAssetCollectionResponse2? Type391 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponseError5? Type392 { get; set; } + public global::Fal.CreateAssetCollectionResponseError? Type392 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponseErrorType5? Type393 { get; set; } + public global::Fal.CreateAssetCollectionResponseErrorType? Type393 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponse7? Type394 { get; set; } + public global::Fal.CreateAssetCollectionResponse3? Type394 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponseError6? Type395 { get; set; } + public global::Fal.CreateAssetCollectionResponseError2? Type395 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponseErrorType6? Type396 { get; set; } + public global::Fal.CreateAssetCollectionResponseErrorType2? Type396 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponse8? Type397 { get; set; } + public global::Fal.CreateAssetCollectionResponse4? Type397 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponseError7? Type398 { get; set; } + public global::Fal.CreateAssetCollectionResponseError3? Type398 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponseErrorType7? Type399 { get; set; } + public global::Fal.CreateAssetCollectionResponseErrorType3? Type399 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponse9? Type400 { get; set; } + public global::Fal.CreateAssetCollectionResponse5? Type400 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponseError8? Type401 { get; set; } + public global::Fal.CreateAssetCollectionResponseError4? Type401 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponseErrorType8? Type402 { get; set; } + public global::Fal.CreateAssetCollectionResponseErrorType4? Type402 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponse10? Type403 { get; set; } + public global::Fal.CreateAssetCollectionResponse6? Type403 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponseError9? Type404 { get; set; } + public global::Fal.CreateAssetCollectionResponseError5? Type404 { get; set; } /// /// /// - public global::Fal.CreateAssetCollectionResponseErrorType9? Type405 { get; set; } + public global::Fal.CreateAssetCollectionResponseErrorType5? Type405 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponse? Type406 { get; set; } + public global::Fal.CreateAssetCollectionResponse7? Type406 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponseCollection? Type407 { get; set; } + public global::Fal.CreateAssetCollectionResponseError6? Type407 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponseCollectionType? Type408 { get; set; } + public global::Fal.CreateAssetCollectionResponseErrorType6? Type408 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponse2? Type409 { get; set; } + public global::Fal.CreateAssetCollectionResponse8? Type409 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponseError? Type410 { get; set; } + public global::Fal.CreateAssetCollectionResponseError7? Type410 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponseErrorType? Type411 { get; set; } + public global::Fal.CreateAssetCollectionResponseErrorType7? Type411 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponse3? Type412 { get; set; } + public global::Fal.CreateAssetCollectionResponse9? Type412 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponseError2? Type413 { get; set; } + public global::Fal.CreateAssetCollectionResponseError8? Type413 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponseErrorType2? Type414 { get; set; } + public global::Fal.CreateAssetCollectionResponseErrorType8? Type414 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponse4? Type415 { get; set; } + public global::Fal.CreateAssetCollectionResponse10? Type415 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponseError3? Type416 { get; set; } + public global::Fal.CreateAssetCollectionResponseError9? Type416 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponseErrorType3? Type417 { get; set; } + public global::Fal.CreateAssetCollectionResponseErrorType9? Type417 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponse5? Type418 { get; set; } + public global::Fal.GetAssetCollectionResponse? Type418 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponseError4? Type419 { get; set; } + public global::Fal.GetAssetCollectionResponseCollection? Type419 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponseErrorType4? Type420 { get; set; } + public global::Fal.GetAssetCollectionResponseCollectionType? Type420 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponse6? Type421 { get; set; } + public global::Fal.GetAssetCollectionResponse2? Type421 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponseError5? Type422 { get; set; } + public global::Fal.GetAssetCollectionResponseError? Type422 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponseErrorType5? Type423 { get; set; } + public global::Fal.GetAssetCollectionResponseErrorType? Type423 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponse7? Type424 { get; set; } + public global::Fal.GetAssetCollectionResponse3? Type424 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponseError6? Type425 { get; set; } + public global::Fal.GetAssetCollectionResponseError2? Type425 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponseErrorType6? Type426 { get; set; } + public global::Fal.GetAssetCollectionResponseErrorType2? Type426 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponse8? Type427 { get; set; } + public global::Fal.GetAssetCollectionResponse4? Type427 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponseError7? Type428 { get; set; } + public global::Fal.GetAssetCollectionResponseError3? Type428 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponseErrorType7? Type429 { get; set; } + public global::Fal.GetAssetCollectionResponseErrorType3? Type429 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponse9? Type430 { get; set; } + public global::Fal.GetAssetCollectionResponse5? Type430 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponseError8? Type431 { get; set; } + public global::Fal.GetAssetCollectionResponseError4? Type431 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponseErrorType8? Type432 { get; set; } + public global::Fal.GetAssetCollectionResponseErrorType4? Type432 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponse10? Type433 { get; set; } + public global::Fal.GetAssetCollectionResponse6? Type433 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponseError9? Type434 { get; set; } + public global::Fal.GetAssetCollectionResponseError5? Type434 { get; set; } /// /// /// - public global::Fal.GetAssetCollectionResponseErrorType9? Type435 { get; set; } + public global::Fal.GetAssetCollectionResponseErrorType5? Type435 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponse? Type436 { get; set; } + public global::Fal.GetAssetCollectionResponse7? Type436 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponseCollection? Type437 { get; set; } + public global::Fal.GetAssetCollectionResponseError6? Type437 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponseCollectionType? Type438 { get; set; } + public global::Fal.GetAssetCollectionResponseErrorType6? Type438 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponse2? Type439 { get; set; } + public global::Fal.GetAssetCollectionResponse8? Type439 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponseError? Type440 { get; set; } + public global::Fal.GetAssetCollectionResponseError7? Type440 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponseErrorType? Type441 { get; set; } + public global::Fal.GetAssetCollectionResponseErrorType7? Type441 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponse3? Type442 { get; set; } + public global::Fal.GetAssetCollectionResponse9? Type442 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponseError2? Type443 { get; set; } + public global::Fal.GetAssetCollectionResponseError8? Type443 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponseErrorType2? Type444 { get; set; } + public global::Fal.GetAssetCollectionResponseErrorType8? Type444 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponse4? Type445 { get; set; } + public global::Fal.GetAssetCollectionResponse10? Type445 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponseError3? Type446 { get; set; } + public global::Fal.GetAssetCollectionResponseError9? Type446 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponseErrorType3? Type447 { get; set; } + public global::Fal.GetAssetCollectionResponseErrorType9? Type447 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponse5? Type448 { get; set; } + public global::Fal.UpdateAssetCollectionResponse? Type448 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponseError4? Type449 { get; set; } + public global::Fal.UpdateAssetCollectionResponseCollection? Type449 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponseErrorType4? Type450 { get; set; } + public global::Fal.UpdateAssetCollectionResponseCollectionType? Type450 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponse6? Type451 { get; set; } + public global::Fal.UpdateAssetCollectionResponse2? Type451 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponseError5? Type452 { get; set; } + public global::Fal.UpdateAssetCollectionResponseError? Type452 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponseErrorType5? Type453 { get; set; } + public global::Fal.UpdateAssetCollectionResponseErrorType? Type453 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponse7? Type454 { get; set; } + public global::Fal.UpdateAssetCollectionResponse3? Type454 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponseError6? Type455 { get; set; } + public global::Fal.UpdateAssetCollectionResponseError2? Type455 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponseErrorType6? Type456 { get; set; } + public global::Fal.UpdateAssetCollectionResponseErrorType2? Type456 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponse8? Type457 { get; set; } + public global::Fal.UpdateAssetCollectionResponse4? Type457 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponseError7? Type458 { get; set; } + public global::Fal.UpdateAssetCollectionResponseError3? Type458 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponseErrorType7? Type459 { get; set; } + public global::Fal.UpdateAssetCollectionResponseErrorType3? Type459 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponse9? Type460 { get; set; } + public global::Fal.UpdateAssetCollectionResponse5? Type460 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponseError8? Type461 { get; set; } + public global::Fal.UpdateAssetCollectionResponseError4? Type461 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponseErrorType8? Type462 { get; set; } + public global::Fal.UpdateAssetCollectionResponseErrorType4? Type462 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponse10? Type463 { get; set; } + public global::Fal.UpdateAssetCollectionResponse6? Type463 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponseError9? Type464 { get; set; } + public global::Fal.UpdateAssetCollectionResponseError5? Type464 { get; set; } /// /// /// - public global::Fal.UpdateAssetCollectionResponseErrorType9? Type465 { get; set; } + public global::Fal.UpdateAssetCollectionResponseErrorType5? Type465 { get; set; } /// /// /// - public global::Fal.DeleteAssetCollectionResponse? Type466 { get; set; } + public global::Fal.UpdateAssetCollectionResponse7? Type466 { get; set; } /// /// /// - public global::Fal.DeleteAssetCollectionResponseError? Type467 { get; set; } + public global::Fal.UpdateAssetCollectionResponseError6? Type467 { get; set; } /// /// /// - public global::Fal.DeleteAssetCollectionResponseErrorType? Type468 { get; set; } + public global::Fal.UpdateAssetCollectionResponseErrorType6? Type468 { get; set; } /// /// /// - public global::Fal.DeleteAssetCollectionResponse2? Type469 { get; set; } + public global::Fal.UpdateAssetCollectionResponse8? Type469 { get; set; } /// /// /// - public global::Fal.DeleteAssetCollectionResponseError2? Type470 { get; set; } + public global::Fal.UpdateAssetCollectionResponseError7? Type470 { get; set; } /// /// /// - public global::Fal.DeleteAssetCollectionResponseErrorType2? Type471 { get; set; } + public global::Fal.UpdateAssetCollectionResponseErrorType7? Type471 { get; set; } /// /// /// - public global::Fal.DeleteAssetCollectionResponse3? Type472 { get; set; } + public global::Fal.UpdateAssetCollectionResponse9? Type472 { get; set; } /// /// /// - public global::Fal.DeleteAssetCollectionResponseError3? Type473 { get; set; } + public global::Fal.UpdateAssetCollectionResponseError8? Type473 { get; set; } /// /// /// - public global::Fal.DeleteAssetCollectionResponseErrorType3? Type474 { get; set; } + public global::Fal.UpdateAssetCollectionResponseErrorType8? Type474 { get; set; } /// /// /// - public global::Fal.DeleteAssetCollectionResponse4? Type475 { get; set; } + public global::Fal.UpdateAssetCollectionResponse10? Type475 { get; set; } /// /// /// - public global::Fal.DeleteAssetCollectionResponseError4? Type476 { get; set; } + public global::Fal.UpdateAssetCollectionResponseError9? Type476 { get; set; } /// /// /// - public global::Fal.DeleteAssetCollectionResponseErrorType4? Type477 { get; set; } + public global::Fal.UpdateAssetCollectionResponseErrorType9? Type477 { get; set; } /// /// /// - public global::Fal.DeleteAssetCollectionResponse5? Type478 { get; set; } + public global::Fal.DeleteAssetCollectionResponse? Type478 { get; set; } /// /// /// - public global::Fal.DeleteAssetCollectionResponseError5? Type479 { get; set; } + public global::Fal.DeleteAssetCollectionResponseError? Type479 { get; set; } /// /// /// - public global::Fal.DeleteAssetCollectionResponseErrorType5? Type480 { get; set; } + public global::Fal.DeleteAssetCollectionResponseErrorType? Type480 { get; set; } /// /// /// - public global::Fal.DeleteAssetCollectionResponse6? Type481 { get; set; } + public global::Fal.DeleteAssetCollectionResponse2? Type481 { get; set; } /// /// /// - public global::Fal.DeleteAssetCollectionResponseError6? Type482 { get; set; } + public global::Fal.DeleteAssetCollectionResponseError2? Type482 { get; set; } /// /// /// - public global::Fal.DeleteAssetCollectionResponseErrorType6? Type483 { get; set; } + public global::Fal.DeleteAssetCollectionResponseErrorType2? Type483 { get; set; } /// /// /// - public global::Fal.DeleteAssetCollectionResponse7? Type484 { get; set; } + public global::Fal.DeleteAssetCollectionResponse3? Type484 { get; set; } /// /// /// - public global::Fal.DeleteAssetCollectionResponseError7? Type485 { get; set; } + public global::Fal.DeleteAssetCollectionResponseError3? Type485 { get; set; } /// /// /// - public global::Fal.DeleteAssetCollectionResponseErrorType7? Type486 { get; set; } + public global::Fal.DeleteAssetCollectionResponseErrorType3? Type486 { get; set; } /// /// /// - public global::Fal.DeleteAssetCollectionResponse8? Type487 { get; set; } + public global::Fal.DeleteAssetCollectionResponse4? Type487 { get; set; } /// /// /// - public global::Fal.DeleteAssetCollectionResponseError8? Type488 { get; set; } + public global::Fal.DeleteAssetCollectionResponseError4? Type488 { get; set; } /// /// /// - public global::Fal.DeleteAssetCollectionResponseErrorType8? Type489 { get; set; } + public global::Fal.DeleteAssetCollectionResponseErrorType4? Type489 { get; set; } /// /// /// - public global::Fal.DeleteAssetCollectionResponse9? Type490 { get; set; } + public global::Fal.DeleteAssetCollectionResponse5? Type490 { get; set; } /// /// /// - public global::Fal.DeleteAssetCollectionResponseError9? Type491 { get; set; } + public global::Fal.DeleteAssetCollectionResponseError5? Type491 { get; set; } /// /// /// - public global::Fal.DeleteAssetCollectionResponseErrorType9? Type492 { get; set; } + public global::Fal.DeleteAssetCollectionResponseErrorType5? Type492 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponse? Type493 { get; set; } + public global::Fal.DeleteAssetCollectionResponse6? Type493 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponseCollection? Type494 { get; set; } + public global::Fal.DeleteAssetCollectionResponseError6? Type494 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponseCollectionType? Type495 { get; set; } + public global::Fal.DeleteAssetCollectionResponseErrorType6? Type495 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponse2? Type496 { get; set; } + public global::Fal.DeleteAssetCollectionResponse7? Type496 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponseError? Type497 { get; set; } + public global::Fal.DeleteAssetCollectionResponseError7? Type497 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponseErrorType? Type498 { get; set; } + public global::Fal.DeleteAssetCollectionResponseErrorType7? Type498 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponse3? Type499 { get; set; } + public global::Fal.DeleteAssetCollectionResponse8? Type499 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponseError2? Type500 { get; set; } + public global::Fal.DeleteAssetCollectionResponseError8? Type500 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponseErrorType2? Type501 { get; set; } + public global::Fal.DeleteAssetCollectionResponseErrorType8? Type501 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponse4? Type502 { get; set; } + public global::Fal.DeleteAssetCollectionResponse9? Type502 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponseError3? Type503 { get; set; } + public global::Fal.DeleteAssetCollectionResponseError9? Type503 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponseErrorType3? Type504 { get; set; } + public global::Fal.DeleteAssetCollectionResponseErrorType9? Type504 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponse5? Type505 { get; set; } + public global::Fal.FavoriteAssetCollectionResponse? Type505 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponseError4? Type506 { get; set; } + public global::Fal.FavoriteAssetCollectionResponseCollection? Type506 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponseErrorType4? Type507 { get; set; } + public global::Fal.FavoriteAssetCollectionResponseCollectionType? Type507 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponse6? Type508 { get; set; } + public global::Fal.FavoriteAssetCollectionResponse2? Type508 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponseError5? Type509 { get; set; } + public global::Fal.FavoriteAssetCollectionResponseError? Type509 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponseErrorType5? Type510 { get; set; } + public global::Fal.FavoriteAssetCollectionResponseErrorType? Type510 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponse7? Type511 { get; set; } + public global::Fal.FavoriteAssetCollectionResponse3? Type511 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponseError6? Type512 { get; set; } + public global::Fal.FavoriteAssetCollectionResponseError2? Type512 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponseErrorType6? Type513 { get; set; } + public global::Fal.FavoriteAssetCollectionResponseErrorType2? Type513 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponse8? Type514 { get; set; } + public global::Fal.FavoriteAssetCollectionResponse4? Type514 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponseError7? Type515 { get; set; } + public global::Fal.FavoriteAssetCollectionResponseError3? Type515 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponseErrorType7? Type516 { get; set; } + public global::Fal.FavoriteAssetCollectionResponseErrorType3? Type516 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponse9? Type517 { get; set; } + public global::Fal.FavoriteAssetCollectionResponse5? Type517 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponseError8? Type518 { get; set; } + public global::Fal.FavoriteAssetCollectionResponseError4? Type518 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponseErrorType8? Type519 { get; set; } + public global::Fal.FavoriteAssetCollectionResponseErrorType4? Type519 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponse10? Type520 { get; set; } + public global::Fal.FavoriteAssetCollectionResponse6? Type520 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponseError9? Type521 { get; set; } + public global::Fal.FavoriteAssetCollectionResponseError5? Type521 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCollectionResponseErrorType9? Type522 { get; set; } + public global::Fal.FavoriteAssetCollectionResponseErrorType5? Type522 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponse? Type523 { get; set; } + public global::Fal.FavoriteAssetCollectionResponse7? Type523 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponseCollection? Type524 { get; set; } + public global::Fal.FavoriteAssetCollectionResponseError6? Type524 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponseCollectionType? Type525 { get; set; } + public global::Fal.FavoriteAssetCollectionResponseErrorType6? Type525 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponse2? Type526 { get; set; } + public global::Fal.FavoriteAssetCollectionResponse8? Type526 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponseError? Type527 { get; set; } + public global::Fal.FavoriteAssetCollectionResponseError7? Type527 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponseErrorType? Type528 { get; set; } + public global::Fal.FavoriteAssetCollectionResponseErrorType7? Type528 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponse3? Type529 { get; set; } + public global::Fal.FavoriteAssetCollectionResponse9? Type529 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponseError2? Type530 { get; set; } + public global::Fal.FavoriteAssetCollectionResponseError8? Type530 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponseErrorType2? Type531 { get; set; } + public global::Fal.FavoriteAssetCollectionResponseErrorType8? Type531 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponse4? Type532 { get; set; } + public global::Fal.FavoriteAssetCollectionResponse10? Type532 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponseError3? Type533 { get; set; } + public global::Fal.FavoriteAssetCollectionResponseError9? Type533 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponseErrorType3? Type534 { get; set; } + public global::Fal.FavoriteAssetCollectionResponseErrorType9? Type534 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponse5? Type535 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponse? Type535 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponseError4? Type536 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponseCollection? Type536 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponseErrorType4? Type537 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponseCollectionType? Type537 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponse6? Type538 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponse2? Type538 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponseError5? Type539 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponseError? Type539 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponseErrorType5? Type540 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponseErrorType? Type540 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponse7? Type541 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponse3? Type541 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponseError6? Type542 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponseError2? Type542 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponseErrorType6? Type543 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponseErrorType2? Type543 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponse8? Type544 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponse4? Type544 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponseError7? Type545 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponseError3? Type545 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponseErrorType7? Type546 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponseErrorType3? Type546 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponse9? Type547 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponse5? Type547 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponseError8? Type548 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponseError4? Type548 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponseErrorType8? Type549 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponseErrorType4? Type549 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponse10? Type550 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponse6? Type550 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponseError9? Type551 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponseError5? Type551 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCollectionResponseErrorType9? Type552 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponseErrorType5? Type552 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponse? Type553 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponse7? Type553 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type554 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponseError6? Type554 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponseAsset? Type555 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponseErrorType6? Type555 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponseAssetType? Type556 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponse8? Type556 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type557 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponseError7? Type557 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponseAssetTag? Type558 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponseErrorType7? Type558 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponse2? Type559 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponse9? Type559 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponseError? Type560 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponseError8? Type560 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponseErrorType? Type561 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponseErrorType8? Type561 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponse3? Type562 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponse10? Type562 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponseError2? Type563 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponseError9? Type563 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponseErrorType2? Type564 { get; set; } + public global::Fal.UnfavoriteAssetCollectionResponseErrorType9? Type564 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponse4? Type565 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponse? Type565 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponseError3? Type566 { get; set; } + public global::System.Collections.Generic.IList? Type566 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponseErrorType3? Type567 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponseAsset? Type567 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponse5? Type568 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponseAssetType? Type568 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponseError4? Type569 { get; set; } + public global::System.Collections.Generic.IList? Type569 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponseErrorType4? Type570 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponseAssetTag? Type570 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponse6? Type571 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponse2? Type571 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponseError5? Type572 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponseError? Type572 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponseErrorType5? Type573 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponseErrorType? Type573 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponse7? Type574 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponse3? Type574 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponseError6? Type575 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponseError2? Type575 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponseErrorType6? Type576 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponseErrorType2? Type576 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponse8? Type577 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponse4? Type577 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponseError7? Type578 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponseError3? Type578 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponseErrorType7? Type579 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponseErrorType3? Type579 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponse9? Type580 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponse5? Type580 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponseError8? Type581 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponseError4? Type581 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponseErrorType8? Type582 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponseErrorType4? Type582 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponse10? Type583 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponse6? Type583 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponseError9? Type584 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponseError5? Type584 { get; set; } /// /// /// - public global::Fal.ListAssetCollectionAssetsResponseErrorType9? Type585 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponseErrorType5? Type585 { get; set; } /// /// /// - public global::Fal.AddAssetToCollectionResponse? Type586 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponse7? Type586 { get; set; } /// /// /// - public global::Fal.AddAssetToCollectionResponse2? Type587 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponseError6? Type587 { get; set; } /// /// /// - public global::Fal.AddAssetToCollectionResponseError? Type588 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponseErrorType6? Type588 { get; set; } /// /// /// - public global::Fal.AddAssetToCollectionResponseErrorType? Type589 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponse8? Type589 { get; set; } /// /// /// - public global::Fal.AddAssetToCollectionResponse3? Type590 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponseError7? Type590 { get; set; } /// /// /// - public global::Fal.AddAssetToCollectionResponseError2? Type591 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponseErrorType7? Type591 { get; set; } /// /// /// - public global::Fal.AddAssetToCollectionResponseErrorType2? Type592 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponse9? Type592 { get; set; } /// /// /// - public global::Fal.AddAssetToCollectionResponse4? Type593 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponseError8? Type593 { get; set; } /// /// /// - public global::Fal.AddAssetToCollectionResponseError3? Type594 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponseErrorType8? Type594 { get; set; } /// /// /// - public global::Fal.AddAssetToCollectionResponseErrorType3? Type595 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponse10? Type595 { get; set; } /// /// /// - public global::Fal.AddAssetToCollectionResponse5? Type596 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponseError9? Type596 { get; set; } /// /// /// - public global::Fal.AddAssetToCollectionResponseError4? Type597 { get; set; } + public global::Fal.ListAssetCollectionAssetsResponseErrorType9? Type597 { get; set; } /// /// /// - public global::Fal.AddAssetToCollectionResponseErrorType4? Type598 { get; set; } + public global::Fal.AddAssetToCollectionResponse? Type598 { get; set; } /// /// /// - public global::Fal.AddAssetToCollectionResponse6? Type599 { get; set; } + public global::Fal.AddAssetToCollectionResponse2? Type599 { get; set; } /// /// /// - public global::Fal.AddAssetToCollectionResponseError5? Type600 { get; set; } + public global::Fal.AddAssetToCollectionResponseError? Type600 { get; set; } /// /// /// - public global::Fal.AddAssetToCollectionResponseErrorType5? Type601 { get; set; } + public global::Fal.AddAssetToCollectionResponseErrorType? Type601 { get; set; } /// /// /// - public global::Fal.AddAssetToCollectionResponse7? Type602 { get; set; } + public global::Fal.AddAssetToCollectionResponse3? Type602 { get; set; } /// /// /// - public global::Fal.AddAssetToCollectionResponseError6? Type603 { get; set; } + public global::Fal.AddAssetToCollectionResponseError2? Type603 { get; set; } /// /// /// - public global::Fal.AddAssetToCollectionResponseErrorType6? Type604 { get; set; } + public global::Fal.AddAssetToCollectionResponseErrorType2? Type604 { get; set; } /// /// /// - public global::Fal.AddAssetToCollectionResponse8? Type605 { get; set; } + public global::Fal.AddAssetToCollectionResponse4? Type605 { get; set; } /// /// /// - public global::Fal.AddAssetToCollectionResponseError7? Type606 { get; set; } + public global::Fal.AddAssetToCollectionResponseError3? Type606 { get; set; } /// /// /// - public global::Fal.AddAssetToCollectionResponseErrorType7? Type607 { get; set; } + public global::Fal.AddAssetToCollectionResponseErrorType3? Type607 { get; set; } /// /// /// - public global::Fal.AddAssetToCollectionResponse9? Type608 { get; set; } + public global::Fal.AddAssetToCollectionResponse5? Type608 { get; set; } /// /// /// - public global::Fal.AddAssetToCollectionResponseError8? Type609 { get; set; } + public global::Fal.AddAssetToCollectionResponseError4? Type609 { get; set; } /// /// /// - public global::Fal.AddAssetToCollectionResponseErrorType8? Type610 { get; set; } + public global::Fal.AddAssetToCollectionResponseErrorType4? Type610 { get; set; } /// /// /// - public global::Fal.AddAssetToCollectionResponse10? Type611 { get; set; } + public global::Fal.AddAssetToCollectionResponse6? Type611 { get; set; } /// /// /// - public global::Fal.AddAssetToCollectionResponseError9? Type612 { get; set; } + public global::Fal.AddAssetToCollectionResponseError5? Type612 { get; set; } /// /// /// - public global::Fal.AddAssetToCollectionResponseErrorType9? Type613 { get; set; } + public global::Fal.AddAssetToCollectionResponseErrorType5? Type613 { get; set; } /// /// /// - public global::Fal.RemoveAssetFromCollectionResponse? Type614 { get; set; } + public global::Fal.AddAssetToCollectionResponse7? Type614 { get; set; } /// /// /// - public global::Fal.RemoveAssetFromCollectionResponseError? Type615 { get; set; } + public global::Fal.AddAssetToCollectionResponseError6? Type615 { get; set; } /// /// /// - public global::Fal.RemoveAssetFromCollectionResponseErrorType? Type616 { get; set; } + public global::Fal.AddAssetToCollectionResponseErrorType6? Type616 { get; set; } /// /// /// - public global::Fal.RemoveAssetFromCollectionResponse2? Type617 { get; set; } + public global::Fal.AddAssetToCollectionResponse8? Type617 { get; set; } /// /// /// - public global::Fal.RemoveAssetFromCollectionResponseError2? Type618 { get; set; } + public global::Fal.AddAssetToCollectionResponseError7? Type618 { get; set; } /// /// /// - public global::Fal.RemoveAssetFromCollectionResponseErrorType2? Type619 { get; set; } + public global::Fal.AddAssetToCollectionResponseErrorType7? Type619 { get; set; } /// /// /// - public global::Fal.RemoveAssetFromCollectionResponse3? Type620 { get; set; } + public global::Fal.AddAssetToCollectionResponse9? Type620 { get; set; } /// /// /// - public global::Fal.RemoveAssetFromCollectionResponseError3? Type621 { get; set; } + public global::Fal.AddAssetToCollectionResponseError8? Type621 { get; set; } /// /// /// - public global::Fal.RemoveAssetFromCollectionResponseErrorType3? Type622 { get; set; } + public global::Fal.AddAssetToCollectionResponseErrorType8? Type622 { get; set; } /// /// /// - public global::Fal.RemoveAssetFromCollectionResponse4? Type623 { get; set; } + public global::Fal.AddAssetToCollectionResponse10? Type623 { get; set; } /// /// /// - public global::Fal.RemoveAssetFromCollectionResponseError4? Type624 { get; set; } + public global::Fal.AddAssetToCollectionResponseError9? Type624 { get; set; } /// /// /// - public global::Fal.RemoveAssetFromCollectionResponseErrorType4? Type625 { get; set; } + public global::Fal.AddAssetToCollectionResponseErrorType9? Type625 { get; set; } /// /// /// - public global::Fal.RemoveAssetFromCollectionResponse5? Type626 { get; set; } + public global::Fal.RemoveAssetFromCollectionResponse? Type626 { get; set; } /// /// /// - public global::Fal.RemoveAssetFromCollectionResponseError5? Type627 { get; set; } + public global::Fal.RemoveAssetFromCollectionResponseError? Type627 { get; set; } /// /// /// - public global::Fal.RemoveAssetFromCollectionResponseErrorType5? Type628 { get; set; } + public global::Fal.RemoveAssetFromCollectionResponseErrorType? Type628 { get; set; } /// /// /// - public global::Fal.RemoveAssetFromCollectionResponse6? Type629 { get; set; } + public global::Fal.RemoveAssetFromCollectionResponse2? Type629 { get; set; } /// /// /// - public global::Fal.RemoveAssetFromCollectionResponseError6? Type630 { get; set; } + public global::Fal.RemoveAssetFromCollectionResponseError2? Type630 { get; set; } /// /// /// - public global::Fal.RemoveAssetFromCollectionResponseErrorType6? Type631 { get; set; } + public global::Fal.RemoveAssetFromCollectionResponseErrorType2? Type631 { get; set; } /// /// /// - public global::Fal.RemoveAssetFromCollectionResponse7? Type632 { get; set; } + public global::Fal.RemoveAssetFromCollectionResponse3? Type632 { get; set; } /// /// /// - public global::Fal.RemoveAssetFromCollectionResponseError7? Type633 { get; set; } + public global::Fal.RemoveAssetFromCollectionResponseError3? Type633 { get; set; } /// /// /// - public global::Fal.RemoveAssetFromCollectionResponseErrorType7? Type634 { get; set; } + public global::Fal.RemoveAssetFromCollectionResponseErrorType3? Type634 { get; set; } /// /// /// - public global::Fal.RemoveAssetFromCollectionResponse8? Type635 { get; set; } + public global::Fal.RemoveAssetFromCollectionResponse4? Type635 { get; set; } /// /// /// - public global::Fal.RemoveAssetFromCollectionResponseError8? Type636 { get; set; } + public global::Fal.RemoveAssetFromCollectionResponseError4? Type636 { get; set; } /// /// /// - public global::Fal.RemoveAssetFromCollectionResponseErrorType8? Type637 { get; set; } + public global::Fal.RemoveAssetFromCollectionResponseErrorType4? Type637 { get; set; } /// /// /// - public global::Fal.RemoveAssetFromCollectionResponse9? Type638 { get; set; } + public global::Fal.RemoveAssetFromCollectionResponse5? Type638 { get; set; } /// /// /// - public global::Fal.RemoveAssetFromCollectionResponseError9? Type639 { get; set; } + public global::Fal.RemoveAssetFromCollectionResponseError5? Type639 { get; set; } /// /// /// - public global::Fal.RemoveAssetFromCollectionResponseErrorType9? Type640 { get; set; } + public global::Fal.RemoveAssetFromCollectionResponseErrorType5? Type640 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponse? Type641 { get; set; } + public global::Fal.RemoveAssetFromCollectionResponse6? Type641 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type642 { get; set; } + public global::Fal.RemoveAssetFromCollectionResponseError6? Type642 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponseCharacter? Type643 { get; set; } + public global::Fal.RemoveAssetFromCollectionResponseErrorType6? Type643 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponseCharacterType? Type644 { get; set; } + public global::Fal.RemoveAssetFromCollectionResponse7? Type644 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponse2? Type645 { get; set; } + public global::Fal.RemoveAssetFromCollectionResponseError7? Type645 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponseError? Type646 { get; set; } + public global::Fal.RemoveAssetFromCollectionResponseErrorType7? Type646 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponseErrorType? Type647 { get; set; } + public global::Fal.RemoveAssetFromCollectionResponse8? Type647 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponse3? Type648 { get; set; } + public global::Fal.RemoveAssetFromCollectionResponseError8? Type648 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponseError2? Type649 { get; set; } + public global::Fal.RemoveAssetFromCollectionResponseErrorType8? Type649 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponseErrorType2? Type650 { get; set; } + public global::Fal.RemoveAssetFromCollectionResponse9? Type650 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponse4? Type651 { get; set; } + public global::Fal.RemoveAssetFromCollectionResponseError9? Type651 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponseError3? Type652 { get; set; } + public global::Fal.RemoveAssetFromCollectionResponseErrorType9? Type652 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponseErrorType3? Type653 { get; set; } + public global::Fal.ListAssetCharactersResponse? Type653 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponse5? Type654 { get; set; } + public global::System.Collections.Generic.IList? Type654 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponseError4? Type655 { get; set; } + public global::Fal.ListAssetCharactersResponseCharacter? Type655 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponseErrorType4? Type656 { get; set; } + public global::Fal.ListAssetCharactersResponseCharacterType? Type656 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponse6? Type657 { get; set; } + public global::Fal.ListAssetCharactersResponse2? Type657 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponseError5? Type658 { get; set; } + public global::Fal.ListAssetCharactersResponseError? Type658 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponseErrorType5? Type659 { get; set; } + public global::Fal.ListAssetCharactersResponseErrorType? Type659 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponse7? Type660 { get; set; } + public global::Fal.ListAssetCharactersResponse3? Type660 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponseError6? Type661 { get; set; } + public global::Fal.ListAssetCharactersResponseError2? Type661 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponseErrorType6? Type662 { get; set; } + public global::Fal.ListAssetCharactersResponseErrorType2? Type662 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponse8? Type663 { get; set; } + public global::Fal.ListAssetCharactersResponse4? Type663 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponseError7? Type664 { get; set; } + public global::Fal.ListAssetCharactersResponseError3? Type664 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponseErrorType7? Type665 { get; set; } + public global::Fal.ListAssetCharactersResponseErrorType3? Type665 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponse9? Type666 { get; set; } + public global::Fal.ListAssetCharactersResponse5? Type666 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponseError8? Type667 { get; set; } + public global::Fal.ListAssetCharactersResponseError4? Type667 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponseErrorType8? Type668 { get; set; } + public global::Fal.ListAssetCharactersResponseErrorType4? Type668 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponse10? Type669 { get; set; } + public global::Fal.ListAssetCharactersResponse6? Type669 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponseError9? Type670 { get; set; } + public global::Fal.ListAssetCharactersResponseError5? Type670 { get; set; } /// /// /// - public global::Fal.ListAssetCharactersResponseErrorType9? Type671 { get; set; } + public global::Fal.ListAssetCharactersResponseErrorType5? Type671 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponse? Type672 { get; set; } + public global::Fal.ListAssetCharactersResponse7? Type672 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponseCharacter? Type673 { get; set; } + public global::Fal.ListAssetCharactersResponseError6? Type673 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponseCharacterType? Type674 { get; set; } + public global::Fal.ListAssetCharactersResponseErrorType6? Type674 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponse2? Type675 { get; set; } + public global::Fal.ListAssetCharactersResponse8? Type675 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponseError? Type676 { get; set; } + public global::Fal.ListAssetCharactersResponseError7? Type676 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponseErrorType? Type677 { get; set; } + public global::Fal.ListAssetCharactersResponseErrorType7? Type677 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponse3? Type678 { get; set; } + public global::Fal.ListAssetCharactersResponse9? Type678 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponseError2? Type679 { get; set; } + public global::Fal.ListAssetCharactersResponseError8? Type679 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponseErrorType2? Type680 { get; set; } + public global::Fal.ListAssetCharactersResponseErrorType8? Type680 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponse4? Type681 { get; set; } + public global::Fal.ListAssetCharactersResponse10? Type681 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponseError3? Type682 { get; set; } + public global::Fal.ListAssetCharactersResponseError9? Type682 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponseErrorType3? Type683 { get; set; } + public global::Fal.ListAssetCharactersResponseErrorType9? Type683 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponse5? Type684 { get; set; } + public global::Fal.CreateAssetCharacterResponse? Type684 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponseError4? Type685 { get; set; } + public global::Fal.CreateAssetCharacterResponseCharacter? Type685 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponseErrorType4? Type686 { get; set; } + public global::Fal.CreateAssetCharacterResponseCharacterType? Type686 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponse6? Type687 { get; set; } + public global::Fal.CreateAssetCharacterResponse2? Type687 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponseError5? Type688 { get; set; } + public global::Fal.CreateAssetCharacterResponseError? Type688 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponseErrorType5? Type689 { get; set; } + public global::Fal.CreateAssetCharacterResponseErrorType? Type689 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponse7? Type690 { get; set; } + public global::Fal.CreateAssetCharacterResponse3? Type690 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponseError6? Type691 { get; set; } + public global::Fal.CreateAssetCharacterResponseError2? Type691 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponseErrorType6? Type692 { get; set; } + public global::Fal.CreateAssetCharacterResponseErrorType2? Type692 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponse8? Type693 { get; set; } + public global::Fal.CreateAssetCharacterResponse4? Type693 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponseError7? Type694 { get; set; } + public global::Fal.CreateAssetCharacterResponseError3? Type694 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponseErrorType7? Type695 { get; set; } + public global::Fal.CreateAssetCharacterResponseErrorType3? Type695 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponse9? Type696 { get; set; } + public global::Fal.CreateAssetCharacterResponse5? Type696 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponseError8? Type697 { get; set; } + public global::Fal.CreateAssetCharacterResponseError4? Type697 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponseErrorType8? Type698 { get; set; } + public global::Fal.CreateAssetCharacterResponseErrorType4? Type698 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponse10? Type699 { get; set; } + public global::Fal.CreateAssetCharacterResponse6? Type699 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponseError9? Type700 { get; set; } + public global::Fal.CreateAssetCharacterResponseError5? Type700 { get; set; } /// /// /// - public global::Fal.CreateAssetCharacterResponseErrorType9? Type701 { get; set; } + public global::Fal.CreateAssetCharacterResponseErrorType5? Type701 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponse? Type702 { get; set; } + public global::Fal.CreateAssetCharacterResponse7? Type702 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponseCharacter? Type703 { get; set; } + public global::Fal.CreateAssetCharacterResponseError6? Type703 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponseCharacterType? Type704 { get; set; } + public global::Fal.CreateAssetCharacterResponseErrorType6? Type704 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponse2? Type705 { get; set; } + public global::Fal.CreateAssetCharacterResponse8? Type705 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponseError? Type706 { get; set; } + public global::Fal.CreateAssetCharacterResponseError7? Type706 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponseErrorType? Type707 { get; set; } + public global::Fal.CreateAssetCharacterResponseErrorType7? Type707 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponse3? Type708 { get; set; } + public global::Fal.CreateAssetCharacterResponse9? Type708 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponseError2? Type709 { get; set; } + public global::Fal.CreateAssetCharacterResponseError8? Type709 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponseErrorType2? Type710 { get; set; } + public global::Fal.CreateAssetCharacterResponseErrorType8? Type710 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponse4? Type711 { get; set; } + public global::Fal.CreateAssetCharacterResponse10? Type711 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponseError3? Type712 { get; set; } + public global::Fal.CreateAssetCharacterResponseError9? Type712 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponseErrorType3? Type713 { get; set; } + public global::Fal.CreateAssetCharacterResponseErrorType9? Type713 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponse5? Type714 { get; set; } + public global::Fal.UpdateAssetCharacterResponse? Type714 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponseError4? Type715 { get; set; } + public global::Fal.UpdateAssetCharacterResponseCharacter? Type715 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponseErrorType4? Type716 { get; set; } + public global::Fal.UpdateAssetCharacterResponseCharacterType? Type716 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponse6? Type717 { get; set; } + public global::Fal.UpdateAssetCharacterResponse2? Type717 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponseError5? Type718 { get; set; } + public global::Fal.UpdateAssetCharacterResponseError? Type718 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponseErrorType5? Type719 { get; set; } + public global::Fal.UpdateAssetCharacterResponseErrorType? Type719 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponse7? Type720 { get; set; } + public global::Fal.UpdateAssetCharacterResponse3? Type720 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponseError6? Type721 { get; set; } + public global::Fal.UpdateAssetCharacterResponseError2? Type721 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponseErrorType6? Type722 { get; set; } + public global::Fal.UpdateAssetCharacterResponseErrorType2? Type722 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponse8? Type723 { get; set; } + public global::Fal.UpdateAssetCharacterResponse4? Type723 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponseError7? Type724 { get; set; } + public global::Fal.UpdateAssetCharacterResponseError3? Type724 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponseErrorType7? Type725 { get; set; } + public global::Fal.UpdateAssetCharacterResponseErrorType3? Type725 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponse9? Type726 { get; set; } + public global::Fal.UpdateAssetCharacterResponse5? Type726 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponseError8? Type727 { get; set; } + public global::Fal.UpdateAssetCharacterResponseError4? Type727 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponseErrorType8? Type728 { get; set; } + public global::Fal.UpdateAssetCharacterResponseErrorType4? Type728 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponse10? Type729 { get; set; } + public global::Fal.UpdateAssetCharacterResponse6? Type729 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponseError9? Type730 { get; set; } + public global::Fal.UpdateAssetCharacterResponseError5? Type730 { get; set; } /// /// /// - public global::Fal.UpdateAssetCharacterResponseErrorType9? Type731 { get; set; } + public global::Fal.UpdateAssetCharacterResponseErrorType5? Type731 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponse? Type732 { get; set; } + public global::Fal.UpdateAssetCharacterResponse7? Type732 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponseCharacter? Type733 { get; set; } + public global::Fal.UpdateAssetCharacterResponseError6? Type733 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponseCharacterType? Type734 { get; set; } + public global::Fal.UpdateAssetCharacterResponseErrorType6? Type734 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponse2? Type735 { get; set; } + public global::Fal.UpdateAssetCharacterResponse8? Type735 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponseError? Type736 { get; set; } + public global::Fal.UpdateAssetCharacterResponseError7? Type736 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponseErrorType? Type737 { get; set; } + public global::Fal.UpdateAssetCharacterResponseErrorType7? Type737 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponse3? Type738 { get; set; } + public global::Fal.UpdateAssetCharacterResponse9? Type738 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponseError2? Type739 { get; set; } + public global::Fal.UpdateAssetCharacterResponseError8? Type739 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponseErrorType2? Type740 { get; set; } + public global::Fal.UpdateAssetCharacterResponseErrorType8? Type740 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponse4? Type741 { get; set; } + public global::Fal.UpdateAssetCharacterResponse10? Type741 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponseError3? Type742 { get; set; } + public global::Fal.UpdateAssetCharacterResponseError9? Type742 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponseErrorType3? Type743 { get; set; } + public global::Fal.UpdateAssetCharacterResponseErrorType9? Type743 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponse5? Type744 { get; set; } + public global::Fal.GetAssetCharacterResponse? Type744 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponseError4? Type745 { get; set; } + public global::Fal.GetAssetCharacterResponseCharacter? Type745 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponseErrorType4? Type746 { get; set; } + public global::Fal.GetAssetCharacterResponseCharacterType? Type746 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponse6? Type747 { get; set; } + public global::Fal.GetAssetCharacterResponse2? Type747 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponseError5? Type748 { get; set; } + public global::Fal.GetAssetCharacterResponseError? Type748 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponseErrorType5? Type749 { get; set; } + public global::Fal.GetAssetCharacterResponseErrorType? Type749 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponse7? Type750 { get; set; } + public global::Fal.GetAssetCharacterResponse3? Type750 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponseError6? Type751 { get; set; } + public global::Fal.GetAssetCharacterResponseError2? Type751 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponseErrorType6? Type752 { get; set; } + public global::Fal.GetAssetCharacterResponseErrorType2? Type752 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponse8? Type753 { get; set; } + public global::Fal.GetAssetCharacterResponse4? Type753 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponseError7? Type754 { get; set; } + public global::Fal.GetAssetCharacterResponseError3? Type754 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponseErrorType7? Type755 { get; set; } + public global::Fal.GetAssetCharacterResponseErrorType3? Type755 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponse9? Type756 { get; set; } + public global::Fal.GetAssetCharacterResponse5? Type756 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponseError8? Type757 { get; set; } + public global::Fal.GetAssetCharacterResponseError4? Type757 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponseErrorType8? Type758 { get; set; } + public global::Fal.GetAssetCharacterResponseErrorType4? Type758 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponse10? Type759 { get; set; } + public global::Fal.GetAssetCharacterResponse6? Type759 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponseError9? Type760 { get; set; } + public global::Fal.GetAssetCharacterResponseError5? Type760 { get; set; } /// /// /// - public global::Fal.GetAssetCharacterResponseErrorType9? Type761 { get; set; } + public global::Fal.GetAssetCharacterResponseErrorType5? Type761 { get; set; } /// /// /// - public global::Fal.DeleteAssetCharacterResponse? Type762 { get; set; } + public global::Fal.GetAssetCharacterResponse7? Type762 { get; set; } /// /// /// - public global::Fal.DeleteAssetCharacterResponseError? Type763 { get; set; } + public global::Fal.GetAssetCharacterResponseError6? Type763 { get; set; } /// /// /// - public global::Fal.DeleteAssetCharacterResponseErrorType? Type764 { get; set; } + public global::Fal.GetAssetCharacterResponseErrorType6? Type764 { get; set; } /// /// /// - public global::Fal.DeleteAssetCharacterResponse2? Type765 { get; set; } + public global::Fal.GetAssetCharacterResponse8? Type765 { get; set; } /// /// /// - public global::Fal.DeleteAssetCharacterResponseError2? Type766 { get; set; } + public global::Fal.GetAssetCharacterResponseError7? Type766 { get; set; } /// /// /// - public global::Fal.DeleteAssetCharacterResponseErrorType2? Type767 { get; set; } + public global::Fal.GetAssetCharacterResponseErrorType7? Type767 { get; set; } /// /// /// - public global::Fal.DeleteAssetCharacterResponse3? Type768 { get; set; } + public global::Fal.GetAssetCharacterResponse9? Type768 { get; set; } /// /// /// - public global::Fal.DeleteAssetCharacterResponseError3? Type769 { get; set; } + public global::Fal.GetAssetCharacterResponseError8? Type769 { get; set; } /// /// /// - public global::Fal.DeleteAssetCharacterResponseErrorType3? Type770 { get; set; } + public global::Fal.GetAssetCharacterResponseErrorType8? Type770 { get; set; } /// /// /// - public global::Fal.DeleteAssetCharacterResponse4? Type771 { get; set; } + public global::Fal.GetAssetCharacterResponse10? Type771 { get; set; } /// /// /// - public global::Fal.DeleteAssetCharacterResponseError4? Type772 { get; set; } + public global::Fal.GetAssetCharacterResponseError9? Type772 { get; set; } /// /// /// - public global::Fal.DeleteAssetCharacterResponseErrorType4? Type773 { get; set; } + public global::Fal.GetAssetCharacterResponseErrorType9? Type773 { get; set; } /// /// /// - public global::Fal.DeleteAssetCharacterResponse5? Type774 { get; set; } + public global::Fal.DeleteAssetCharacterResponse? Type774 { get; set; } /// /// /// - public global::Fal.DeleteAssetCharacterResponseError5? Type775 { get; set; } + public global::Fal.DeleteAssetCharacterResponseError? Type775 { get; set; } /// /// /// - public global::Fal.DeleteAssetCharacterResponseErrorType5? Type776 { get; set; } + public global::Fal.DeleteAssetCharacterResponseErrorType? Type776 { get; set; } /// /// /// - public global::Fal.DeleteAssetCharacterResponse6? Type777 { get; set; } + public global::Fal.DeleteAssetCharacterResponse2? Type777 { get; set; } /// /// /// - public global::Fal.DeleteAssetCharacterResponseError6? Type778 { get; set; } + public global::Fal.DeleteAssetCharacterResponseError2? Type778 { get; set; } /// /// /// - public global::Fal.DeleteAssetCharacterResponseErrorType6? Type779 { get; set; } + public global::Fal.DeleteAssetCharacterResponseErrorType2? Type779 { get; set; } /// /// /// - public global::Fal.DeleteAssetCharacterResponse7? Type780 { get; set; } + public global::Fal.DeleteAssetCharacterResponse3? Type780 { get; set; } /// /// /// - public global::Fal.DeleteAssetCharacterResponseError7? Type781 { get; set; } + public global::Fal.DeleteAssetCharacterResponseError3? Type781 { get; set; } /// /// /// - public global::Fal.DeleteAssetCharacterResponseErrorType7? Type782 { get; set; } + public global::Fal.DeleteAssetCharacterResponseErrorType3? Type782 { get; set; } /// /// /// - public global::Fal.DeleteAssetCharacterResponse8? Type783 { get; set; } + public global::Fal.DeleteAssetCharacterResponse4? Type783 { get; set; } /// /// /// - public global::Fal.DeleteAssetCharacterResponseError8? Type784 { get; set; } + public global::Fal.DeleteAssetCharacterResponseError4? Type784 { get; set; } /// /// /// - public global::Fal.DeleteAssetCharacterResponseErrorType8? Type785 { get; set; } + public global::Fal.DeleteAssetCharacterResponseErrorType4? Type785 { get; set; } /// /// /// - public global::Fal.DeleteAssetCharacterResponse9? Type786 { get; set; } + public global::Fal.DeleteAssetCharacterResponse5? Type786 { get; set; } /// /// /// - public global::Fal.DeleteAssetCharacterResponseError9? Type787 { get; set; } + public global::Fal.DeleteAssetCharacterResponseError5? Type787 { get; set; } /// /// /// - public global::Fal.DeleteAssetCharacterResponseErrorType9? Type788 { get; set; } + public global::Fal.DeleteAssetCharacterResponseErrorType5? Type788 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponse? Type789 { get; set; } + public global::Fal.DeleteAssetCharacterResponse6? Type789 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponseCharacter? Type790 { get; set; } + public global::Fal.DeleteAssetCharacterResponseError6? Type790 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponseCharacterType? Type791 { get; set; } + public global::Fal.DeleteAssetCharacterResponseErrorType6? Type791 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponse2? Type792 { get; set; } + public global::Fal.DeleteAssetCharacterResponse7? Type792 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponseError? Type793 { get; set; } + public global::Fal.DeleteAssetCharacterResponseError7? Type793 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponseErrorType? Type794 { get; set; } + public global::Fal.DeleteAssetCharacterResponseErrorType7? Type794 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponse3? Type795 { get; set; } + public global::Fal.DeleteAssetCharacterResponse8? Type795 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponseError2? Type796 { get; set; } + public global::Fal.DeleteAssetCharacterResponseError8? Type796 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponseErrorType2? Type797 { get; set; } + public global::Fal.DeleteAssetCharacterResponseErrorType8? Type797 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponse4? Type798 { get; set; } + public global::Fal.DeleteAssetCharacterResponse9? Type798 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponseError3? Type799 { get; set; } + public global::Fal.DeleteAssetCharacterResponseError9? Type799 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponseErrorType3? Type800 { get; set; } + public global::Fal.DeleteAssetCharacterResponseErrorType9? Type800 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponse5? Type801 { get; set; } + public global::Fal.FavoriteAssetCharacterResponse? Type801 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponseError4? Type802 { get; set; } + public global::Fal.FavoriteAssetCharacterResponseCharacter? Type802 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponseErrorType4? Type803 { get; set; } + public global::Fal.FavoriteAssetCharacterResponseCharacterType? Type803 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponse6? Type804 { get; set; } + public global::Fal.FavoriteAssetCharacterResponse2? Type804 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponseError5? Type805 { get; set; } + public global::Fal.FavoriteAssetCharacterResponseError? Type805 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponseErrorType5? Type806 { get; set; } + public global::Fal.FavoriteAssetCharacterResponseErrorType? Type806 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponse7? Type807 { get; set; } + public global::Fal.FavoriteAssetCharacterResponse3? Type807 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponseError6? Type808 { get; set; } + public global::Fal.FavoriteAssetCharacterResponseError2? Type808 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponseErrorType6? Type809 { get; set; } + public global::Fal.FavoriteAssetCharacterResponseErrorType2? Type809 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponse8? Type810 { get; set; } + public global::Fal.FavoriteAssetCharacterResponse4? Type810 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponseError7? Type811 { get; set; } + public global::Fal.FavoriteAssetCharacterResponseError3? Type811 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponseErrorType7? Type812 { get; set; } + public global::Fal.FavoriteAssetCharacterResponseErrorType3? Type812 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponse9? Type813 { get; set; } + public global::Fal.FavoriteAssetCharacterResponse5? Type813 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponseError8? Type814 { get; set; } + public global::Fal.FavoriteAssetCharacterResponseError4? Type814 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponseErrorType8? Type815 { get; set; } + public global::Fal.FavoriteAssetCharacterResponseErrorType4? Type815 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponse10? Type816 { get; set; } + public global::Fal.FavoriteAssetCharacterResponse6? Type816 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponseError9? Type817 { get; set; } + public global::Fal.FavoriteAssetCharacterResponseError5? Type817 { get; set; } /// /// /// - public global::Fal.FavoriteAssetCharacterResponseErrorType9? Type818 { get; set; } + public global::Fal.FavoriteAssetCharacterResponseErrorType5? Type818 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponse? Type819 { get; set; } + public global::Fal.FavoriteAssetCharacterResponse7? Type819 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponseCharacter? Type820 { get; set; } + public global::Fal.FavoriteAssetCharacterResponseError6? Type820 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponseCharacterType? Type821 { get; set; } + public global::Fal.FavoriteAssetCharacterResponseErrorType6? Type821 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponse2? Type822 { get; set; } + public global::Fal.FavoriteAssetCharacterResponse8? Type822 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponseError? Type823 { get; set; } + public global::Fal.FavoriteAssetCharacterResponseError7? Type823 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponseErrorType? Type824 { get; set; } + public global::Fal.FavoriteAssetCharacterResponseErrorType7? Type824 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponse3? Type825 { get; set; } + public global::Fal.FavoriteAssetCharacterResponse9? Type825 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponseError2? Type826 { get; set; } + public global::Fal.FavoriteAssetCharacterResponseError8? Type826 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponseErrorType2? Type827 { get; set; } + public global::Fal.FavoriteAssetCharacterResponseErrorType8? Type827 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponse4? Type828 { get; set; } + public global::Fal.FavoriteAssetCharacterResponse10? Type828 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponseError3? Type829 { get; set; } + public global::Fal.FavoriteAssetCharacterResponseError9? Type829 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponseErrorType3? Type830 { get; set; } + public global::Fal.FavoriteAssetCharacterResponseErrorType9? Type830 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponse5? Type831 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponse? Type831 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponseError4? Type832 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponseCharacter? Type832 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponseErrorType4? Type833 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponseCharacterType? Type833 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponse6? Type834 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponse2? Type834 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponseError5? Type835 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponseError? Type835 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponseErrorType5? Type836 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponseErrorType? Type836 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponse7? Type837 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponse3? Type837 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponseError6? Type838 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponseError2? Type838 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponseErrorType6? Type839 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponseErrorType2? Type839 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponse8? Type840 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponse4? Type840 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponseError7? Type841 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponseError3? Type841 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponseErrorType7? Type842 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponseErrorType3? Type842 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponse9? Type843 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponse5? Type843 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponseError8? Type844 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponseError4? Type844 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponseErrorType8? Type845 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponseErrorType4? Type845 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponse10? Type846 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponse6? Type846 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponseError9? Type847 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponseError5? Type847 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetCharacterResponseErrorType9? Type848 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponseErrorType5? Type848 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponse? Type849 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponse7? Type849 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type850 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponseError6? Type850 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponseTag? Type851 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponseErrorType6? Type851 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponse2? Type852 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponse8? Type852 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponseError? Type853 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponseError7? Type853 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponseErrorType? Type854 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponseErrorType7? Type854 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponse3? Type855 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponse9? Type855 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponseError2? Type856 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponseError8? Type856 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponseErrorType2? Type857 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponseErrorType8? Type857 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponse4? Type858 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponse10? Type858 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponseError3? Type859 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponseError9? Type859 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponseErrorType3? Type860 { get; set; } + public global::Fal.UnfavoriteAssetCharacterResponseErrorType9? Type860 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponse5? Type861 { get; set; } + public global::Fal.ListAssetTagsResponse? Type861 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponseError4? Type862 { get; set; } + public global::System.Collections.Generic.IList? Type862 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponseErrorType4? Type863 { get; set; } + public global::Fal.ListAssetTagsResponseTag? Type863 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponse6? Type864 { get; set; } + public global::Fal.ListAssetTagsResponse2? Type864 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponseError5? Type865 { get; set; } + public global::Fal.ListAssetTagsResponseError? Type865 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponseErrorType5? Type866 { get; set; } + public global::Fal.ListAssetTagsResponseErrorType? Type866 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponse7? Type867 { get; set; } + public global::Fal.ListAssetTagsResponse3? Type867 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponseError6? Type868 { get; set; } + public global::Fal.ListAssetTagsResponseError2? Type868 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponseErrorType6? Type869 { get; set; } + public global::Fal.ListAssetTagsResponseErrorType2? Type869 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponse8? Type870 { get; set; } + public global::Fal.ListAssetTagsResponse4? Type870 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponseError7? Type871 { get; set; } + public global::Fal.ListAssetTagsResponseError3? Type871 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponseErrorType7? Type872 { get; set; } + public global::Fal.ListAssetTagsResponseErrorType3? Type872 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponse9? Type873 { get; set; } + public global::Fal.ListAssetTagsResponse5? Type873 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponseError8? Type874 { get; set; } + public global::Fal.ListAssetTagsResponseError4? Type874 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponseErrorType8? Type875 { get; set; } + public global::Fal.ListAssetTagsResponseErrorType4? Type875 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponse10? Type876 { get; set; } + public global::Fal.ListAssetTagsResponse6? Type876 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponseError9? Type877 { get; set; } + public global::Fal.ListAssetTagsResponseError5? Type877 { get; set; } /// /// /// - public global::Fal.ListAssetTagsResponseErrorType9? Type878 { get; set; } + public global::Fal.ListAssetTagsResponseErrorType5? Type878 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponse? Type879 { get; set; } + public global::Fal.ListAssetTagsResponse7? Type879 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponseTag? Type880 { get; set; } + public global::Fal.ListAssetTagsResponseError6? Type880 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponse2? Type881 { get; set; } + public global::Fal.ListAssetTagsResponseErrorType6? Type881 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponseError? Type882 { get; set; } + public global::Fal.ListAssetTagsResponse8? Type882 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponseErrorType? Type883 { get; set; } + public global::Fal.ListAssetTagsResponseError7? Type883 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponse3? Type884 { get; set; } + public global::Fal.ListAssetTagsResponseErrorType7? Type884 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponseError2? Type885 { get; set; } + public global::Fal.ListAssetTagsResponse9? Type885 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponseErrorType2? Type886 { get; set; } + public global::Fal.ListAssetTagsResponseError8? Type886 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponse4? Type887 { get; set; } + public global::Fal.ListAssetTagsResponseErrorType8? Type887 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponseError3? Type888 { get; set; } + public global::Fal.ListAssetTagsResponse10? Type888 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponseErrorType3? Type889 { get; set; } + public global::Fal.ListAssetTagsResponseError9? Type889 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponse5? Type890 { get; set; } + public global::Fal.ListAssetTagsResponseErrorType9? Type890 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponseError4? Type891 { get; set; } + public global::Fal.CreateAssetTagResponse? Type891 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponseErrorType4? Type892 { get; set; } + public global::Fal.CreateAssetTagResponseTag? Type892 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponse6? Type893 { get; set; } + public global::Fal.CreateAssetTagResponse2? Type893 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponseError5? Type894 { get; set; } + public global::Fal.CreateAssetTagResponseError? Type894 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponseErrorType5? Type895 { get; set; } + public global::Fal.CreateAssetTagResponseErrorType? Type895 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponse7? Type896 { get; set; } + public global::Fal.CreateAssetTagResponse3? Type896 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponseError6? Type897 { get; set; } + public global::Fal.CreateAssetTagResponseError2? Type897 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponseErrorType6? Type898 { get; set; } + public global::Fal.CreateAssetTagResponseErrorType2? Type898 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponse8? Type899 { get; set; } + public global::Fal.CreateAssetTagResponse4? Type899 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponseError7? Type900 { get; set; } + public global::Fal.CreateAssetTagResponseError3? Type900 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponseErrorType7? Type901 { get; set; } + public global::Fal.CreateAssetTagResponseErrorType3? Type901 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponse9? Type902 { get; set; } + public global::Fal.CreateAssetTagResponse5? Type902 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponseError8? Type903 { get; set; } + public global::Fal.CreateAssetTagResponseError4? Type903 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponseErrorType8? Type904 { get; set; } + public global::Fal.CreateAssetTagResponseErrorType4? Type904 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponse10? Type905 { get; set; } + public global::Fal.CreateAssetTagResponse6? Type905 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponseError9? Type906 { get; set; } + public global::Fal.CreateAssetTagResponseError5? Type906 { get; set; } /// /// /// - public global::Fal.CreateAssetTagResponseErrorType9? Type907 { get; set; } + public global::Fal.CreateAssetTagResponseErrorType5? Type907 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponse? Type908 { get; set; } + public global::Fal.CreateAssetTagResponse7? Type908 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type909 { get; set; } + public global::Fal.CreateAssetTagResponseError6? Type909 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponseTag? Type910 { get; set; } + public global::Fal.CreateAssetTagResponseErrorType6? Type910 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponse2? Type911 { get; set; } + public global::Fal.CreateAssetTagResponse8? Type911 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponseError? Type912 { get; set; } + public global::Fal.CreateAssetTagResponseError7? Type912 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponseErrorType? Type913 { get; set; } + public global::Fal.CreateAssetTagResponseErrorType7? Type913 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponse3? Type914 { get; set; } + public global::Fal.CreateAssetTagResponse9? Type914 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponseError2? Type915 { get; set; } + public global::Fal.CreateAssetTagResponseError8? Type915 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponseErrorType2? Type916 { get; set; } + public global::Fal.CreateAssetTagResponseErrorType8? Type916 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponse4? Type917 { get; set; } + public global::Fal.CreateAssetTagResponse10? Type917 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponseError3? Type918 { get; set; } + public global::Fal.CreateAssetTagResponseError9? Type918 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponseErrorType3? Type919 { get; set; } + public global::Fal.CreateAssetTagResponseErrorType9? Type919 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponse5? Type920 { get; set; } + public global::Fal.SetAssetTagsForAssetResponse? Type920 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponseError4? Type921 { get; set; } + public global::System.Collections.Generic.IList? Type921 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponseErrorType4? Type922 { get; set; } + public global::Fal.SetAssetTagsForAssetResponseTag? Type922 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponse6? Type923 { get; set; } + public global::Fal.SetAssetTagsForAssetResponse2? Type923 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponseError5? Type924 { get; set; } + public global::Fal.SetAssetTagsForAssetResponseError? Type924 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponseErrorType5? Type925 { get; set; } + public global::Fal.SetAssetTagsForAssetResponseErrorType? Type925 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponse7? Type926 { get; set; } + public global::Fal.SetAssetTagsForAssetResponse3? Type926 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponseError6? Type927 { get; set; } + public global::Fal.SetAssetTagsForAssetResponseError2? Type927 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponseErrorType6? Type928 { get; set; } + public global::Fal.SetAssetTagsForAssetResponseErrorType2? Type928 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponse8? Type929 { get; set; } + public global::Fal.SetAssetTagsForAssetResponse4? Type929 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponseError7? Type930 { get; set; } + public global::Fal.SetAssetTagsForAssetResponseError3? Type930 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponseErrorType7? Type931 { get; set; } + public global::Fal.SetAssetTagsForAssetResponseErrorType3? Type931 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponse9? Type932 { get; set; } + public global::Fal.SetAssetTagsForAssetResponse5? Type932 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponseError8? Type933 { get; set; } + public global::Fal.SetAssetTagsForAssetResponseError4? Type933 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponseErrorType8? Type934 { get; set; } + public global::Fal.SetAssetTagsForAssetResponseErrorType4? Type934 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponse10? Type935 { get; set; } + public global::Fal.SetAssetTagsForAssetResponse6? Type935 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponseError9? Type936 { get; set; } + public global::Fal.SetAssetTagsForAssetResponseError5? Type936 { get; set; } /// /// /// - public global::Fal.SetAssetTagsForAssetResponseErrorType9? Type937 { get; set; } + public global::Fal.SetAssetTagsForAssetResponseErrorType5? Type937 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponse? Type938 { get; set; } + public global::Fal.SetAssetTagsForAssetResponse7? Type938 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponseTag? Type939 { get; set; } + public global::Fal.SetAssetTagsForAssetResponseError6? Type939 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponse2? Type940 { get; set; } + public global::Fal.SetAssetTagsForAssetResponseErrorType6? Type940 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponseError? Type941 { get; set; } + public global::Fal.SetAssetTagsForAssetResponse8? Type941 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponseErrorType? Type942 { get; set; } + public global::Fal.SetAssetTagsForAssetResponseError7? Type942 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponse3? Type943 { get; set; } + public global::Fal.SetAssetTagsForAssetResponseErrorType7? Type943 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponseError2? Type944 { get; set; } + public global::Fal.SetAssetTagsForAssetResponse9? Type944 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponseErrorType2? Type945 { get; set; } + public global::Fal.SetAssetTagsForAssetResponseError8? Type945 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponse4? Type946 { get; set; } + public global::Fal.SetAssetTagsForAssetResponseErrorType8? Type946 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponseError3? Type947 { get; set; } + public global::Fal.SetAssetTagsForAssetResponse10? Type947 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponseErrorType3? Type948 { get; set; } + public global::Fal.SetAssetTagsForAssetResponseError9? Type948 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponse5? Type949 { get; set; } + public global::Fal.SetAssetTagsForAssetResponseErrorType9? Type949 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponseError4? Type950 { get; set; } + public global::Fal.UpdateAssetTagResponse? Type950 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponseErrorType4? Type951 { get; set; } + public global::Fal.UpdateAssetTagResponseTag? Type951 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponse6? Type952 { get; set; } + public global::Fal.UpdateAssetTagResponse2? Type952 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponseError5? Type953 { get; set; } + public global::Fal.UpdateAssetTagResponseError? Type953 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponseErrorType5? Type954 { get; set; } + public global::Fal.UpdateAssetTagResponseErrorType? Type954 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponse7? Type955 { get; set; } + public global::Fal.UpdateAssetTagResponse3? Type955 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponseError6? Type956 { get; set; } + public global::Fal.UpdateAssetTagResponseError2? Type956 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponseErrorType6? Type957 { get; set; } + public global::Fal.UpdateAssetTagResponseErrorType2? Type957 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponse8? Type958 { get; set; } + public global::Fal.UpdateAssetTagResponse4? Type958 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponseError7? Type959 { get; set; } + public global::Fal.UpdateAssetTagResponseError3? Type959 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponseErrorType7? Type960 { get; set; } + public global::Fal.UpdateAssetTagResponseErrorType3? Type960 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponse9? Type961 { get; set; } + public global::Fal.UpdateAssetTagResponse5? Type961 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponseError8? Type962 { get; set; } + public global::Fal.UpdateAssetTagResponseError4? Type962 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponseErrorType8? Type963 { get; set; } + public global::Fal.UpdateAssetTagResponseErrorType4? Type963 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponse10? Type964 { get; set; } + public global::Fal.UpdateAssetTagResponse6? Type964 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponseError9? Type965 { get; set; } + public global::Fal.UpdateAssetTagResponseError5? Type965 { get; set; } /// /// /// - public global::Fal.UpdateAssetTagResponseErrorType9? Type966 { get; set; } + public global::Fal.UpdateAssetTagResponseErrorType5? Type966 { get; set; } /// /// /// - public global::Fal.DeleteAssetTagResponse? Type967 { get; set; } + public global::Fal.UpdateAssetTagResponse7? Type967 { get; set; } /// /// /// - public global::Fal.DeleteAssetTagResponseError? Type968 { get; set; } + public global::Fal.UpdateAssetTagResponseError6? Type968 { get; set; } /// /// /// - public global::Fal.DeleteAssetTagResponseErrorType? Type969 { get; set; } + public global::Fal.UpdateAssetTagResponseErrorType6? Type969 { get; set; } /// /// /// - public global::Fal.DeleteAssetTagResponse2? Type970 { get; set; } + public global::Fal.UpdateAssetTagResponse8? Type970 { get; set; } /// /// /// - public global::Fal.DeleteAssetTagResponseError2? Type971 { get; set; } + public global::Fal.UpdateAssetTagResponseError7? Type971 { get; set; } /// /// /// - public global::Fal.DeleteAssetTagResponseErrorType2? Type972 { get; set; } + public global::Fal.UpdateAssetTagResponseErrorType7? Type972 { get; set; } /// /// /// - public global::Fal.DeleteAssetTagResponse3? Type973 { get; set; } + public global::Fal.UpdateAssetTagResponse9? Type973 { get; set; } /// /// /// - public global::Fal.DeleteAssetTagResponseError3? Type974 { get; set; } + public global::Fal.UpdateAssetTagResponseError8? Type974 { get; set; } /// /// /// - public global::Fal.DeleteAssetTagResponseErrorType3? Type975 { get; set; } + public global::Fal.UpdateAssetTagResponseErrorType8? Type975 { get; set; } /// /// /// - public global::Fal.DeleteAssetTagResponse4? Type976 { get; set; } + public global::Fal.UpdateAssetTagResponse10? Type976 { get; set; } /// /// /// - public global::Fal.DeleteAssetTagResponseError4? Type977 { get; set; } + public global::Fal.UpdateAssetTagResponseError9? Type977 { get; set; } /// /// /// - public global::Fal.DeleteAssetTagResponseErrorType4? Type978 { get; set; } + public global::Fal.UpdateAssetTagResponseErrorType9? Type978 { get; set; } /// /// /// - public global::Fal.DeleteAssetTagResponse5? Type979 { get; set; } + public global::Fal.DeleteAssetTagResponse? Type979 { get; set; } /// /// /// - public global::Fal.DeleteAssetTagResponseError5? Type980 { get; set; } + public global::Fal.DeleteAssetTagResponseError? Type980 { get; set; } /// /// /// - public global::Fal.DeleteAssetTagResponseErrorType5? Type981 { get; set; } + public global::Fal.DeleteAssetTagResponseErrorType? Type981 { get; set; } /// /// /// - public global::Fal.DeleteAssetTagResponse6? Type982 { get; set; } + public global::Fal.DeleteAssetTagResponse2? Type982 { get; set; } /// /// /// - public global::Fal.DeleteAssetTagResponseError6? Type983 { get; set; } + public global::Fal.DeleteAssetTagResponseError2? Type983 { get; set; } /// /// /// - public global::Fal.DeleteAssetTagResponseErrorType6? Type984 { get; set; } + public global::Fal.DeleteAssetTagResponseErrorType2? Type984 { get; set; } /// /// /// - public global::Fal.DeleteAssetTagResponse7? Type985 { get; set; } + public global::Fal.DeleteAssetTagResponse3? Type985 { get; set; } /// /// /// - public global::Fal.DeleteAssetTagResponseError7? Type986 { get; set; } + public global::Fal.DeleteAssetTagResponseError3? Type986 { get; set; } /// /// /// - public global::Fal.DeleteAssetTagResponseErrorType7? Type987 { get; set; } + public global::Fal.DeleteAssetTagResponseErrorType3? Type987 { get; set; } /// /// /// - public global::Fal.DeleteAssetTagResponse8? Type988 { get; set; } + public global::Fal.DeleteAssetTagResponse4? Type988 { get; set; } /// /// /// - public global::Fal.DeleteAssetTagResponseError8? Type989 { get; set; } + public global::Fal.DeleteAssetTagResponseError4? Type989 { get; set; } /// /// /// - public global::Fal.DeleteAssetTagResponseErrorType8? Type990 { get; set; } + public global::Fal.DeleteAssetTagResponseErrorType4? Type990 { get; set; } /// /// /// - public global::Fal.DeleteAssetTagResponse9? Type991 { get; set; } + public global::Fal.DeleteAssetTagResponse5? Type991 { get; set; } /// /// /// - public global::Fal.DeleteAssetTagResponseError9? Type992 { get; set; } + public global::Fal.DeleteAssetTagResponseError5? Type992 { get; set; } /// /// /// - public global::Fal.DeleteAssetTagResponseErrorType9? Type993 { get; set; } + public global::Fal.DeleteAssetTagResponseErrorType5? Type993 { get; set; } /// /// /// - public global::Fal.UploadAssetResponse? Type994 { get; set; } + public global::Fal.DeleteAssetTagResponse6? Type994 { get; set; } /// /// /// - public global::Fal.UploadAssetResponseAsset? Type995 { get; set; } + public global::Fal.DeleteAssetTagResponseError6? Type995 { get; set; } /// /// /// - public global::Fal.UploadAssetResponseAssetType? Type996 { get; set; } + public global::Fal.DeleteAssetTagResponseErrorType6? Type996 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type997 { get; set; } + public global::Fal.DeleteAssetTagResponse7? Type997 { get; set; } /// /// /// - public global::Fal.UploadAssetResponseAssetTag? Type998 { get; set; } + public global::Fal.DeleteAssetTagResponseError7? Type998 { get; set; } /// /// /// - public global::Fal.UploadAssetResponse2? Type999 { get; set; } + public global::Fal.DeleteAssetTagResponseErrorType7? Type999 { get; set; } /// /// /// - public global::Fal.UploadAssetResponseError? Type1000 { get; set; } + public global::Fal.DeleteAssetTagResponse8? Type1000 { get; set; } /// /// /// - public global::Fal.UploadAssetResponseErrorType? Type1001 { get; set; } + public global::Fal.DeleteAssetTagResponseError8? Type1001 { get; set; } /// /// /// - public global::Fal.UploadAssetResponse3? Type1002 { get; set; } + public global::Fal.DeleteAssetTagResponseErrorType8? Type1002 { get; set; } /// /// /// - public global::Fal.UploadAssetResponseError2? Type1003 { get; set; } + public global::Fal.DeleteAssetTagResponse9? Type1003 { get; set; } /// /// /// - public global::Fal.UploadAssetResponseErrorType2? Type1004 { get; set; } + public global::Fal.DeleteAssetTagResponseError9? Type1004 { get; set; } /// /// /// - public global::Fal.UploadAssetResponse4? Type1005 { get; set; } + public global::Fal.DeleteAssetTagResponseErrorType9? Type1005 { get; set; } /// /// /// - public global::Fal.UploadAssetResponseError3? Type1006 { get; set; } + public global::Fal.UploadAssetResponse? Type1006 { get; set; } /// /// /// - public global::Fal.UploadAssetResponseErrorType3? Type1007 { get; set; } + public global::Fal.UploadAssetResponseAsset? Type1007 { get; set; } /// /// /// - public global::Fal.UploadAssetResponse5? Type1008 { get; set; } + public global::Fal.UploadAssetResponseAssetType? Type1008 { get; set; } /// /// /// - public global::Fal.UploadAssetResponseError4? Type1009 { get; set; } + public global::System.Collections.Generic.IList? Type1009 { get; set; } /// /// /// - public global::Fal.UploadAssetResponseErrorType4? Type1010 { get; set; } + public global::Fal.UploadAssetResponseAssetTag? Type1010 { get; set; } /// /// /// - public global::Fal.UploadAssetResponse6? Type1011 { get; set; } + public global::Fal.UploadAssetResponse2? Type1011 { get; set; } /// /// /// - public global::Fal.UploadAssetResponseError5? Type1012 { get; set; } + public global::Fal.UploadAssetResponseError? Type1012 { get; set; } /// /// /// - public global::Fal.UploadAssetResponseErrorType5? Type1013 { get; set; } + public global::Fal.UploadAssetResponseErrorType? Type1013 { get; set; } /// /// /// - public global::Fal.UploadAssetResponse7? Type1014 { get; set; } + public global::Fal.UploadAssetResponse3? Type1014 { get; set; } /// /// /// - public global::Fal.UploadAssetResponseError6? Type1015 { get; set; } + public global::Fal.UploadAssetResponseError2? Type1015 { get; set; } /// /// /// - public global::Fal.UploadAssetResponseErrorType6? Type1016 { get; set; } + public global::Fal.UploadAssetResponseErrorType2? Type1016 { get; set; } /// /// /// - public global::Fal.UploadAssetResponse8? Type1017 { get; set; } + public global::Fal.UploadAssetResponse4? Type1017 { get; set; } /// /// /// - public global::Fal.UploadAssetResponseError7? Type1018 { get; set; } + public global::Fal.UploadAssetResponseError3? Type1018 { get; set; } /// /// /// - public global::Fal.UploadAssetResponseErrorType7? Type1019 { get; set; } + public global::Fal.UploadAssetResponseErrorType3? Type1019 { get; set; } /// /// /// - public global::Fal.UploadAssetResponse9? Type1020 { get; set; } + public global::Fal.UploadAssetResponse5? Type1020 { get; set; } /// /// /// - public global::Fal.UploadAssetResponseError8? Type1021 { get; set; } + public global::Fal.UploadAssetResponseError4? Type1021 { get; set; } /// /// /// - public global::Fal.UploadAssetResponseErrorType8? Type1022 { get; set; } + public global::Fal.UploadAssetResponseErrorType4? Type1022 { get; set; } /// /// /// - public global::Fal.UploadAssetResponse10? Type1023 { get; set; } + public global::Fal.UploadAssetResponse6? Type1023 { get; set; } /// /// /// - public global::Fal.UploadAssetResponseError9? Type1024 { get; set; } + public global::Fal.UploadAssetResponseError5? Type1024 { get; set; } /// /// /// - public global::Fal.UploadAssetResponseErrorType9? Type1025 { get; set; } + public global::Fal.UploadAssetResponseErrorType5? Type1025 { get; set; } /// /// /// - public global::Fal.GetAssetResponse? Type1026 { get; set; } + public global::Fal.UploadAssetResponse7? Type1026 { get; set; } /// /// /// - public global::Fal.GetAssetResponseAsset? Type1027 { get; set; } + public global::Fal.UploadAssetResponseError6? Type1027 { get; set; } /// /// /// - public global::Fal.GetAssetResponseAssetType? Type1028 { get; set; } + public global::Fal.UploadAssetResponseErrorType6? Type1028 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type1029 { get; set; } + public global::Fal.UploadAssetResponse8? Type1029 { get; set; } /// /// /// - public global::Fal.GetAssetResponseAssetTag? Type1030 { get; set; } + public global::Fal.UploadAssetResponseError7? Type1030 { get; set; } /// /// /// - public global::Fal.GetAssetResponse2? Type1031 { get; set; } + public global::Fal.UploadAssetResponseErrorType7? Type1031 { get; set; } /// /// /// - public global::Fal.GetAssetResponseError? Type1032 { get; set; } + public global::Fal.UploadAssetResponse9? Type1032 { get; set; } /// /// /// - public global::Fal.GetAssetResponseErrorType? Type1033 { get; set; } + public global::Fal.UploadAssetResponseError8? Type1033 { get; set; } /// /// /// - public global::Fal.GetAssetResponse3? Type1034 { get; set; } + public global::Fal.UploadAssetResponseErrorType8? Type1034 { get; set; } /// /// /// - public global::Fal.GetAssetResponseError2? Type1035 { get; set; } + public global::Fal.UploadAssetResponse10? Type1035 { get; set; } /// /// /// - public global::Fal.GetAssetResponseErrorType2? Type1036 { get; set; } + public global::Fal.UploadAssetResponseError9? Type1036 { get; set; } /// /// /// - public global::Fal.GetAssetResponse4? Type1037 { get; set; } + public global::Fal.UploadAssetResponseErrorType9? Type1037 { get; set; } /// /// /// - public global::Fal.GetAssetResponseError3? Type1038 { get; set; } + public global::Fal.GetAssetResponse? Type1038 { get; set; } /// /// /// - public global::Fal.GetAssetResponseErrorType3? Type1039 { get; set; } + public global::Fal.GetAssetResponseAsset? Type1039 { get; set; } /// /// /// - public global::Fal.GetAssetResponse5? Type1040 { get; set; } + public global::Fal.GetAssetResponseAssetType? Type1040 { get; set; } /// /// /// - public global::Fal.GetAssetResponseError4? Type1041 { get; set; } + public global::System.Collections.Generic.IList? Type1041 { get; set; } /// /// /// - public global::Fal.GetAssetResponseErrorType4? Type1042 { get; set; } + public global::Fal.GetAssetResponseAssetTag? Type1042 { get; set; } /// /// /// - public global::Fal.GetAssetResponse6? Type1043 { get; set; } + public global::Fal.GetAssetResponse2? Type1043 { get; set; } /// /// /// - public global::Fal.GetAssetResponseError5? Type1044 { get; set; } + public global::Fal.GetAssetResponseError? Type1044 { get; set; } /// /// /// - public global::Fal.GetAssetResponseErrorType5? Type1045 { get; set; } + public global::Fal.GetAssetResponseErrorType? Type1045 { get; set; } /// /// /// - public global::Fal.GetAssetResponse7? Type1046 { get; set; } + public global::Fal.GetAssetResponse3? Type1046 { get; set; } /// /// /// - public global::Fal.GetAssetResponseError6? Type1047 { get; set; } + public global::Fal.GetAssetResponseError2? Type1047 { get; set; } /// /// /// - public global::Fal.GetAssetResponseErrorType6? Type1048 { get; set; } + public global::Fal.GetAssetResponseErrorType2? Type1048 { get; set; } /// /// /// - public global::Fal.GetAssetResponse8? Type1049 { get; set; } + public global::Fal.GetAssetResponse4? Type1049 { get; set; } /// /// /// - public global::Fal.GetAssetResponseError7? Type1050 { get; set; } + public global::Fal.GetAssetResponseError3? Type1050 { get; set; } /// /// /// - public global::Fal.GetAssetResponseErrorType7? Type1051 { get; set; } + public global::Fal.GetAssetResponseErrorType3? Type1051 { get; set; } /// /// /// - public global::Fal.GetAssetResponse9? Type1052 { get; set; } + public global::Fal.GetAssetResponse5? Type1052 { get; set; } /// /// /// - public global::Fal.GetAssetResponseError8? Type1053 { get; set; } + public global::Fal.GetAssetResponseError4? Type1053 { get; set; } /// /// /// - public global::Fal.GetAssetResponseErrorType8? Type1054 { get; set; } + public global::Fal.GetAssetResponseErrorType4? Type1054 { get; set; } /// /// /// - public global::Fal.GetAssetResponse10? Type1055 { get; set; } + public global::Fal.GetAssetResponse6? Type1055 { get; set; } /// /// /// - public global::Fal.GetAssetResponseError9? Type1056 { get; set; } + public global::Fal.GetAssetResponseError5? Type1056 { get; set; } /// /// /// - public global::Fal.GetAssetResponseErrorType9? Type1057 { get; set; } + public global::Fal.GetAssetResponseErrorType5? Type1057 { get; set; } /// /// /// - public global::Fal.FavoriteAssetResponse? Type1058 { get; set; } + public global::Fal.GetAssetResponse7? Type1058 { get; set; } /// /// /// - public global::Fal.FavoriteAssetResponse2? Type1059 { get; set; } + public global::Fal.GetAssetResponseError6? Type1059 { get; set; } /// /// /// - public global::Fal.FavoriteAssetResponseError? Type1060 { get; set; } + public global::Fal.GetAssetResponseErrorType6? Type1060 { get; set; } /// /// /// - public global::Fal.FavoriteAssetResponseErrorType? Type1061 { get; set; } + public global::Fal.GetAssetResponse8? Type1061 { get; set; } /// /// /// - public global::Fal.FavoriteAssetResponse3? Type1062 { get; set; } + public global::Fal.GetAssetResponseError7? Type1062 { get; set; } /// /// /// - public global::Fal.FavoriteAssetResponseError2? Type1063 { get; set; } + public global::Fal.GetAssetResponseErrorType7? Type1063 { get; set; } /// /// /// - public global::Fal.FavoriteAssetResponseErrorType2? Type1064 { get; set; } + public global::Fal.GetAssetResponse9? Type1064 { get; set; } /// /// /// - public global::Fal.FavoriteAssetResponse4? Type1065 { get; set; } + public global::Fal.GetAssetResponseError8? Type1065 { get; set; } /// /// /// - public global::Fal.FavoriteAssetResponseError3? Type1066 { get; set; } + public global::Fal.GetAssetResponseErrorType8? Type1066 { get; set; } /// /// /// - public global::Fal.FavoriteAssetResponseErrorType3? Type1067 { get; set; } + public global::Fal.GetAssetResponse10? Type1067 { get; set; } /// /// /// - public global::Fal.FavoriteAssetResponse5? Type1068 { get; set; } + public global::Fal.GetAssetResponseError9? Type1068 { get; set; } /// /// /// - public global::Fal.FavoriteAssetResponseError4? Type1069 { get; set; } + public global::Fal.GetAssetResponseErrorType9? Type1069 { get; set; } /// /// /// - public global::Fal.FavoriteAssetResponseErrorType4? Type1070 { get; set; } + public global::Fal.FavoriteAssetResponse? Type1070 { get; set; } /// /// /// - public global::Fal.FavoriteAssetResponse6? Type1071 { get; set; } + public global::Fal.FavoriteAssetResponse2? Type1071 { get; set; } /// /// /// - public global::Fal.FavoriteAssetResponseError5? Type1072 { get; set; } + public global::Fal.FavoriteAssetResponseError? Type1072 { get; set; } /// /// /// - public global::Fal.FavoriteAssetResponseErrorType5? Type1073 { get; set; } + public global::Fal.FavoriteAssetResponseErrorType? Type1073 { get; set; } /// /// /// - public global::Fal.FavoriteAssetResponse7? Type1074 { get; set; } + public global::Fal.FavoriteAssetResponse3? Type1074 { get; set; } /// /// /// - public global::Fal.FavoriteAssetResponseError6? Type1075 { get; set; } + public global::Fal.FavoriteAssetResponseError2? Type1075 { get; set; } /// /// /// - public global::Fal.FavoriteAssetResponseErrorType6? Type1076 { get; set; } + public global::Fal.FavoriteAssetResponseErrorType2? Type1076 { get; set; } /// /// /// - public global::Fal.FavoriteAssetResponse8? Type1077 { get; set; } + public global::Fal.FavoriteAssetResponse4? Type1077 { get; set; } /// /// /// - public global::Fal.FavoriteAssetResponseError7? Type1078 { get; set; } + public global::Fal.FavoriteAssetResponseError3? Type1078 { get; set; } /// /// /// - public global::Fal.FavoriteAssetResponseErrorType7? Type1079 { get; set; } + public global::Fal.FavoriteAssetResponseErrorType3? Type1079 { get; set; } /// /// /// - public global::Fal.FavoriteAssetResponse9? Type1080 { get; set; } + public global::Fal.FavoriteAssetResponse5? Type1080 { get; set; } /// /// /// - public global::Fal.FavoriteAssetResponseError8? Type1081 { get; set; } + public global::Fal.FavoriteAssetResponseError4? Type1081 { get; set; } /// /// /// - public global::Fal.FavoriteAssetResponseErrorType8? Type1082 { get; set; } + public global::Fal.FavoriteAssetResponseErrorType4? Type1082 { get; set; } /// /// /// - public global::Fal.FavoriteAssetResponse10? Type1083 { get; set; } + public global::Fal.FavoriteAssetResponse6? Type1083 { get; set; } /// /// /// - public global::Fal.FavoriteAssetResponseError9? Type1084 { get; set; } + public global::Fal.FavoriteAssetResponseError5? Type1084 { get; set; } /// /// /// - public global::Fal.FavoriteAssetResponseErrorType9? Type1085 { get; set; } + public global::Fal.FavoriteAssetResponseErrorType5? Type1085 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetResponse? Type1086 { get; set; } + public global::Fal.FavoriteAssetResponse7? Type1086 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetResponse2? Type1087 { get; set; } + public global::Fal.FavoriteAssetResponseError6? Type1087 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetResponseError? Type1088 { get; set; } + public global::Fal.FavoriteAssetResponseErrorType6? Type1088 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetResponseErrorType? Type1089 { get; set; } + public global::Fal.FavoriteAssetResponse8? Type1089 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetResponse3? Type1090 { get; set; } + public global::Fal.FavoriteAssetResponseError7? Type1090 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetResponseError2? Type1091 { get; set; } + public global::Fal.FavoriteAssetResponseErrorType7? Type1091 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetResponseErrorType2? Type1092 { get; set; } + public global::Fal.FavoriteAssetResponse9? Type1092 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetResponse4? Type1093 { get; set; } + public global::Fal.FavoriteAssetResponseError8? Type1093 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetResponseError3? Type1094 { get; set; } + public global::Fal.FavoriteAssetResponseErrorType8? Type1094 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetResponseErrorType3? Type1095 { get; set; } + public global::Fal.FavoriteAssetResponse10? Type1095 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetResponse5? Type1096 { get; set; } + public global::Fal.FavoriteAssetResponseError9? Type1096 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetResponseError4? Type1097 { get; set; } + public global::Fal.FavoriteAssetResponseErrorType9? Type1097 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetResponseErrorType4? Type1098 { get; set; } + public global::Fal.UnfavoriteAssetResponse? Type1098 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetResponse6? Type1099 { get; set; } + public global::Fal.UnfavoriteAssetResponse2? Type1099 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetResponseError5? Type1100 { get; set; } + public global::Fal.UnfavoriteAssetResponseError? Type1100 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetResponseErrorType5? Type1101 { get; set; } + public global::Fal.UnfavoriteAssetResponseErrorType? Type1101 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetResponse7? Type1102 { get; set; } + public global::Fal.UnfavoriteAssetResponse3? Type1102 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetResponseError6? Type1103 { get; set; } + public global::Fal.UnfavoriteAssetResponseError2? Type1103 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetResponseErrorType6? Type1104 { get; set; } + public global::Fal.UnfavoriteAssetResponseErrorType2? Type1104 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetResponse8? Type1105 { get; set; } + public global::Fal.UnfavoriteAssetResponse4? Type1105 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetResponseError7? Type1106 { get; set; } + public global::Fal.UnfavoriteAssetResponseError3? Type1106 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetResponseErrorType7? Type1107 { get; set; } + public global::Fal.UnfavoriteAssetResponseErrorType3? Type1107 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetResponse9? Type1108 { get; set; } + public global::Fal.UnfavoriteAssetResponse5? Type1108 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetResponseError8? Type1109 { get; set; } + public global::Fal.UnfavoriteAssetResponseError4? Type1109 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetResponseErrorType8? Type1110 { get; set; } + public global::Fal.UnfavoriteAssetResponseErrorType4? Type1110 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetResponse10? Type1111 { get; set; } + public global::Fal.UnfavoriteAssetResponse6? Type1111 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetResponseError9? Type1112 { get; set; } + public global::Fal.UnfavoriteAssetResponseError5? Type1112 { get; set; } /// /// /// - public global::Fal.UnfavoriteAssetResponseErrorType9? Type1113 { get; set; } + public global::Fal.UnfavoriteAssetResponseErrorType5? Type1113 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponse? Type1114 { get; set; } + public global::Fal.UnfavoriteAssetResponse7? Type1114 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type1115 { get; set; } + public global::Fal.UnfavoriteAssetResponseError6? Type1115 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponseTag? Type1116 { get; set; } + public global::Fal.UnfavoriteAssetResponseErrorType6? Type1116 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponse2? Type1117 { get; set; } + public global::Fal.UnfavoriteAssetResponse8? Type1117 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponseError? Type1118 { get; set; } + public global::Fal.UnfavoriteAssetResponseError7? Type1118 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponseErrorType? Type1119 { get; set; } + public global::Fal.UnfavoriteAssetResponseErrorType7? Type1119 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponse3? Type1120 { get; set; } + public global::Fal.UnfavoriteAssetResponse9? Type1120 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponseError2? Type1121 { get; set; } + public global::Fal.UnfavoriteAssetResponseError8? Type1121 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponseErrorType2? Type1122 { get; set; } + public global::Fal.UnfavoriteAssetResponseErrorType8? Type1122 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponse4? Type1123 { get; set; } + public global::Fal.UnfavoriteAssetResponse10? Type1123 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponseError3? Type1124 { get; set; } + public global::Fal.UnfavoriteAssetResponseError9? Type1124 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponseErrorType3? Type1125 { get; set; } + public global::Fal.UnfavoriteAssetResponseErrorType9? Type1125 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponse5? Type1126 { get; set; } + public global::Fal.ListAssetTagsForAssetResponse? Type1126 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponseError4? Type1127 { get; set; } + public global::System.Collections.Generic.IList? Type1127 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponseErrorType4? Type1128 { get; set; } + public global::Fal.ListAssetTagsForAssetResponseTag? Type1128 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponse6? Type1129 { get; set; } + public global::Fal.ListAssetTagsForAssetResponse2? Type1129 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponseError5? Type1130 { get; set; } + public global::Fal.ListAssetTagsForAssetResponseError? Type1130 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponseErrorType5? Type1131 { get; set; } + public global::Fal.ListAssetTagsForAssetResponseErrorType? Type1131 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponse7? Type1132 { get; set; } + public global::Fal.ListAssetTagsForAssetResponse3? Type1132 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponseError6? Type1133 { get; set; } + public global::Fal.ListAssetTagsForAssetResponseError2? Type1133 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponseErrorType6? Type1134 { get; set; } + public global::Fal.ListAssetTagsForAssetResponseErrorType2? Type1134 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponse8? Type1135 { get; set; } + public global::Fal.ListAssetTagsForAssetResponse4? Type1135 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponseError7? Type1136 { get; set; } + public global::Fal.ListAssetTagsForAssetResponseError3? Type1136 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponseErrorType7? Type1137 { get; set; } + public global::Fal.ListAssetTagsForAssetResponseErrorType3? Type1137 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponse9? Type1138 { get; set; } + public global::Fal.ListAssetTagsForAssetResponse5? Type1138 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponseError8? Type1139 { get; set; } + public global::Fal.ListAssetTagsForAssetResponseError4? Type1139 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponseErrorType8? Type1140 { get; set; } + public global::Fal.ListAssetTagsForAssetResponseErrorType4? Type1140 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponse10? Type1141 { get; set; } + public global::Fal.ListAssetTagsForAssetResponse6? Type1141 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponseError9? Type1142 { get; set; } + public global::Fal.ListAssetTagsForAssetResponseError5? Type1142 { get; set; } /// /// /// - public global::Fal.ListAssetTagsForAssetResponseErrorType9? Type1143 { get; set; } + public global::Fal.ListAssetTagsForAssetResponseErrorType5? Type1143 { get; set; } /// /// /// - public global::Fal.AssignAssetTagResponse? Type1144 { get; set; } + public global::Fal.ListAssetTagsForAssetResponse7? Type1144 { get; set; } /// /// /// - public global::Fal.AssignAssetTagResponse2? Type1145 { get; set; } + public global::Fal.ListAssetTagsForAssetResponseError6? Type1145 { get; set; } /// /// /// - public global::Fal.AssignAssetTagResponseError? Type1146 { get; set; } + public global::Fal.ListAssetTagsForAssetResponseErrorType6? Type1146 { get; set; } /// /// /// - public global::Fal.AssignAssetTagResponseErrorType? Type1147 { get; set; } + public global::Fal.ListAssetTagsForAssetResponse8? Type1147 { get; set; } /// /// /// - public global::Fal.AssignAssetTagResponse3? Type1148 { get; set; } + public global::Fal.ListAssetTagsForAssetResponseError7? Type1148 { get; set; } /// /// /// - public global::Fal.AssignAssetTagResponseError2? Type1149 { get; set; } + public global::Fal.ListAssetTagsForAssetResponseErrorType7? Type1149 { get; set; } /// /// /// - public global::Fal.AssignAssetTagResponseErrorType2? Type1150 { get; set; } + public global::Fal.ListAssetTagsForAssetResponse9? Type1150 { get; set; } /// /// /// - public global::Fal.AssignAssetTagResponse4? Type1151 { get; set; } + public global::Fal.ListAssetTagsForAssetResponseError8? Type1151 { get; set; } /// /// /// - public global::Fal.AssignAssetTagResponseError3? Type1152 { get; set; } + public global::Fal.ListAssetTagsForAssetResponseErrorType8? Type1152 { get; set; } /// /// /// - public global::Fal.AssignAssetTagResponseErrorType3? Type1153 { get; set; } + public global::Fal.ListAssetTagsForAssetResponse10? Type1153 { get; set; } /// /// /// - public global::Fal.AssignAssetTagResponse5? Type1154 { get; set; } + public global::Fal.ListAssetTagsForAssetResponseError9? Type1154 { get; set; } /// /// /// - public global::Fal.AssignAssetTagResponseError4? Type1155 { get; set; } + public global::Fal.ListAssetTagsForAssetResponseErrorType9? Type1155 { get; set; } /// /// /// - public global::Fal.AssignAssetTagResponseErrorType4? Type1156 { get; set; } + public global::Fal.AssignAssetTagResponse? Type1156 { get; set; } /// /// /// - public global::Fal.AssignAssetTagResponse6? Type1157 { get; set; } + public global::Fal.AssignAssetTagResponse2? Type1157 { get; set; } /// /// /// - public global::Fal.AssignAssetTagResponseError5? Type1158 { get; set; } + public global::Fal.AssignAssetTagResponseError? Type1158 { get; set; } /// /// /// - public global::Fal.AssignAssetTagResponseErrorType5? Type1159 { get; set; } + public global::Fal.AssignAssetTagResponseErrorType? Type1159 { get; set; } /// /// /// - public global::Fal.AssignAssetTagResponse7? Type1160 { get; set; } + public global::Fal.AssignAssetTagResponse3? Type1160 { get; set; } /// /// /// - public global::Fal.AssignAssetTagResponseError6? Type1161 { get; set; } + public global::Fal.AssignAssetTagResponseError2? Type1161 { get; set; } /// /// /// - public global::Fal.AssignAssetTagResponseErrorType6? Type1162 { get; set; } + public global::Fal.AssignAssetTagResponseErrorType2? Type1162 { get; set; } /// /// /// - public global::Fal.AssignAssetTagResponse8? Type1163 { get; set; } + public global::Fal.AssignAssetTagResponse4? Type1163 { get; set; } /// /// /// - public global::Fal.AssignAssetTagResponseError7? Type1164 { get; set; } + public global::Fal.AssignAssetTagResponseError3? Type1164 { get; set; } /// /// /// - public global::Fal.AssignAssetTagResponseErrorType7? Type1165 { get; set; } + public global::Fal.AssignAssetTagResponseErrorType3? Type1165 { get; set; } /// /// /// - public global::Fal.AssignAssetTagResponse9? Type1166 { get; set; } + public global::Fal.AssignAssetTagResponse5? Type1166 { get; set; } /// /// /// - public global::Fal.AssignAssetTagResponseError8? Type1167 { get; set; } + public global::Fal.AssignAssetTagResponseError4? Type1167 { get; set; } /// /// /// - public global::Fal.AssignAssetTagResponseErrorType8? Type1168 { get; set; } + public global::Fal.AssignAssetTagResponseErrorType4? Type1168 { get; set; } /// /// /// - public global::Fal.AssignAssetTagResponse10? Type1169 { get; set; } + public global::Fal.AssignAssetTagResponse6? Type1169 { get; set; } /// /// /// - public global::Fal.AssignAssetTagResponseError9? Type1170 { get; set; } + public global::Fal.AssignAssetTagResponseError5? Type1170 { get; set; } /// /// /// - public global::Fal.AssignAssetTagResponseErrorType9? Type1171 { get; set; } + public global::Fal.AssignAssetTagResponseErrorType5? Type1171 { get; set; } /// /// /// - public global::Fal.UnassignAssetTagResponse? Type1172 { get; set; } + public global::Fal.AssignAssetTagResponse7? Type1172 { get; set; } /// /// /// - public global::Fal.UnassignAssetTagResponseError? Type1173 { get; set; } + public global::Fal.AssignAssetTagResponseError6? Type1173 { get; set; } /// /// /// - public global::Fal.UnassignAssetTagResponseErrorType? Type1174 { get; set; } + public global::Fal.AssignAssetTagResponseErrorType6? Type1174 { get; set; } /// /// /// - public global::Fal.UnassignAssetTagResponse2? Type1175 { get; set; } + public global::Fal.AssignAssetTagResponse8? Type1175 { get; set; } /// /// /// - public global::Fal.UnassignAssetTagResponseError2? Type1176 { get; set; } + public global::Fal.AssignAssetTagResponseError7? Type1176 { get; set; } /// /// /// - public global::Fal.UnassignAssetTagResponseErrorType2? Type1177 { get; set; } + public global::Fal.AssignAssetTagResponseErrorType7? Type1177 { get; set; } /// /// /// - public global::Fal.UnassignAssetTagResponse3? Type1178 { get; set; } + public global::Fal.AssignAssetTagResponse9? Type1178 { get; set; } /// /// /// - public global::Fal.UnassignAssetTagResponseError3? Type1179 { get; set; } + public global::Fal.AssignAssetTagResponseError8? Type1179 { get; set; } /// /// /// - public global::Fal.UnassignAssetTagResponseErrorType3? Type1180 { get; set; } + public global::Fal.AssignAssetTagResponseErrorType8? Type1180 { get; set; } /// /// /// - public global::Fal.UnassignAssetTagResponse4? Type1181 { get; set; } + public global::Fal.AssignAssetTagResponse10? Type1181 { get; set; } /// /// /// - public global::Fal.UnassignAssetTagResponseError4? Type1182 { get; set; } + public global::Fal.AssignAssetTagResponseError9? Type1182 { get; set; } /// /// /// - public global::Fal.UnassignAssetTagResponseErrorType4? Type1183 { get; set; } + public global::Fal.AssignAssetTagResponseErrorType9? Type1183 { get; set; } /// /// /// - public global::Fal.UnassignAssetTagResponse5? Type1184 { get; set; } + public global::Fal.UnassignAssetTagResponse? Type1184 { get; set; } /// /// /// - public global::Fal.UnassignAssetTagResponseError5? Type1185 { get; set; } + public global::Fal.UnassignAssetTagResponseError? Type1185 { get; set; } /// /// /// - public global::Fal.UnassignAssetTagResponseErrorType5? Type1186 { get; set; } + public global::Fal.UnassignAssetTagResponseErrorType? Type1186 { get; set; } /// /// /// - public global::Fal.UnassignAssetTagResponse6? Type1187 { get; set; } + public global::Fal.UnassignAssetTagResponse2? Type1187 { get; set; } /// /// /// - public global::Fal.UnassignAssetTagResponseError6? Type1188 { get; set; } + public global::Fal.UnassignAssetTagResponseError2? Type1188 { get; set; } /// /// /// - public global::Fal.UnassignAssetTagResponseErrorType6? Type1189 { get; set; } + public global::Fal.UnassignAssetTagResponseErrorType2? Type1189 { get; set; } /// /// /// - public global::Fal.UnassignAssetTagResponse7? Type1190 { get; set; } + public global::Fal.UnassignAssetTagResponse3? Type1190 { get; set; } /// /// /// - public global::Fal.UnassignAssetTagResponseError7? Type1191 { get; set; } + public global::Fal.UnassignAssetTagResponseError3? Type1191 { get; set; } /// /// /// - public global::Fal.UnassignAssetTagResponseErrorType7? Type1192 { get; set; } + public global::Fal.UnassignAssetTagResponseErrorType3? Type1192 { get; set; } /// /// /// - public global::Fal.UnassignAssetTagResponse8? Type1193 { get; set; } + public global::Fal.UnassignAssetTagResponse4? Type1193 { get; set; } /// /// /// - public global::Fal.UnassignAssetTagResponseError8? Type1194 { get; set; } + public global::Fal.UnassignAssetTagResponseError4? Type1194 { get; set; } /// /// /// - public global::Fal.UnassignAssetTagResponseErrorType8? Type1195 { get; set; } + public global::Fal.UnassignAssetTagResponseErrorType4? Type1195 { get; set; } /// /// /// - public global::Fal.UnassignAssetTagResponse9? Type1196 { get; set; } + public global::Fal.UnassignAssetTagResponse5? Type1196 { get; set; } /// /// /// - public global::Fal.UnassignAssetTagResponseError9? Type1197 { get; set; } + public global::Fal.UnassignAssetTagResponseError5? Type1197 { get; set; } /// /// /// - public global::Fal.UnassignAssetTagResponseErrorType9? Type1198 { get; set; } + public global::Fal.UnassignAssetTagResponseErrorType5? Type1198 { get; set; } /// /// /// - public global::Fal.ServerlessGetAnalyticsResponse? Type1199 { get; set; } + public global::Fal.UnassignAssetTagResponse6? Type1199 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type1200 { get; set; } + public global::Fal.UnassignAssetTagResponseError6? Type1200 { get; set; } /// /// /// - public global::Fal.ServerlessGetAnalyticsResponseTimeSerie? Type1201 { get; set; } + public global::Fal.UnassignAssetTagResponseErrorType6? Type1201 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type1202 { get; set; } + public global::Fal.UnassignAssetTagResponse7? Type1202 { get; set; } /// /// /// - public global::Fal.ServerlessGetAnalyticsResponseTimeSerieResult? Type1203 { get; set; } + public global::Fal.UnassignAssetTagResponseError7? Type1203 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type1204 { get; set; } + public global::Fal.UnassignAssetTagResponseErrorType7? Type1204 { get; set; } /// /// /// - public global::Fal.ServerlessGetAnalyticsResponseSummaryItem? Type1205 { get; set; } + public global::Fal.UnassignAssetTagResponse8? Type1205 { get; set; } /// /// /// - public global::Fal.ServerlessGetAnalyticsResponse2? Type1206 { get; set; } + public global::Fal.UnassignAssetTagResponseError8? Type1206 { get; set; } /// /// /// - public global::Fal.ServerlessGetAnalyticsResponseError? Type1207 { get; set; } + public global::Fal.UnassignAssetTagResponseErrorType8? Type1207 { get; set; } /// /// /// - public global::Fal.ServerlessGetAnalyticsResponseErrorType? Type1208 { get; set; } + public global::Fal.UnassignAssetTagResponse9? Type1208 { get; set; } /// /// /// - public global::Fal.ServerlessGetAnalyticsResponse3? Type1209 { get; set; } + public global::Fal.UnassignAssetTagResponseError9? Type1209 { get; set; } /// /// /// - public global::Fal.ServerlessGetAnalyticsResponseError2? Type1210 { get; set; } + public global::Fal.UnassignAssetTagResponseErrorType9? Type1210 { get; set; } /// /// /// - public global::Fal.ServerlessGetAnalyticsResponseErrorType2? Type1211 { get; set; } + public global::Fal.GetStorageFileAclResponse? Type1211 { get; set; } /// /// /// - public global::Fal.ServerlessGetAnalyticsResponse4? Type1212 { get; set; } + public global::Fal.GetStorageFileAclResponseDefault? Type1212 { get; set; } /// /// /// - public global::Fal.ServerlessGetAnalyticsResponseError3? Type1213 { get; set; } + public global::System.Collections.Generic.IList? Type1213 { get; set; } /// /// /// - public global::Fal.ServerlessGetAnalyticsResponseErrorType3? Type1214 { get; set; } + public global::Fal.GetStorageFileAclResponseRule? Type1214 { get; set; } /// /// /// - public global::Fal.ServerlessGetAnalyticsResponse5? Type1215 { get; set; } + public global::Fal.GetStorageFileAclResponseRuleDecision? Type1215 { get; set; } /// /// /// - public global::Fal.ServerlessGetAnalyticsResponseError4? Type1216 { get; set; } + public global::Fal.GetStorageFileAclResponse2? Type1216 { get; set; } /// /// /// - public global::Fal.ServerlessGetAnalyticsResponseErrorType4? Type1217 { get; set; } + public global::Fal.GetStorageFileAclResponseError? Type1217 { get; set; } /// /// /// - public global::Fal.ServerlessGetAnalyticsResponse6? Type1218 { get; set; } + public global::Fal.GetStorageFileAclResponseErrorType? Type1218 { get; set; } /// /// /// - public global::Fal.ServerlessGetAnalyticsResponseError5? Type1219 { get; set; } + public global::Fal.GetStorageFileAclResponse3? Type1219 { get; set; } /// /// /// - public global::Fal.ServerlessGetAnalyticsResponseErrorType5? Type1220 { get; set; } + public global::Fal.GetStorageFileAclResponseError2? Type1220 { get; set; } /// /// /// - public global::Fal.ServerlessGetAnalyticsResponse7? Type1221 { get; set; } + public global::Fal.GetStorageFileAclResponseErrorType2? Type1221 { get; set; } /// /// /// - public global::Fal.ServerlessGetAnalyticsResponseError6? Type1222 { get; set; } + public global::Fal.GetStorageFileAclResponse4? Type1222 { get; set; } /// /// /// - public global::Fal.ServerlessGetAnalyticsResponseErrorType6? Type1223 { get; set; } + public global::Fal.GetStorageFileAclResponseError3? Type1223 { get; set; } /// /// /// - public global::Fal.ServerlessGetAppQueueInfoResponse? Type1224 { get; set; } + public global::Fal.GetStorageFileAclResponseErrorType3? Type1224 { get; set; } /// /// /// - public global::Fal.ServerlessGetAppQueueInfoResponse2? Type1225 { get; set; } + public global::Fal.GetStorageFileAclResponse5? Type1225 { get; set; } /// /// /// - public global::Fal.ServerlessGetAppQueueInfoResponseError? Type1226 { get; set; } + public global::Fal.GetStorageFileAclResponseError4? Type1226 { get; set; } /// /// /// - public global::Fal.ServerlessGetAppQueueInfoResponseErrorType? Type1227 { get; set; } + public global::Fal.GetStorageFileAclResponseErrorType4? Type1227 { get; set; } /// /// /// - public global::Fal.ServerlessGetAppQueueInfoResponse3? Type1228 { get; set; } + public global::Fal.GetStorageFileAclResponse6? Type1228 { get; set; } /// /// /// - public global::Fal.ServerlessGetAppQueueInfoResponseError2? Type1229 { get; set; } + public global::Fal.GetStorageFileAclResponseError5? Type1229 { get; set; } /// /// /// - public global::Fal.ServerlessGetAppQueueInfoResponseErrorType2? Type1230 { get; set; } + public global::Fal.GetStorageFileAclResponseErrorType5? Type1230 { get; set; } /// /// /// - public global::Fal.ServerlessGetAppQueueInfoResponse4? Type1231 { get; set; } + public global::Fal.GetStorageFileAclResponse7? Type1231 { get; set; } /// /// /// - public global::Fal.ServerlessGetAppQueueInfoResponseError3? Type1232 { get; set; } + public global::Fal.GetStorageFileAclResponseError6? Type1232 { get; set; } /// /// /// - public global::Fal.ServerlessGetAppQueueInfoResponseErrorType3? Type1233 { get; set; } + public global::Fal.GetStorageFileAclResponseErrorType6? Type1233 { get; set; } /// /// /// - public global::Fal.ServerlessGetAppQueueInfoResponse5? Type1234 { get; set; } + public global::Fal.SetStorageFileAclResponse? Type1234 { get; set; } /// /// /// - public global::Fal.ServerlessGetAppQueueInfoResponseError4? Type1235 { get; set; } + public global::Fal.SetStorageFileAclResponseDefault? Type1235 { get; set; } /// /// /// - public global::Fal.ServerlessGetAppQueueInfoResponseErrorType4? Type1236 { get; set; } + public global::System.Collections.Generic.IList? Type1236 { get; set; } /// /// /// - public global::Fal.ServerlessGetAppQueueInfoResponse6? Type1237 { get; set; } + public global::Fal.SetStorageFileAclResponseRule? Type1237 { get; set; } /// /// /// - public global::Fal.ServerlessGetAppQueueInfoResponseError5? Type1238 { get; set; } + public global::Fal.SetStorageFileAclResponseRuleDecision? Type1238 { get; set; } /// /// /// - public global::Fal.ServerlessGetAppQueueInfoResponseErrorType5? Type1239 { get; set; } + public global::Fal.SetStorageFileAclResponse2? Type1239 { get; set; } /// /// /// - public global::Fal.ServerlessFlushAppQueueResponse? Type1240 { get; set; } + public global::Fal.SetStorageFileAclResponseError? Type1240 { get; set; } /// /// /// - public global::Fal.ServerlessFlushAppQueueResponseError? Type1241 { get; set; } + public global::Fal.SetStorageFileAclResponseErrorType? Type1241 { get; set; } /// /// /// - public global::Fal.ServerlessFlushAppQueueResponseErrorType? Type1242 { get; set; } + public global::Fal.SetStorageFileAclResponse3? Type1242 { get; set; } /// /// /// - public global::Fal.ServerlessFlushAppQueueResponse2? Type1243 { get; set; } + public global::Fal.SetStorageFileAclResponseError2? Type1243 { get; set; } /// /// /// - public global::Fal.ServerlessFlushAppQueueResponseError2? Type1244 { get; set; } + public global::Fal.SetStorageFileAclResponseErrorType2? Type1244 { get; set; } /// /// /// - public global::Fal.ServerlessFlushAppQueueResponseErrorType2? Type1245 { get; set; } + public global::Fal.SetStorageFileAclResponse4? Type1245 { get; set; } /// /// /// - public global::Fal.ServerlessFlushAppQueueResponse3? Type1246 { get; set; } + public global::Fal.SetStorageFileAclResponseError3? Type1246 { get; set; } /// /// /// - public global::Fal.ServerlessFlushAppQueueResponseError3? Type1247 { get; set; } + public global::Fal.SetStorageFileAclResponseErrorType3? Type1247 { get; set; } /// /// /// - public global::Fal.ServerlessFlushAppQueueResponseErrorType3? Type1248 { get; set; } + public global::Fal.SetStorageFileAclResponse5? Type1248 { get; set; } /// /// /// - public global::Fal.ServerlessFlushAppQueueResponse4? Type1249 { get; set; } + public global::Fal.SetStorageFileAclResponseError4? Type1249 { get; set; } /// /// /// - public global::Fal.ServerlessFlushAppQueueResponseError4? Type1250 { get; set; } + public global::Fal.SetStorageFileAclResponseErrorType4? Type1250 { get; set; } /// /// /// - public global::Fal.ServerlessFlushAppQueueResponseErrorType4? Type1251 { get; set; } + public global::Fal.SetStorageFileAclResponse6? Type1251 { get; set; } /// /// /// - public global::Fal.ServerlessFlushAppQueueResponse5? Type1252 { get; set; } + public global::Fal.SetStorageFileAclResponseError5? Type1252 { get; set; } /// /// /// - public global::Fal.ServerlessFlushAppQueueResponseError5? Type1253 { get; set; } + public global::Fal.SetStorageFileAclResponseErrorType5? Type1253 { get; set; } /// /// /// - public global::Fal.ServerlessFlushAppQueueResponseErrorType5? Type1254 { get; set; } + public global::Fal.SetStorageFileAclResponse7? Type1254 { get; set; } /// /// /// - public global::Fal.ServerlessFlushAppQueueResponse6? Type1255 { get; set; } + public global::Fal.SetStorageFileAclResponseError6? Type1255 { get; set; } /// /// /// - public global::Fal.ServerlessFlushAppQueueResponseError6? Type1256 { get; set; } + public global::Fal.SetStorageFileAclResponseErrorType6? Type1256 { get; set; } /// /// /// - public global::Fal.ServerlessFlushAppQueueResponseErrorType6? Type1257 { get; set; } + public global::Fal.SignStorageFileUrlResponse? Type1257 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type1258 { get; set; } + public global::Fal.SignStorageFileUrlResponse2? Type1258 { get; set; } /// /// /// - public global::Fal.ServerlessListRootResponseItem? Type1259 { get; set; } + public global::Fal.SignStorageFileUrlResponseError? Type1259 { get; set; } /// /// /// - public global::Fal.ServerlessListRootResponse? Type1260 { get; set; } + public global::Fal.SignStorageFileUrlResponseErrorType? Type1260 { get; set; } /// /// /// - public global::Fal.ServerlessListRootResponseError? Type1261 { get; set; } + public global::Fal.SignStorageFileUrlResponse3? Type1261 { get; set; } /// /// /// - public global::Fal.ServerlessListRootResponseErrorType? Type1262 { get; set; } + public global::Fal.SignStorageFileUrlResponseError2? Type1262 { get; set; } /// /// /// - public global::Fal.ServerlessListRootResponse2? Type1263 { get; set; } + public global::Fal.SignStorageFileUrlResponseErrorType2? Type1263 { get; set; } /// /// /// - public global::Fal.ServerlessListRootResponseError2? Type1264 { get; set; } + public global::Fal.SignStorageFileUrlResponse4? Type1264 { get; set; } /// /// /// - public global::Fal.ServerlessListRootResponseErrorType2? Type1265 { get; set; } + public global::Fal.SignStorageFileUrlResponseError3? Type1265 { get; set; } /// /// /// - public global::Fal.ServerlessListRootResponse3? Type1266 { get; set; } + public global::Fal.SignStorageFileUrlResponseErrorType3? Type1266 { get; set; } /// /// /// - public global::Fal.ServerlessListRootResponseError3? Type1267 { get; set; } + public global::Fal.SignStorageFileUrlResponse5? Type1267 { get; set; } /// /// /// - public global::Fal.ServerlessListRootResponseErrorType3? Type1268 { get; set; } + public global::Fal.SignStorageFileUrlResponseError4? Type1268 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type1269 { get; set; } + public global::Fal.SignStorageFileUrlResponseErrorType4? Type1269 { get; set; } /// /// /// - public global::Fal.ServerlessListDirectoryResponseItem? Type1270 { get; set; } + public global::Fal.SignStorageFileUrlResponse6? Type1270 { get; set; } /// /// /// - public global::Fal.ServerlessListDirectoryResponse? Type1271 { get; set; } + public global::Fal.SignStorageFileUrlResponseError5? Type1271 { get; set; } /// /// /// - public global::Fal.ServerlessListDirectoryResponseError? Type1272 { get; set; } + public global::Fal.SignStorageFileUrlResponseErrorType5? Type1272 { get; set; } /// /// /// - public global::Fal.ServerlessListDirectoryResponseErrorType? Type1273 { get; set; } + public global::Fal.SignStorageFileUrlResponse7? Type1273 { get; set; } /// /// /// - public global::Fal.ServerlessListDirectoryResponse2? Type1274 { get; set; } + public global::Fal.SignStorageFileUrlResponseError6? Type1274 { get; set; } /// /// /// - public global::Fal.ServerlessListDirectoryResponseError2? Type1275 { get; set; } + public global::Fal.SignStorageFileUrlResponseErrorType6? Type1275 { get; set; } /// /// /// - public global::Fal.ServerlessListDirectoryResponseErrorType2? Type1276 { get; set; } + public global::Fal.GetStorageSettingsResponse? Type1276 { get; set; } /// /// /// - public global::Fal.ServerlessListDirectoryResponse3? Type1277 { get; set; } + public global::Fal.GetStorageSettingsResponseInitialAcl? Type1277 { get; set; } /// /// /// - public global::Fal.ServerlessListDirectoryResponseError3? Type1278 { get; set; } + public global::Fal.GetStorageSettingsResponseInitialAclDefault? Type1278 { get; set; } /// /// /// - public global::Fal.ServerlessListDirectoryResponseErrorType3? Type1279 { get; set; } + public global::System.Collections.Generic.IList? Type1279 { get; set; } /// /// /// - public global::Fal.ServerlessDownloadFileResponse2? Type1280 { get; set; } + public global::Fal.GetStorageSettingsResponseInitialAclRule? Type1280 { get; set; } /// /// /// - public global::Fal.ServerlessDownloadFileResponseError? Type1281 { get; set; } + public global::Fal.GetStorageSettingsResponseInitialAclRuleDecision? Type1281 { get; set; } /// /// /// - public global::Fal.ServerlessDownloadFileResponseErrorType? Type1282 { get; set; } + public global::Fal.GetStorageSettingsResponse2? Type1282 { get; set; } /// /// /// - public global::Fal.ServerlessDownloadFileResponse3? Type1283 { get; set; } + public global::Fal.GetStorageSettingsResponseError? Type1283 { get; set; } /// /// /// - public global::Fal.ServerlessDownloadFileResponseError2? Type1284 { get; set; } + public global::Fal.GetStorageSettingsResponseErrorType? Type1284 { get; set; } /// /// /// - public global::Fal.ServerlessDownloadFileResponseErrorType2? Type1285 { get; set; } + public global::Fal.GetStorageSettingsResponse3? Type1285 { get; set; } /// /// /// - public global::Fal.ServerlessDownloadFileResponse4? Type1286 { get; set; } + public global::Fal.GetStorageSettingsResponseError2? Type1286 { get; set; } /// /// /// - public global::Fal.ServerlessDownloadFileResponseError3? Type1287 { get; set; } + public global::Fal.GetStorageSettingsResponseErrorType2? Type1287 { get; set; } /// /// /// - public global::Fal.ServerlessDownloadFileResponseErrorType3? Type1288 { get; set; } + public global::Fal.GetStorageSettingsResponse4? Type1288 { get; set; } /// /// /// - public global::Fal.ServerlessDownloadFileResponse5? Type1289 { get; set; } + public global::Fal.GetStorageSettingsResponseError3? Type1289 { get; set; } /// /// /// - public global::Fal.ServerlessDownloadFileResponseError4? Type1290 { get; set; } + public global::Fal.GetStorageSettingsResponseErrorType3? Type1290 { get; set; } /// /// /// - public global::Fal.ServerlessDownloadFileResponseErrorType4? Type1291 { get; set; } + public global::Fal.GetStorageSettingsResponse5? Type1291 { get; set; } /// /// /// - public global::Fal.ServerlessUploadFromUrlResponse? Type1292 { get; set; } + public global::Fal.GetStorageSettingsResponseError4? Type1292 { get; set; } /// /// /// - public global::Fal.ServerlessUploadFromUrlResponseError? Type1293 { get; set; } + public global::Fal.GetStorageSettingsResponseErrorType4? Type1293 { get; set; } /// /// /// - public global::Fal.ServerlessUploadFromUrlResponseErrorType? Type1294 { get; set; } + public global::Fal.UpdateStorageSettingsResponse? Type1294 { get; set; } /// /// /// - public global::Fal.ServerlessUploadFromUrlResponse2? Type1295 { get; set; } + public global::Fal.UpdateStorageSettingsResponseInitialAcl? Type1295 { get; set; } /// /// /// - public global::Fal.ServerlessUploadFromUrlResponseError2? Type1296 { get; set; } + public global::Fal.UpdateStorageSettingsResponseInitialAclDefault? Type1296 { get; set; } /// /// /// - public global::Fal.ServerlessUploadFromUrlResponseErrorType2? Type1297 { get; set; } + public global::System.Collections.Generic.IList? Type1297 { get; set; } /// /// /// - public global::Fal.ServerlessUploadFromUrlResponse3? Type1298 { get; set; } + public global::Fal.UpdateStorageSettingsResponseInitialAclRule? Type1298 { get; set; } /// /// /// - public global::Fal.ServerlessUploadFromUrlResponseError3? Type1299 { get; set; } + public global::Fal.UpdateStorageSettingsResponseInitialAclRuleDecision? Type1299 { get; set; } /// /// /// - public global::Fal.ServerlessUploadFromUrlResponseErrorType3? Type1300 { get; set; } + public global::Fal.UpdateStorageSettingsResponse2? Type1300 { get; set; } /// /// /// - public global::Fal.ServerlessUploadLocalFileResponse? Type1301 { get; set; } + public global::Fal.UpdateStorageSettingsResponseError? Type1301 { get; set; } /// /// /// - public global::Fal.ServerlessUploadLocalFileResponseError? Type1302 { get; set; } + public global::Fal.UpdateStorageSettingsResponseErrorType? Type1302 { get; set; } /// /// /// - public global::Fal.ServerlessUploadLocalFileResponseErrorType? Type1303 { get; set; } + public global::Fal.UpdateStorageSettingsResponse3? Type1303 { get; set; } /// /// /// - public global::Fal.ServerlessUploadLocalFileResponse2? Type1304 { get; set; } + public global::Fal.UpdateStorageSettingsResponseError2? Type1304 { get; set; } /// /// /// - public global::Fal.ServerlessUploadLocalFileResponseError2? Type1305 { get; set; } + public global::Fal.UpdateStorageSettingsResponseErrorType2? Type1305 { get; set; } /// /// /// - public global::Fal.ServerlessUploadLocalFileResponseErrorType2? Type1306 { get; set; } + public global::Fal.UpdateStorageSettingsResponse4? Type1306 { get; set; } /// /// /// - public global::Fal.ServerlessUploadLocalFileResponse3? Type1307 { get; set; } + public global::Fal.UpdateStorageSettingsResponseError3? Type1307 { get; set; } /// /// /// - public global::Fal.ServerlessUploadLocalFileResponseError3? Type1308 { get; set; } + public global::Fal.UpdateStorageSettingsResponseErrorType3? Type1308 { get; set; } /// /// /// - public global::Fal.ServerlessUploadLocalFileResponseErrorType3? Type1309 { get; set; } + public global::Fal.UpdateStorageSettingsResponse5? Type1309 { get; set; } /// /// /// - public global::Fal.ServerlessUploadLocalFileResponse4? Type1310 { get; set; } + public global::Fal.UpdateStorageSettingsResponseError4? Type1310 { get; set; } /// /// /// - public global::Fal.ServerlessUploadLocalFileResponseError4? Type1311 { get; set; } + public global::Fal.UpdateStorageSettingsResponseErrorType4? Type1311 { get; set; } /// /// /// - public global::Fal.ServerlessUploadLocalFileResponseErrorType4? Type1312 { get; set; } + public global::Fal.UpdateStorageSettingsResponse6? Type1312 { get; set; } /// /// /// - public global::Fal.ServerlessGetMetricsResponse? Type1313 { get; set; } + public global::Fal.UpdateStorageSettingsResponseError5? Type1313 { get; set; } /// /// /// - public global::Fal.ServerlessGetMetricsResponseError? Type1314 { get; set; } + public global::Fal.UpdateStorageSettingsResponseErrorType5? Type1314 { get; set; } /// /// /// - public global::Fal.ServerlessGetMetricsResponseErrorType? Type1315 { get; set; } + public global::Fal.ServerlessGetAnalyticsResponse? Type1315 { get; set; } /// /// /// - public global::Fal.ServerlessGetMetricsResponse2? Type1316 { get; set; } + public global::System.Collections.Generic.IList? Type1316 { get; set; } /// /// /// - public global::Fal.ServerlessGetMetricsResponseError2? Type1317 { get; set; } + public global::Fal.ServerlessGetAnalyticsResponseTimeSerie? Type1317 { get; set; } /// /// /// - public global::Fal.ServerlessGetMetricsResponseErrorType2? Type1318 { get; set; } + public global::System.Collections.Generic.IList? Type1318 { get; set; } /// /// /// - public global::Fal.ServerlessGetMetricsResponse3? Type1319 { get; set; } + public global::Fal.ServerlessGetAnalyticsResponseTimeSerieResult? Type1319 { get; set; } /// /// /// - public global::Fal.ServerlessGetMetricsResponseError3? Type1320 { get; set; } + public global::System.Collections.Generic.IList? Type1320 { get; set; } /// /// /// - public global::Fal.ServerlessGetMetricsResponseErrorType3? Type1321 { get; set; } + public global::Fal.ServerlessGetAnalyticsResponseSummaryItem? Type1321 { get; set; } /// /// /// - public global::Fal.ServerlessLogsHistoryResponse? Type1322 { get; set; } + public global::Fal.ServerlessGetAnalyticsResponse2? Type1322 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type1323 { get; set; } + public global::Fal.ServerlessGetAnalyticsResponseError? Type1323 { get; set; } /// /// /// - public global::Fal.ServerlessLogsHistoryResponseItem? Type1324 { get; set; } + public global::Fal.ServerlessGetAnalyticsResponseErrorType? Type1324 { get; set; } /// /// /// - public global::Fal.ServerlessLogsHistoryResponse2? Type1325 { get; set; } + public global::Fal.ServerlessGetAnalyticsResponse3? Type1325 { get; set; } /// /// /// - public global::Fal.ServerlessLogsHistoryResponseError? Type1326 { get; set; } + public global::Fal.ServerlessGetAnalyticsResponseError2? Type1326 { get; set; } /// /// /// - public global::Fal.ServerlessLogsHistoryResponseErrorType? Type1327 { get; set; } + public global::Fal.ServerlessGetAnalyticsResponseErrorType2? Type1327 { get; set; } /// /// /// - public global::Fal.ServerlessLogsHistoryResponse3? Type1328 { get; set; } + public global::Fal.ServerlessGetAnalyticsResponse4? Type1328 { get; set; } /// /// /// - public global::Fal.ServerlessLogsHistoryResponseError2? Type1329 { get; set; } + public global::Fal.ServerlessGetAnalyticsResponseError3? Type1329 { get; set; } /// /// /// - public global::Fal.ServerlessLogsHistoryResponseErrorType2? Type1330 { get; set; } + public global::Fal.ServerlessGetAnalyticsResponseErrorType3? Type1330 { get; set; } /// /// /// - public global::Fal.ServerlessLogsHistoryResponse4? Type1331 { get; set; } + public global::Fal.ServerlessGetAnalyticsResponse5? Type1331 { get; set; } /// /// /// - public global::Fal.ServerlessLogsHistoryResponseError3? Type1332 { get; set; } + public global::Fal.ServerlessGetAnalyticsResponseError4? Type1332 { get; set; } /// /// /// - public global::Fal.ServerlessLogsHistoryResponseErrorType3? Type1333 { get; set; } + public global::Fal.ServerlessGetAnalyticsResponseErrorType4? Type1333 { get; set; } /// /// /// - public global::Fal.ServerlessLogsStreamResponse2? Type1334 { get; set; } + public global::Fal.ServerlessGetAnalyticsResponse6? Type1334 { get; set; } /// /// /// - public global::Fal.ServerlessLogsStreamResponseError? Type1335 { get; set; } + public global::Fal.ServerlessGetAnalyticsResponseError5? Type1335 { get; set; } /// /// /// - public global::Fal.ServerlessLogsStreamResponseErrorType? Type1336 { get; set; } + public global::Fal.ServerlessGetAnalyticsResponseErrorType5? Type1336 { get; set; } /// /// /// - public global::Fal.ServerlessLogsStreamResponse3? Type1337 { get; set; } + public global::Fal.ServerlessGetAnalyticsResponse7? Type1337 { get; set; } /// /// /// - public global::Fal.ServerlessLogsStreamResponseError2? Type1338 { get; set; } + public global::Fal.ServerlessGetAnalyticsResponseError6? Type1338 { get; set; } /// /// /// - public global::Fal.ServerlessLogsStreamResponseErrorType2? Type1339 { get; set; } + public global::Fal.ServerlessGetAnalyticsResponseErrorType6? Type1339 { get; set; } /// /// /// - public global::Fal.ServerlessLogsStreamResponse4? Type1340 { get; set; } + public global::Fal.ServerlessGetAppQueueInfoResponse? Type1340 { get; set; } /// /// /// - public global::Fal.ServerlessLogsStreamResponseError3? Type1341 { get; set; } + public global::Fal.ServerlessGetAppQueueInfoResponse2? Type1341 { get; set; } /// /// /// - public global::Fal.ServerlessLogsStreamResponseErrorType3? Type1342 { get; set; } + public global::Fal.ServerlessGetAppQueueInfoResponseError? Type1342 { get; set; } /// /// /// - public global::Fal.ServerlessListRequestsByEndpointResponse? Type1343 { get; set; } + public global::Fal.ServerlessGetAppQueueInfoResponseErrorType? Type1343 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type1344 { get; set; } + public global::Fal.ServerlessGetAppQueueInfoResponse3? Type1344 { get; set; } /// /// /// - public global::Fal.ServerlessListRequestsByEndpointResponseItem? Type1345 { get; set; } + public global::Fal.ServerlessGetAppQueueInfoResponseError2? Type1345 { get; set; } /// /// /// - public global::Fal.ServerlessListRequestsByEndpointResponse2? Type1346 { get; set; } + public global::Fal.ServerlessGetAppQueueInfoResponseErrorType2? Type1346 { get; set; } /// /// /// - public global::Fal.ServerlessListRequestsByEndpointResponseError? Type1347 { get; set; } + public global::Fal.ServerlessGetAppQueueInfoResponse4? Type1347 { get; set; } /// /// /// - public global::Fal.ServerlessListRequestsByEndpointResponseErrorType? Type1348 { get; set; } + public global::Fal.ServerlessGetAppQueueInfoResponseError3? Type1348 { get; set; } /// /// /// - public global::Fal.ServerlessListRequestsByEndpointResponse3? Type1349 { get; set; } + public global::Fal.ServerlessGetAppQueueInfoResponseErrorType3? Type1349 { get; set; } /// /// /// - public global::Fal.ServerlessListRequestsByEndpointResponseError2? Type1350 { get; set; } + public global::Fal.ServerlessGetAppQueueInfoResponse5? Type1350 { get; set; } /// /// /// - public global::Fal.ServerlessListRequestsByEndpointResponseErrorType2? Type1351 { get; set; } + public global::Fal.ServerlessGetAppQueueInfoResponseError4? Type1351 { get; set; } /// /// /// - public global::Fal.ServerlessListRequestsByEndpointResponse4? Type1352 { get; set; } + public global::Fal.ServerlessGetAppQueueInfoResponseErrorType4? Type1352 { get; set; } /// /// /// - public global::Fal.ServerlessListRequestsByEndpointResponseError3? Type1353 { get; set; } + public global::Fal.ServerlessGetAppQueueInfoResponse6? Type1353 { get; set; } /// /// /// - public global::Fal.ServerlessListRequestsByEndpointResponseErrorType3? Type1354 { get; set; } + public global::Fal.ServerlessGetAppQueueInfoResponseError5? Type1354 { get; set; } /// /// /// - public global::Fal.ServerlessListRequestsByEndpointResponse5? Type1355 { get; set; } + public global::Fal.ServerlessGetAppQueueInfoResponseErrorType5? Type1355 { get; set; } /// /// /// - public global::Fal.ServerlessListRequestsByEndpointResponseError4? Type1356 { get; set; } + public global::Fal.ServerlessFlushAppQueueResponse? Type1356 { get; set; } /// /// /// - public global::Fal.ServerlessListRequestsByEndpointResponseErrorType4? Type1357 { get; set; } + public global::Fal.ServerlessFlushAppQueueResponseError? Type1357 { get; set; } /// /// /// - public global::Fal.ServerlessListRequestsByEndpointResponse6? Type1358 { get; set; } + public global::Fal.ServerlessFlushAppQueueResponseErrorType? Type1358 { get; set; } /// /// /// - public global::Fal.ServerlessListRequestsByEndpointResponseError5? Type1359 { get; set; } + public global::Fal.ServerlessFlushAppQueueResponse2? Type1359 { get; set; } /// /// /// - public global::Fal.ServerlessListRequestsByEndpointResponseErrorType5? Type1360 { get; set; } + public global::Fal.ServerlessFlushAppQueueResponseError2? Type1360 { get; set; } /// /// /// - public global::Fal.ServerlessListRequestsByEndpointResponse7? Type1361 { get; set; } + public global::Fal.ServerlessFlushAppQueueResponseErrorType2? Type1361 { get; set; } /// /// /// - public global::Fal.ServerlessListRequestsByEndpointResponseError6? Type1362 { get; set; } + public global::Fal.ServerlessFlushAppQueueResponse3? Type1362 { get; set; } /// /// /// - public global::Fal.ServerlessListRequestsByEndpointResponseErrorType6? Type1363 { get; set; } + public global::Fal.ServerlessFlushAppQueueResponseError3? Type1363 { get; set; } /// /// /// - public global::Fal.ListComputeInstancesResponse? Type1364 { get; set; } + public global::Fal.ServerlessFlushAppQueueResponseErrorType3? Type1364 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type1365 { get; set; } + public global::Fal.ServerlessFlushAppQueueResponse4? Type1365 { get; set; } /// /// /// - public global::Fal.ListComputeInstancesResponseInstance? Type1366 { get; set; } + public global::Fal.ServerlessFlushAppQueueResponseError4? Type1366 { get; set; } /// /// /// - public global::Fal.ListComputeInstancesResponseInstanceInstanceType? Type1367 { get; set; } + public global::Fal.ServerlessFlushAppQueueResponseErrorType4? Type1367 { get; set; } /// /// /// - public global::Fal.ListComputeInstancesResponseInstanceRegion? Type1368 { get; set; } + public global::Fal.ServerlessFlushAppQueueResponse5? Type1368 { get; set; } /// /// /// - public global::Fal.ListComputeInstancesResponseInstanceSector? Type1369 { get; set; } + public global::Fal.ServerlessFlushAppQueueResponseError5? Type1369 { get; set; } /// /// /// - public global::Fal.ListComputeInstancesResponseInstanceStatus? Type1370 { get; set; } + public global::Fal.ServerlessFlushAppQueueResponseErrorType5? Type1370 { get; set; } /// /// /// - public global::Fal.ListComputeInstancesResponse2? Type1371 { get; set; } + public global::Fal.ServerlessFlushAppQueueResponse6? Type1371 { get; set; } /// /// /// - public global::Fal.ListComputeInstancesResponseError? Type1372 { get; set; } + public global::Fal.ServerlessFlushAppQueueResponseError6? Type1372 { get; set; } /// /// /// - public global::Fal.ListComputeInstancesResponseErrorType? Type1373 { get; set; } + public global::Fal.ServerlessFlushAppQueueResponseErrorType6? Type1373 { get; set; } /// /// /// - public global::Fal.ListComputeInstancesResponse3? Type1374 { get; set; } + public global::System.Collections.Generic.IList? Type1374 { get; set; } /// /// /// - public global::Fal.ListComputeInstancesResponseError2? Type1375 { get; set; } + public global::Fal.ServerlessListRootResponseItem? Type1375 { get; set; } /// /// /// - public global::Fal.ListComputeInstancesResponseErrorType2? Type1376 { get; set; } + public global::Fal.ServerlessListRootResponse? Type1376 { get; set; } /// /// /// - public global::Fal.ListComputeInstancesResponse4? Type1377 { get; set; } + public global::Fal.ServerlessListRootResponseError? Type1377 { get; set; } /// /// /// - public global::Fal.ListComputeInstancesResponseError3? Type1378 { get; set; } + public global::Fal.ServerlessListRootResponseErrorType? Type1378 { get; set; } /// /// /// - public global::Fal.ListComputeInstancesResponseErrorType3? Type1379 { get; set; } + public global::Fal.ServerlessListRootResponse2? Type1379 { get; set; } /// /// /// - public global::Fal.ListComputeInstancesResponse5? Type1380 { get; set; } + public global::Fal.ServerlessListRootResponseError2? Type1380 { get; set; } /// /// /// - public global::Fal.ListComputeInstancesResponseError4? Type1381 { get; set; } + public global::Fal.ServerlessListRootResponseErrorType2? Type1381 { get; set; } /// /// /// - public global::Fal.ListComputeInstancesResponseErrorType4? Type1382 { get; set; } + public global::Fal.ServerlessListRootResponse3? Type1382 { get; set; } /// /// /// - public global::Fal.CreateComputeInstanceResponse? Type1383 { get; set; } + public global::Fal.ServerlessListRootResponseError3? Type1383 { get; set; } /// /// /// - public global::Fal.CreateComputeInstanceResponseInstanceType? Type1384 { get; set; } + public global::Fal.ServerlessListRootResponseErrorType3? Type1384 { get; set; } /// /// /// - public global::Fal.CreateComputeInstanceResponseRegion? Type1385 { get; set; } + public global::System.Collections.Generic.IList? Type1385 { get; set; } /// /// /// - public global::Fal.CreateComputeInstanceResponseSector? Type1386 { get; set; } + public global::Fal.ServerlessListDirectoryResponseItem? Type1386 { get; set; } /// /// /// - public global::Fal.CreateComputeInstanceResponseStatus? Type1387 { get; set; } + public global::Fal.ServerlessListDirectoryResponse? Type1387 { get; set; } /// /// /// - public global::Fal.CreateComputeInstanceResponse2? Type1388 { get; set; } + public global::Fal.ServerlessListDirectoryResponseError? Type1388 { get; set; } /// /// /// - public global::Fal.CreateComputeInstanceResponseError? Type1389 { get; set; } + public global::Fal.ServerlessListDirectoryResponseErrorType? Type1389 { get; set; } /// /// /// - public global::Fal.CreateComputeInstanceResponseErrorType? Type1390 { get; set; } + public global::Fal.ServerlessListDirectoryResponse2? Type1390 { get; set; } /// /// /// - public global::Fal.CreateComputeInstanceResponse3? Type1391 { get; set; } + public global::Fal.ServerlessListDirectoryResponseError2? Type1391 { get; set; } /// /// /// - public global::Fal.CreateComputeInstanceResponseError2? Type1392 { get; set; } + public global::Fal.ServerlessListDirectoryResponseErrorType2? Type1392 { get; set; } /// /// /// - public global::Fal.CreateComputeInstanceResponseErrorType2? Type1393 { get; set; } + public global::Fal.ServerlessListDirectoryResponse3? Type1393 { get; set; } /// /// /// - public global::Fal.CreateComputeInstanceResponse4? Type1394 { get; set; } + public global::Fal.ServerlessListDirectoryResponseError3? Type1394 { get; set; } /// /// /// - public global::Fal.CreateComputeInstanceResponseError3? Type1395 { get; set; } + public global::Fal.ServerlessListDirectoryResponseErrorType3? Type1395 { get; set; } /// /// /// - public global::Fal.CreateComputeInstanceResponseErrorType3? Type1396 { get; set; } + public global::Fal.ServerlessDownloadFileResponse2? Type1396 { get; set; } /// /// /// - public global::Fal.CreateComputeInstanceResponse5? Type1397 { get; set; } + public global::Fal.ServerlessDownloadFileResponseError? Type1397 { get; set; } /// /// /// - public global::Fal.CreateComputeInstanceResponseError4? Type1398 { get; set; } + public global::Fal.ServerlessDownloadFileResponseErrorType? Type1398 { get; set; } /// /// /// - public global::Fal.CreateComputeInstanceResponseErrorType4? Type1399 { get; set; } + public global::Fal.ServerlessDownloadFileResponse3? Type1399 { get; set; } /// /// /// - public global::Fal.CreateComputeInstanceResponse6? Type1400 { get; set; } + public global::Fal.ServerlessDownloadFileResponseError2? Type1400 { get; set; } /// /// /// - public global::Fal.CreateComputeInstanceResponseError5? Type1401 { get; set; } + public global::Fal.ServerlessDownloadFileResponseErrorType2? Type1401 { get; set; } /// /// /// - public global::Fal.CreateComputeInstanceResponseErrorType5? Type1402 { get; set; } + public global::Fal.ServerlessDownloadFileResponse4? Type1402 { get; set; } /// /// /// - public global::Fal.GetComputeInstanceResponse? Type1403 { get; set; } + public global::Fal.ServerlessDownloadFileResponseError3? Type1403 { get; set; } /// /// /// - public global::Fal.GetComputeInstanceResponseInstanceType? Type1404 { get; set; } + public global::Fal.ServerlessDownloadFileResponseErrorType3? Type1404 { get; set; } /// /// /// - public global::Fal.GetComputeInstanceResponseRegion? Type1405 { get; set; } + public global::Fal.ServerlessDownloadFileResponse5? Type1405 { get; set; } /// /// /// - public global::Fal.GetComputeInstanceResponseSector? Type1406 { get; set; } + public global::Fal.ServerlessDownloadFileResponseError4? Type1406 { get; set; } /// /// /// - public global::Fal.GetComputeInstanceResponseStatus? Type1407 { get; set; } + public global::Fal.ServerlessDownloadFileResponseErrorType4? Type1407 { get; set; } /// /// /// - public global::Fal.GetComputeInstanceResponse2? Type1408 { get; set; } + public global::Fal.ServerlessUploadFromUrlResponse? Type1408 { get; set; } /// /// /// - public global::Fal.GetComputeInstanceResponseError? Type1409 { get; set; } + public global::Fal.ServerlessUploadFromUrlResponseError? Type1409 { get; set; } /// /// /// - public global::Fal.GetComputeInstanceResponseErrorType? Type1410 { get; set; } + public global::Fal.ServerlessUploadFromUrlResponseErrorType? Type1410 { get; set; } /// /// /// - public global::Fal.GetComputeInstanceResponse3? Type1411 { get; set; } + public global::Fal.ServerlessUploadFromUrlResponse2? Type1411 { get; set; } /// /// /// - public global::Fal.GetComputeInstanceResponseError2? Type1412 { get; set; } + public global::Fal.ServerlessUploadFromUrlResponseError2? Type1412 { get; set; } /// /// /// - public global::Fal.GetComputeInstanceResponseErrorType2? Type1413 { get; set; } + public global::Fal.ServerlessUploadFromUrlResponseErrorType2? Type1413 { get; set; } /// /// /// - public global::Fal.GetComputeInstanceResponse4? Type1414 { get; set; } + public global::Fal.ServerlessUploadFromUrlResponse3? Type1414 { get; set; } /// /// /// - public global::Fal.GetComputeInstanceResponseError3? Type1415 { get; set; } + public global::Fal.ServerlessUploadFromUrlResponseError3? Type1415 { get; set; } /// /// /// - public global::Fal.GetComputeInstanceResponseErrorType3? Type1416 { get; set; } + public global::Fal.ServerlessUploadFromUrlResponseErrorType3? Type1416 { get; set; } /// /// /// - public global::Fal.GetComputeInstanceResponse5? Type1417 { get; set; } + public global::Fal.ServerlessUploadLocalFileResponse? Type1417 { get; set; } /// /// /// - public global::Fal.GetComputeInstanceResponseError4? Type1418 { get; set; } + public global::Fal.ServerlessUploadLocalFileResponseError? Type1418 { get; set; } /// /// /// - public global::Fal.GetComputeInstanceResponseErrorType4? Type1419 { get; set; } + public global::Fal.ServerlessUploadLocalFileResponseErrorType? Type1419 { get; set; } /// /// /// - public global::Fal.GetComputeInstanceResponse6? Type1420 { get; set; } + public global::Fal.ServerlessUploadLocalFileResponse2? Type1420 { get; set; } /// /// /// - public global::Fal.GetComputeInstanceResponseError5? Type1421 { get; set; } + public global::Fal.ServerlessUploadLocalFileResponseError2? Type1421 { get; set; } /// /// /// - public global::Fal.GetComputeInstanceResponseErrorType5? Type1422 { get; set; } + public global::Fal.ServerlessUploadLocalFileResponseErrorType2? Type1422 { get; set; } /// /// /// - public global::Fal.DeleteComputeInstanceResponse? Type1423 { get; set; } + public global::Fal.ServerlessUploadLocalFileResponse3? Type1423 { get; set; } /// /// /// - public global::Fal.DeleteComputeInstanceResponseError? Type1424 { get; set; } + public global::Fal.ServerlessUploadLocalFileResponseError3? Type1424 { get; set; } /// /// /// - public global::Fal.DeleteComputeInstanceResponseErrorType? Type1425 { get; set; } + public global::Fal.ServerlessUploadLocalFileResponseErrorType3? Type1425 { get; set; } /// /// /// - public global::Fal.DeleteComputeInstanceResponse2? Type1426 { get; set; } + public global::Fal.ServerlessUploadLocalFileResponse4? Type1426 { get; set; } /// /// /// - public global::Fal.DeleteComputeInstanceResponseError2? Type1427 { get; set; } + public global::Fal.ServerlessUploadLocalFileResponseError4? Type1427 { get; set; } /// /// /// - public global::Fal.DeleteComputeInstanceResponseErrorType2? Type1428 { get; set; } + public global::Fal.ServerlessUploadLocalFileResponseErrorType4? Type1428 { get; set; } /// /// /// - public global::Fal.DeleteComputeInstanceResponse3? Type1429 { get; set; } + public global::Fal.ServerlessGetMetricsResponse? Type1429 { get; set; } /// /// /// - public global::Fal.DeleteComputeInstanceResponseError3? Type1430 { get; set; } + public global::Fal.ServerlessGetMetricsResponseError? Type1430 { get; set; } /// /// /// - public global::Fal.DeleteComputeInstanceResponseErrorType3? Type1431 { get; set; } + public global::Fal.ServerlessGetMetricsResponseErrorType? Type1431 { get; set; } /// /// /// - public global::Fal.DeleteComputeInstanceResponse4? Type1432 { get; set; } + public global::Fal.ServerlessGetMetricsResponse2? Type1432 { get; set; } /// /// /// - public global::Fal.DeleteComputeInstanceResponseError4? Type1433 { get; set; } + public global::Fal.ServerlessGetMetricsResponseError2? Type1433 { get; set; } /// /// /// - public global::Fal.DeleteComputeInstanceResponseErrorType4? Type1434 { get; set; } + public global::Fal.ServerlessGetMetricsResponseErrorType2? Type1434 { get; set; } /// /// /// - public global::Fal.DeleteComputeInstanceResponse5? Type1435 { get; set; } + public global::Fal.ServerlessGetMetricsResponse3? Type1435 { get; set; } /// /// /// - public global::Fal.DeleteComputeInstanceResponseError5? Type1436 { get; set; } + public global::Fal.ServerlessGetMetricsResponseError3? Type1436 { get; set; } /// /// /// - public global::Fal.DeleteComputeInstanceResponseErrorType5? Type1437 { get; set; } + public global::Fal.ServerlessGetMetricsResponseErrorType3? Type1437 { get; set; } /// /// /// - public global::Fal.ListApiKeysResponse? Type1438 { get; set; } + public global::Fal.ServerlessLogsHistoryResponse? Type1438 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type1439 { get; set; } + public global::System.Collections.Generic.IList? Type1439 { get; set; } /// /// /// - public global::Fal.ListApiKeysResponseKey? Type1440 { get; set; } + public global::Fal.ServerlessLogsHistoryResponseItem? Type1440 { get; set; } /// /// /// - public global::Fal.ListApiKeysResponseKeyScope? Type1441 { get; set; } + public global::Fal.ServerlessLogsHistoryResponse2? Type1441 { get; set; } /// /// /// - public global::Fal.ListApiKeysResponse2? Type1442 { get; set; } + public global::Fal.ServerlessLogsHistoryResponseError? Type1442 { get; set; } /// /// /// - public global::Fal.ListApiKeysResponseError? Type1443 { get; set; } + public global::Fal.ServerlessLogsHistoryResponseErrorType? Type1443 { get; set; } /// /// /// - public global::Fal.ListApiKeysResponseErrorType? Type1444 { get; set; } + public global::Fal.ServerlessLogsHistoryResponse3? Type1444 { get; set; } /// /// /// - public global::Fal.ListApiKeysResponse3? Type1445 { get; set; } + public global::Fal.ServerlessLogsHistoryResponseError2? Type1445 { get; set; } /// /// /// - public global::Fal.ListApiKeysResponseError2? Type1446 { get; set; } + public global::Fal.ServerlessLogsHistoryResponseErrorType2? Type1446 { get; set; } /// /// /// - public global::Fal.ListApiKeysResponseErrorType2? Type1447 { get; set; } + public global::Fal.ServerlessLogsHistoryResponse4? Type1447 { get; set; } /// /// /// - public global::Fal.ListApiKeysResponse4? Type1448 { get; set; } + public global::Fal.ServerlessLogsHistoryResponseError3? Type1448 { get; set; } /// /// /// - public global::Fal.ListApiKeysResponseError3? Type1449 { get; set; } + public global::Fal.ServerlessLogsHistoryResponseErrorType3? Type1449 { get; set; } /// /// /// - public global::Fal.ListApiKeysResponseErrorType3? Type1450 { get; set; } + public global::Fal.ServerlessLogsStreamResponse2? Type1450 { get; set; } /// /// /// - public global::Fal.ListApiKeysResponse5? Type1451 { get; set; } + public global::Fal.ServerlessLogsStreamResponseError? Type1451 { get; set; } /// /// /// - public global::Fal.ListApiKeysResponseError4? Type1452 { get; set; } + public global::Fal.ServerlessLogsStreamResponseErrorType? Type1452 { get; set; } /// /// /// - public global::Fal.ListApiKeysResponseErrorType4? Type1453 { get; set; } + public global::Fal.ServerlessLogsStreamResponse3? Type1453 { get; set; } /// /// /// - public global::Fal.CreateApiKeyResponse? Type1454 { get; set; } + public global::Fal.ServerlessLogsStreamResponseError2? Type1454 { get; set; } /// /// /// - public global::Fal.CreateApiKeyResponse2? Type1455 { get; set; } + public global::Fal.ServerlessLogsStreamResponseErrorType2? Type1455 { get; set; } /// /// /// - public global::Fal.CreateApiKeyResponseError? Type1456 { get; set; } + public global::Fal.ServerlessLogsStreamResponse4? Type1456 { get; set; } /// /// /// - public global::Fal.CreateApiKeyResponseErrorType? Type1457 { get; set; } + public global::Fal.ServerlessLogsStreamResponseError3? Type1457 { get; set; } /// /// /// - public global::Fal.CreateApiKeyResponse3? Type1458 { get; set; } + public global::Fal.ServerlessLogsStreamResponseErrorType3? Type1458 { get; set; } /// /// /// - public global::Fal.CreateApiKeyResponseError2? Type1459 { get; set; } + public global::Fal.ServerlessListRequestsByEndpointResponse? Type1459 { get; set; } /// /// /// - public global::Fal.CreateApiKeyResponseErrorType2? Type1460 { get; set; } + public global::System.Collections.Generic.IList? Type1460 { get; set; } /// /// /// - public global::Fal.CreateApiKeyResponse4? Type1461 { get; set; } + public global::Fal.ServerlessListRequestsByEndpointResponseItem? Type1461 { get; set; } /// /// /// - public global::Fal.CreateApiKeyResponseError3? Type1462 { get; set; } + public global::Fal.ServerlessListRequestsByEndpointResponse2? Type1462 { get; set; } /// /// /// - public global::Fal.CreateApiKeyResponseErrorType3? Type1463 { get; set; } + public global::Fal.ServerlessListRequestsByEndpointResponseError? Type1463 { get; set; } /// /// /// - public global::Fal.CreateApiKeyResponse5? Type1464 { get; set; } + public global::Fal.ServerlessListRequestsByEndpointResponseErrorType? Type1464 { get; set; } /// /// /// - public global::Fal.CreateApiKeyResponseError4? Type1465 { get; set; } + public global::Fal.ServerlessListRequestsByEndpointResponse3? Type1465 { get; set; } /// /// /// - public global::Fal.CreateApiKeyResponseErrorType4? Type1466 { get; set; } + public global::Fal.ServerlessListRequestsByEndpointResponseError2? Type1466 { get; set; } /// /// /// - public global::Fal.CreateApiKeyResponse6? Type1467 { get; set; } + public global::Fal.ServerlessListRequestsByEndpointResponseErrorType2? Type1467 { get; set; } /// /// /// - public global::Fal.CreateApiKeyResponseError5? Type1468 { get; set; } + public global::Fal.ServerlessListRequestsByEndpointResponse4? Type1468 { get; set; } /// /// /// - public global::Fal.CreateApiKeyResponseErrorType5? Type1469 { get; set; } + public global::Fal.ServerlessListRequestsByEndpointResponseError3? Type1469 { get; set; } /// /// /// - public global::Fal.DeleteApiKeyResponse? Type1470 { get; set; } + public global::Fal.ServerlessListRequestsByEndpointResponseErrorType3? Type1470 { get; set; } /// /// /// - public global::Fal.DeleteApiKeyResponseError? Type1471 { get; set; } + public global::Fal.ServerlessListRequestsByEndpointResponse5? Type1471 { get; set; } /// /// /// - public global::Fal.DeleteApiKeyResponseErrorType? Type1472 { get; set; } + public global::Fal.ServerlessListRequestsByEndpointResponseError4? Type1472 { get; set; } /// /// /// - public global::Fal.DeleteApiKeyResponse2? Type1473 { get; set; } + public global::Fal.ServerlessListRequestsByEndpointResponseErrorType4? Type1473 { get; set; } /// /// /// - public global::Fal.DeleteApiKeyResponseError2? Type1474 { get; set; } + public global::Fal.ServerlessListRequestsByEndpointResponse6? Type1474 { get; set; } /// /// /// - public global::Fal.DeleteApiKeyResponseErrorType2? Type1475 { get; set; } + public global::Fal.ServerlessListRequestsByEndpointResponseError5? Type1475 { get; set; } /// /// /// - public global::Fal.DeleteApiKeyResponse3? Type1476 { get; set; } + public global::Fal.ServerlessListRequestsByEndpointResponseErrorType5? Type1476 { get; set; } /// /// /// - public global::Fal.DeleteApiKeyResponseError3? Type1477 { get; set; } + public global::Fal.ServerlessListRequestsByEndpointResponse7? Type1477 { get; set; } /// /// /// - public global::Fal.DeleteApiKeyResponseErrorType3? Type1478 { get; set; } + public global::Fal.ServerlessListRequestsByEndpointResponseError6? Type1478 { get; set; } /// /// /// - public global::Fal.DeleteApiKeyResponse4? Type1479 { get; set; } + public global::Fal.ServerlessListRequestsByEndpointResponseErrorType6? Type1479 { get; set; } /// /// /// - public global::Fal.DeleteApiKeyResponseError4? Type1480 { get; set; } + public global::Fal.ListComputeInstancesResponse? Type1480 { get; set; } /// /// /// - public global::Fal.DeleteApiKeyResponseErrorType4? Type1481 { get; set; } + public global::System.Collections.Generic.IList? Type1481 { get; set; } /// /// /// - public global::Fal.GetAccountBillingResponse? Type1482 { get; set; } + public global::Fal.ListComputeInstancesResponseInstance? Type1482 { get; set; } /// /// /// - public global::Fal.GetAccountBillingResponseCredits? Type1483 { get; set; } + public global::Fal.ListComputeInstancesResponseInstanceInstanceType? Type1483 { get; set; } /// /// /// - public global::Fal.GetAccountBillingResponse2? Type1484 { get; set; } + public global::Fal.ListComputeInstancesResponseInstanceRegion? Type1484 { get; set; } /// /// /// - public global::Fal.GetAccountBillingResponseError? Type1485 { get; set; } + public global::Fal.ListComputeInstancesResponseInstanceSector? Type1485 { get; set; } /// /// /// - public global::Fal.GetAccountBillingResponseErrorType? Type1486 { get; set; } + public global::Fal.ListComputeInstancesResponseInstanceStatus? Type1486 { get; set; } /// /// /// - public global::Fal.GetAccountBillingResponse3? Type1487 { get; set; } + public global::Fal.ListComputeInstancesResponse2? Type1487 { get; set; } /// /// /// - public global::Fal.GetAccountBillingResponseError2? Type1488 { get; set; } + public global::Fal.ListComputeInstancesResponseError? Type1488 { get; set; } /// /// /// - public global::Fal.GetAccountBillingResponseErrorType2? Type1489 { get; set; } + public global::Fal.ListComputeInstancesResponseErrorType? Type1489 { get; set; } /// /// /// - public global::Fal.GetAccountBillingResponse4? Type1490 { get; set; } + public global::Fal.ListComputeInstancesResponse3? Type1490 { get; set; } /// /// /// - public global::Fal.GetAccountBillingResponseError3? Type1491 { get; set; } + public global::Fal.ListComputeInstancesResponseError2? Type1491 { get; set; } /// /// /// - public global::Fal.GetAccountBillingResponseErrorType3? Type1492 { get; set; } + public global::Fal.ListComputeInstancesResponseErrorType2? Type1492 { get; set; } /// /// /// - public global::Fal.GetAccountBillingResponse5? Type1493 { get; set; } + public global::Fal.ListComputeInstancesResponse4? Type1493 { get; set; } /// /// /// - public global::Fal.GetAccountBillingResponseError4? Type1494 { get; set; } + public global::Fal.ListComputeInstancesResponseError3? Type1494 { get; set; } /// /// /// - public global::Fal.GetAccountBillingResponseErrorType4? Type1495 { get; set; } + public global::Fal.ListComputeInstancesResponseErrorType3? Type1495 { get; set; } /// /// /// - public global::Fal.GetAccountBillingResponse6? Type1496 { get; set; } + public global::Fal.ListComputeInstancesResponse5? Type1496 { get; set; } /// /// /// - public global::Fal.GetAccountBillingResponseError5? Type1497 { get; set; } + public global::Fal.ListComputeInstancesResponseError4? Type1497 { get; set; } /// /// /// - public global::Fal.GetAccountBillingResponseErrorType5? Type1498 { get; set; } + public global::Fal.ListComputeInstancesResponseErrorType4? Type1498 { get; set; } /// /// /// - public global::Fal.GetFocusReportResponse? Type1499 { get; set; } + public global::Fal.CreateComputeInstanceResponse? Type1499 { get; set; } /// /// /// - public global::Fal.GetFocusReportResponseError? Type1500 { get; set; } + public global::Fal.CreateComputeInstanceResponseInstanceType? Type1500 { get; set; } /// /// /// - public global::Fal.GetFocusReportResponseErrorType? Type1501 { get; set; } + public global::Fal.CreateComputeInstanceResponseRegion? Type1501 { get; set; } /// /// /// - public global::Fal.GetFocusReportResponse2? Type1502 { get; set; } + public global::Fal.CreateComputeInstanceResponseSector? Type1502 { get; set; } /// /// /// - public global::Fal.GetFocusReportResponseError2? Type1503 { get; set; } + public global::Fal.CreateComputeInstanceResponseStatus? Type1503 { get; set; } /// /// /// - public global::Fal.GetFocusReportResponseErrorType2? Type1504 { get; set; } + public global::Fal.CreateComputeInstanceResponse2? Type1504 { get; set; } /// /// /// - public global::Fal.GetFocusReportResponse3? Type1505 { get; set; } + public global::Fal.CreateComputeInstanceResponseError? Type1505 { get; set; } /// /// /// - public global::Fal.GetFocusReportResponseError3? Type1506 { get; set; } + public global::Fal.CreateComputeInstanceResponseErrorType? Type1506 { get; set; } /// /// /// - public global::Fal.GetFocusReportResponseErrorType3? Type1507 { get; set; } + public global::Fal.CreateComputeInstanceResponse3? Type1507 { get; set; } /// /// /// - public global::Fal.GetFocusReportResponse4? Type1508 { get; set; } + public global::Fal.CreateComputeInstanceResponseError2? Type1508 { get; set; } /// /// /// - public global::Fal.GetFocusReportResponseError4? Type1509 { get; set; } + public global::Fal.CreateComputeInstanceResponseErrorType2? Type1509 { get; set; } /// /// /// - public global::Fal.GetFocusReportResponseErrorType4? Type1510 { get; set; } + public global::Fal.CreateComputeInstanceResponse4? Type1510 { get; set; } /// /// /// - public global::Fal.GetFocusReportResponse5? Type1511 { get; set; } + public global::Fal.CreateComputeInstanceResponseError3? Type1511 { get; set; } /// /// /// - public global::Fal.GetFocusReportResponseError5? Type1512 { get; set; } + public global::Fal.CreateComputeInstanceResponseErrorType3? Type1512 { get; set; } /// /// /// - public global::Fal.GetFocusReportResponseErrorType5? Type1513 { get; set; } + public global::Fal.CreateComputeInstanceResponse5? Type1513 { get; set; } /// /// /// - public global::Fal.GetModelAccessControlsResponse? Type1514 { get; set; } + public global::Fal.CreateComputeInstanceResponseError4? Type1514 { get; set; } /// /// /// - public global::Fal.GetModelAccessControlsResponseError? Type1515 { get; set; } + public global::Fal.CreateComputeInstanceResponseErrorType4? Type1515 { get; set; } /// /// /// - public global::Fal.GetModelAccessControlsResponseErrorType? Type1516 { get; set; } + public global::Fal.CreateComputeInstanceResponse6? Type1516 { get; set; } /// /// /// - public global::Fal.GetModelAccessControlsResponse2? Type1517 { get; set; } + public global::Fal.CreateComputeInstanceResponseError5? Type1517 { get; set; } /// /// /// - public global::Fal.GetModelAccessControlsResponseError2? Type1518 { get; set; } + public global::Fal.CreateComputeInstanceResponseErrorType5? Type1518 { get; set; } /// /// /// - public global::Fal.GetModelAccessControlsResponseErrorType2? Type1519 { get; set; } + public global::Fal.GetComputeInstanceResponse? Type1519 { get; set; } /// /// /// - public global::Fal.GetModelAccessControlsResponse3? Type1520 { get; set; } + public global::Fal.GetComputeInstanceResponseInstanceType? Type1520 { get; set; } /// /// /// - public global::Fal.GetModelAccessControlsResponseError3? Type1521 { get; set; } + public global::Fal.GetComputeInstanceResponseRegion? Type1521 { get; set; } /// /// /// - public global::Fal.GetModelAccessControlsResponseErrorType3? Type1522 { get; set; } + public global::Fal.GetComputeInstanceResponseSector? Type1522 { get; set; } /// /// /// - public global::Fal.GetModelAccessControlsResponse4? Type1523 { get; set; } + public global::Fal.GetComputeInstanceResponseStatus? Type1523 { get; set; } /// /// /// - public global::Fal.GetModelAccessControlsResponseError4? Type1524 { get; set; } + public global::Fal.GetComputeInstanceResponse2? Type1524 { get; set; } /// /// /// - public global::Fal.GetModelAccessControlsResponseErrorType4? Type1525 { get; set; } + public global::Fal.GetComputeInstanceResponseError? Type1525 { get; set; } /// /// /// - public global::Fal.GetOrganizationTeamsResponse? Type1526 { get; set; } + public global::Fal.GetComputeInstanceResponseErrorType? Type1526 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type1527 { get; set; } + public global::Fal.GetComputeInstanceResponse3? Type1527 { get; set; } /// /// /// - public global::Fal.GetOrganizationTeamsResponseTeam? Type1528 { get; set; } + public global::Fal.GetComputeInstanceResponseError2? Type1528 { get; set; } /// /// /// - public global::Fal.GetOrganizationTeamsResponse2? Type1529 { get; set; } + public global::Fal.GetComputeInstanceResponseErrorType2? Type1529 { get; set; } /// /// /// - public global::Fal.GetOrganizationTeamsResponseError? Type1530 { get; set; } + public global::Fal.GetComputeInstanceResponse4? Type1530 { get; set; } /// /// /// - public global::Fal.GetOrganizationTeamsResponseErrorType? Type1531 { get; set; } + public global::Fal.GetComputeInstanceResponseError3? Type1531 { get; set; } /// /// /// - public global::Fal.GetOrganizationTeamsResponse3? Type1532 { get; set; } + public global::Fal.GetComputeInstanceResponseErrorType3? Type1532 { get; set; } /// /// /// - public global::Fal.GetOrganizationTeamsResponseError2? Type1533 { get; set; } + public global::Fal.GetComputeInstanceResponse5? Type1533 { get; set; } /// /// /// - public global::Fal.GetOrganizationTeamsResponseErrorType2? Type1534 { get; set; } + public global::Fal.GetComputeInstanceResponseError4? Type1534 { get; set; } /// /// /// - public global::Fal.GetOrganizationTeamsResponse4? Type1535 { get; set; } + public global::Fal.GetComputeInstanceResponseErrorType4? Type1535 { get; set; } /// /// /// - public global::Fal.GetOrganizationTeamsResponseError3? Type1536 { get; set; } + public global::Fal.GetComputeInstanceResponse6? Type1536 { get; set; } /// /// /// - public global::Fal.GetOrganizationTeamsResponseErrorType3? Type1537 { get; set; } + public global::Fal.GetComputeInstanceResponseError5? Type1537 { get; set; } /// /// /// - public global::Fal.GetOrganizationTeamsResponse5? Type1538 { get; set; } + public global::Fal.GetComputeInstanceResponseErrorType5? Type1538 { get; set; } /// /// /// - public global::Fal.GetOrganizationTeamsResponseError4? Type1539 { get; set; } + public global::Fal.DeleteComputeInstanceResponse? Type1539 { get; set; } /// /// /// - public global::Fal.GetOrganizationTeamsResponseErrorType4? Type1540 { get; set; } + public global::Fal.DeleteComputeInstanceResponseError? Type1540 { get; set; } /// /// /// - public global::Fal.GetOrganizationTeamsResponse6? Type1541 { get; set; } + public global::Fal.DeleteComputeInstanceResponseErrorType? Type1541 { get; set; } /// /// /// - public global::Fal.GetOrganizationTeamsResponseError5? Type1542 { get; set; } + public global::Fal.DeleteComputeInstanceResponse2? Type1542 { get; set; } /// /// /// - public global::Fal.GetOrganizationTeamsResponseErrorType5? Type1543 { get; set; } + public global::Fal.DeleteComputeInstanceResponseError2? Type1543 { get; set; } /// /// /// - public global::Fal.GetOrganizationTeamsResponse7? Type1544 { get; set; } + public global::Fal.DeleteComputeInstanceResponseErrorType2? Type1544 { get; set; } /// /// /// - public global::Fal.GetOrganizationTeamsResponseError6? Type1545 { get; set; } + public global::Fal.DeleteComputeInstanceResponse3? Type1545 { get; set; } /// /// /// - public global::Fal.GetOrganizationTeamsResponseErrorType6? Type1546 { get; set; } + public global::Fal.DeleteComputeInstanceResponseError3? Type1546 { get; set; } /// /// /// - public global::Fal.GetOrganizationUsageResponse? Type1547 { get; set; } + public global::Fal.DeleteComputeInstanceResponseErrorType3? Type1547 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type1548 { get; set; } + public global::Fal.DeleteComputeInstanceResponse4? Type1548 { get; set; } /// /// /// - public global::Fal.GetOrganizationUsageResponseTimeSerie? Type1549 { get; set; } + public global::Fal.DeleteComputeInstanceResponseError4? Type1549 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type1550 { get; set; } + public global::Fal.DeleteComputeInstanceResponseErrorType4? Type1550 { get; set; } /// /// /// - public global::Fal.GetOrganizationUsageResponseTimeSerieResult? Type1551 { get; set; } + public global::Fal.DeleteComputeInstanceResponse5? Type1551 { get; set; } /// /// /// - public global::Fal.GetOrganizationUsageResponseTimeSerieResultProduct? Type1552 { get; set; } + public global::Fal.DeleteComputeInstanceResponseError5? Type1552 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type1553 { get; set; } + public global::Fal.DeleteComputeInstanceResponseErrorType5? Type1553 { get; set; } /// /// /// - public global::Fal.GetOrganizationUsageResponseSummaryItem? Type1554 { get; set; } + public global::Fal.ListApiKeysResponse? Type1554 { get; set; } /// /// /// - public global::Fal.GetOrganizationUsageResponseSummaryItemProduct? Type1555 { get; set; } + public global::System.Collections.Generic.IList? Type1555 { get; set; } /// /// /// - public global::Fal.GetOrganizationUsageResponse2? Type1556 { get; set; } + public global::Fal.ListApiKeysResponseKey? Type1556 { get; set; } /// /// /// - public global::Fal.GetOrganizationUsageResponseError? Type1557 { get; set; } + public global::Fal.ListApiKeysResponseKeyScope? Type1557 { get; set; } /// /// /// - public global::Fal.GetOrganizationUsageResponseErrorType? Type1558 { get; set; } + public global::Fal.ListApiKeysResponse2? Type1558 { get; set; } /// /// /// - public global::Fal.GetOrganizationUsageResponse3? Type1559 { get; set; } + public global::Fal.ListApiKeysResponseError? Type1559 { get; set; } /// /// /// - public global::Fal.GetOrganizationUsageResponseError2? Type1560 { get; set; } + public global::Fal.ListApiKeysResponseErrorType? Type1560 { get; set; } /// /// /// - public global::Fal.GetOrganizationUsageResponseErrorType2? Type1561 { get; set; } + public global::Fal.ListApiKeysResponse3? Type1561 { get; set; } /// /// /// - public global::Fal.GetOrganizationUsageResponse4? Type1562 { get; set; } + public global::Fal.ListApiKeysResponseError2? Type1562 { get; set; } /// /// /// - public global::Fal.GetOrganizationUsageResponseError3? Type1563 { get; set; } + public global::Fal.ListApiKeysResponseErrorType2? Type1563 { get; set; } /// /// /// - public global::Fal.GetOrganizationUsageResponseErrorType3? Type1564 { get; set; } + public global::Fal.ListApiKeysResponse4? Type1564 { get; set; } /// /// /// - public global::Fal.GetOrganizationUsageResponse5? Type1565 { get; set; } + public global::Fal.ListApiKeysResponseError3? Type1565 { get; set; } /// /// /// - public global::Fal.GetOrganizationUsageResponseError4? Type1566 { get; set; } + public global::Fal.ListApiKeysResponseErrorType3? Type1566 { get; set; } /// /// /// - public global::Fal.GetOrganizationUsageResponseErrorType4? Type1567 { get; set; } + public global::Fal.ListApiKeysResponse5? Type1567 { get; set; } /// /// /// - public global::Fal.GetOrganizationUsageResponse6? Type1568 { get; set; } + public global::Fal.ListApiKeysResponseError4? Type1568 { get; set; } /// /// /// - public global::Fal.GetOrganizationUsageResponseError5? Type1569 { get; set; } + public global::Fal.ListApiKeysResponseErrorType4? Type1569 { get; set; } /// /// /// - public global::Fal.GetOrganizationUsageResponseErrorType5? Type1570 { get; set; } + public global::Fal.CreateApiKeyResponse? Type1570 { get; set; } /// /// /// - public global::Fal.GetOrganizationUsageResponse7? Type1571 { get; set; } + public global::Fal.CreateApiKeyResponse2? Type1571 { get; set; } /// /// /// - public global::Fal.GetOrganizationUsageResponseError6? Type1572 { get; set; } + public global::Fal.CreateApiKeyResponseError? Type1572 { get; set; } /// /// /// - public global::Fal.GetOrganizationUsageResponseErrorType6? Type1573 { get; set; } + public global::Fal.CreateApiKeyResponseErrorType? Type1573 { get; set; } /// /// /// - public global::Fal.GetMetaResponse? Type1574 { get; set; } + public global::Fal.CreateApiKeyResponse3? Type1574 { get; set; } /// /// /// - public global::Fal.GetMetaResponse2? Type1575 { get; set; } + public global::Fal.CreateApiKeyResponseError2? Type1575 { get; set; } /// /// /// - public global::Fal.GetMetaResponseError? Type1576 { get; set; } + public global::Fal.CreateApiKeyResponseErrorType2? Type1576 { get; set; } /// /// /// - public global::Fal.GetMetaResponseErrorType? Type1577 { get; set; } + public global::Fal.CreateApiKeyResponse4? Type1577 { get; set; } /// /// /// - public global::Fal.GetMetaResponse3? Type1578 { get; set; } + public global::Fal.CreateApiKeyResponseError3? Type1578 { get; set; } /// /// /// - public global::Fal.GetMetaResponseError2? Type1579 { get; set; } + public global::Fal.CreateApiKeyResponseErrorType3? Type1579 { get; set; } /// /// /// - public global::Fal.GetMetaResponseErrorType2? Type1580 { get; set; } + public global::Fal.CreateApiKeyResponse5? Type1580 { get; set; } + /// + /// + /// + public global::Fal.CreateApiKeyResponseError4? Type1581 { get; set; } + /// + /// + /// + public global::Fal.CreateApiKeyResponseErrorType4? Type1582 { get; set; } + /// + /// + /// + public global::Fal.CreateApiKeyResponse6? Type1583 { get; set; } + /// + /// + /// + public global::Fal.CreateApiKeyResponseError5? Type1584 { get; set; } + /// + /// + /// + public global::Fal.CreateApiKeyResponseErrorType5? Type1585 { get; set; } + /// + /// + /// + public global::Fal.DeleteApiKeyResponse? Type1586 { get; set; } + /// + /// + /// + public global::Fal.DeleteApiKeyResponseError? Type1587 { get; set; } + /// + /// + /// + public global::Fal.DeleteApiKeyResponseErrorType? Type1588 { get; set; } + /// + /// + /// + public global::Fal.DeleteApiKeyResponse2? Type1589 { get; set; } + /// + /// + /// + public global::Fal.DeleteApiKeyResponseError2? Type1590 { get; set; } + /// + /// + /// + public global::Fal.DeleteApiKeyResponseErrorType2? Type1591 { get; set; } + /// + /// + /// + public global::Fal.DeleteApiKeyResponse3? Type1592 { get; set; } + /// + /// + /// + public global::Fal.DeleteApiKeyResponseError3? Type1593 { get; set; } + /// + /// + /// + public global::Fal.DeleteApiKeyResponseErrorType3? Type1594 { get; set; } + /// + /// + /// + public global::Fal.DeleteApiKeyResponse4? Type1595 { get; set; } + /// + /// + /// + public global::Fal.DeleteApiKeyResponseError4? Type1596 { get; set; } + /// + /// + /// + public global::Fal.DeleteApiKeyResponseErrorType4? Type1597 { get; set; } + /// + /// + /// + public global::Fal.GetAccountBillingResponse? Type1598 { get; set; } + /// + /// + /// + public global::Fal.GetAccountBillingResponseCredits? Type1599 { get; set; } + /// + /// + /// + public global::Fal.GetAccountBillingResponse2? Type1600 { get; set; } + /// + /// + /// + public global::Fal.GetAccountBillingResponseError? Type1601 { get; set; } + /// + /// + /// + public global::Fal.GetAccountBillingResponseErrorType? Type1602 { get; set; } + /// + /// + /// + public global::Fal.GetAccountBillingResponse3? Type1603 { get; set; } + /// + /// + /// + public global::Fal.GetAccountBillingResponseError2? Type1604 { get; set; } + /// + /// + /// + public global::Fal.GetAccountBillingResponseErrorType2? Type1605 { get; set; } + /// + /// + /// + public global::Fal.GetAccountBillingResponse4? Type1606 { get; set; } + /// + /// + /// + public global::Fal.GetAccountBillingResponseError3? Type1607 { get; set; } + /// + /// + /// + public global::Fal.GetAccountBillingResponseErrorType3? Type1608 { get; set; } + /// + /// + /// + public global::Fal.GetAccountBillingResponse5? Type1609 { get; set; } + /// + /// + /// + public global::Fal.GetAccountBillingResponseError4? Type1610 { get; set; } + /// + /// + /// + public global::Fal.GetAccountBillingResponseErrorType4? Type1611 { get; set; } + /// + /// + /// + public global::Fal.GetAccountBillingResponse6? Type1612 { get; set; } + /// + /// + /// + public global::Fal.GetAccountBillingResponseError5? Type1613 { get; set; } + /// + /// + /// + public global::Fal.GetAccountBillingResponseErrorType5? Type1614 { get; set; } + /// + /// + /// + public global::Fal.GetFocusReportResponse? Type1615 { get; set; } + /// + /// + /// + public global::Fal.GetFocusReportResponseError? Type1616 { get; set; } + /// + /// + /// + public global::Fal.GetFocusReportResponseErrorType? Type1617 { get; set; } + /// + /// + /// + public global::Fal.GetFocusReportResponse2? Type1618 { get; set; } + /// + /// + /// + public global::Fal.GetFocusReportResponseError2? Type1619 { get; set; } + /// + /// + /// + public global::Fal.GetFocusReportResponseErrorType2? Type1620 { get; set; } + /// + /// + /// + public global::Fal.GetFocusReportResponse3? Type1621 { get; set; } + /// + /// + /// + public global::Fal.GetFocusReportResponseError3? Type1622 { get; set; } + /// + /// + /// + public global::Fal.GetFocusReportResponseErrorType3? Type1623 { get; set; } + /// + /// + /// + public global::Fal.GetFocusReportResponse4? Type1624 { get; set; } + /// + /// + /// + public global::Fal.GetFocusReportResponseError4? Type1625 { get; set; } + /// + /// + /// + public global::Fal.GetFocusReportResponseErrorType4? Type1626 { get; set; } + /// + /// + /// + public global::Fal.GetFocusReportResponse5? Type1627 { get; set; } + /// + /// + /// + public global::Fal.GetFocusReportResponseError5? Type1628 { get; set; } + /// + /// + /// + public global::Fal.GetFocusReportResponseErrorType5? Type1629 { get; set; } + /// + /// + /// + public global::Fal.GetModelAccessControlsResponse? Type1630 { get; set; } + /// + /// + /// + public global::Fal.GetModelAccessControlsResponseError? Type1631 { get; set; } + /// + /// + /// + public global::Fal.GetModelAccessControlsResponseErrorType? Type1632 { get; set; } + /// + /// + /// + public global::Fal.GetModelAccessControlsResponse2? Type1633 { get; set; } + /// + /// + /// + public global::Fal.GetModelAccessControlsResponseError2? Type1634 { get; set; } + /// + /// + /// + public global::Fal.GetModelAccessControlsResponseErrorType2? Type1635 { get; set; } + /// + /// + /// + public global::Fal.GetModelAccessControlsResponse3? Type1636 { get; set; } + /// + /// + /// + public global::Fal.GetModelAccessControlsResponseError3? Type1637 { get; set; } + /// + /// + /// + public global::Fal.GetModelAccessControlsResponseErrorType3? Type1638 { get; set; } + /// + /// + /// + public global::Fal.GetModelAccessControlsResponse4? Type1639 { get; set; } + /// + /// + /// + public global::Fal.GetModelAccessControlsResponseError4? Type1640 { get; set; } + /// + /// + /// + public global::Fal.GetModelAccessControlsResponseErrorType4? Type1641 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationTeamsResponse? Type1642 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type1643 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationTeamsResponseTeam? Type1644 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationTeamsResponse2? Type1645 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationTeamsResponseError? Type1646 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationTeamsResponseErrorType? Type1647 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationTeamsResponse3? Type1648 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationTeamsResponseError2? Type1649 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationTeamsResponseErrorType2? Type1650 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationTeamsResponse4? Type1651 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationTeamsResponseError3? Type1652 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationTeamsResponseErrorType3? Type1653 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationTeamsResponse5? Type1654 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationTeamsResponseError4? Type1655 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationTeamsResponseErrorType4? Type1656 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationTeamsResponse6? Type1657 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationTeamsResponseError5? Type1658 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationTeamsResponseErrorType5? Type1659 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationTeamsResponse7? Type1660 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationTeamsResponseError6? Type1661 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationTeamsResponseErrorType6? Type1662 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationUsageResponse? Type1663 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type1664 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationUsageResponseTimeSerie? Type1665 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type1666 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationUsageResponseTimeSerieResult? Type1667 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationUsageResponseTimeSerieResultProduct? Type1668 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type1669 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationUsageResponseSummaryItem? Type1670 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationUsageResponseSummaryItemProduct? Type1671 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationUsageResponse2? Type1672 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationUsageResponseError? Type1673 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationUsageResponseErrorType? Type1674 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationUsageResponse3? Type1675 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationUsageResponseError2? Type1676 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationUsageResponseErrorType2? Type1677 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationUsageResponse4? Type1678 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationUsageResponseError3? Type1679 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationUsageResponseErrorType3? Type1680 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationUsageResponse5? Type1681 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationUsageResponseError4? Type1682 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationUsageResponseErrorType4? Type1683 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationUsageResponse6? Type1684 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationUsageResponseError5? Type1685 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationUsageResponseErrorType5? Type1686 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationUsageResponse7? Type1687 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationUsageResponseError6? Type1688 { get; set; } + /// + /// + /// + public global::Fal.GetOrganizationUsageResponseErrorType6? Type1689 { get; set; } + /// + /// + /// + public global::Fal.GetMetaResponse? Type1690 { get; set; } + /// + /// + /// + public global::Fal.GetMetaResponse2? Type1691 { get; set; } + /// + /// + /// + public global::Fal.GetMetaResponseError? Type1692 { get; set; } + /// + /// + /// + public global::Fal.GetMetaResponseErrorType? Type1693 { get; set; } + /// + /// + /// + public global::Fal.GetMetaResponse3? Type1694 { get; set; } + /// + /// + /// + public global::Fal.GetMetaResponseError2? Type1695 { get; set; } + /// + /// + /// + public global::Fal.GetMetaResponseErrorType2? Type1696 { get; set; } /// /// @@ -6357,178 +6821,202 @@ public sealed partial class JsonSerializerContextTypes /// /// /// - public global::System.Collections.Generic.List? ListType1 { get; set; } + public global::System.Collections.Generic.List? ListType1 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.List? ListType2 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.List? ListType3 { get; set; } + /// + /// + /// + public global::Fal.AnyOf>? ListType4 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.List? ListType5 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.List? ListType6 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.List? ListType7 { get; set; } /// /// /// - public global::Fal.AnyOf>? ListType2 { get; set; } + public global::System.Collections.Generic.List? ListType8 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType3 { get; set; } + public global::System.Collections.Generic.List? ListType9 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType4 { get; set; } + public global::System.Collections.Generic.List? ListType10 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType5 { get; set; } + public global::System.Collections.Generic.List? ListType11 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType6 { get; set; } + public global::System.Collections.Generic.List? ListType12 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType7 { get; set; } + public global::System.Collections.Generic.List? ListType13 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType8 { get; set; } + public global::System.Collections.Generic.List? ListType14 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType9 { get; set; } + public global::System.Collections.Generic.List? ListType15 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType10 { get; set; } + public global::System.Collections.Generic.List? ListType16 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType11 { get; set; } + public global::System.Collections.Generic.List? ListType17 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType12 { get; set; } + public global::System.Collections.Generic.List? ListType18 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType13 { get; set; } + public global::System.Collections.Generic.List? ListType19 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType14 { get; set; } + public global::System.Collections.Generic.List? ListType20 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType15 { get; set; } + public global::System.Collections.Generic.List? ListType21 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType16 { get; set; } + public global::System.Collections.Generic.List? ListType22 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType17 { get; set; } + public global::System.Collections.Generic.List? ListType23 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType18 { get; set; } + public global::System.Collections.Generic.List? ListType24 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType19 { get; set; } + public global::System.Collections.Generic.List? ListType25 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType20 { get; set; } + public global::System.Collections.Generic.List? ListType26 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType21 { get; set; } + public global::System.Collections.Generic.List? ListType27 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType22 { get; set; } + public global::System.Collections.Generic.List? ListType28 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType23 { get; set; } + public global::System.Collections.Generic.List? ListType29 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType24 { get; set; } + public global::System.Collections.Generic.List? ListType30 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType25 { get; set; } + public global::System.Collections.Generic.List? ListType31 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType26 { get; set; } + public global::System.Collections.Generic.List? ListType32 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType27 { get; set; } + public global::System.Collections.Generic.List? ListType33 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType28 { get; set; } + public global::System.Collections.Generic.List? ListType34 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType29 { get; set; } + public global::System.Collections.Generic.List? ListType35 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType30 { get; set; } + public global::System.Collections.Generic.List? ListType36 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType31 { get; set; } + public global::System.Collections.Generic.List? ListType37 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType32 { get; set; } + public global::System.Collections.Generic.List? ListType38 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType33 { get; set; } + public global::System.Collections.Generic.List? ListType39 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType34 { get; set; } + public global::System.Collections.Generic.List? ListType40 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType35 { get; set; } + public global::System.Collections.Generic.List? ListType41 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType36 { get; set; } + public global::System.Collections.Generic.List? ListType42 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType37 { get; set; } + public global::System.Collections.Generic.List? ListType43 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType38 { get; set; } + public global::System.Collections.Generic.List? ListType44 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType39 { get; set; } + public global::System.Collections.Generic.List? ListType45 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType40 { get; set; } + public global::System.Collections.Generic.List? ListType46 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType41 { get; set; } + public global::System.Collections.Generic.List? ListType47 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType42 { get; set; } + public global::System.Collections.Generic.List? ListType48 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType43 { get; set; } + public global::System.Collections.Generic.List? ListType49 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType44 { get; set; } + public global::System.Collections.Generic.List? ListType50 { get; set; } } } \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse.Json.g.cs new file mode 100644 index 0000000..40e6a15 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class GetStorageFileAclResponse + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.GetStorageFileAclResponse? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.GetStorageFileAclResponse), + jsonSerializerContext) as global::Fal.GetStorageFileAclResponse; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.GetStorageFileAclResponse? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.GetStorageFileAclResponse), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.GetStorageFileAclResponse; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse.g.cs new file mode 100644 index 0000000..dddfbd8 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse.g.cs @@ -0,0 +1,63 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Access Control List currently applied to the file + /// + public sealed partial class GetStorageFileAclResponse + { + /// + /// Fallback decision when no user-specific rule matches
+ /// Example: allow + ///
+ /// allow + [global::System.Text.Json.Serialization.JsonPropertyName("default")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.GetStorageFileAclResponseDefaultJsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.GetStorageFileAclResponseDefault Default { get; set; } + + /// + /// User-specific overrides to the default decision. Users are returned as nicknames where possible. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("rules")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.Collections.Generic.IList Rules { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Fallback decision when no user-specific rule matches
+ /// Example: allow + /// + /// + /// User-specific overrides to the default decision. Users are returned as nicknames where possible. + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public GetStorageFileAclResponse( + global::Fal.GetStorageFileAclResponseDefault @default, + global::System.Collections.Generic.IList rules) + { + this.Default = @default; + this.Rules = rules ?? throw new global::System.ArgumentNullException(nameof(rules)); + } + + /// + /// Initializes a new instance of the class. + /// + public GetStorageFileAclResponse() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse2.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse2.Json.g.cs new file mode 100644 index 0000000..bb47017 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse2.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class GetStorageFileAclResponse2 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.GetStorageFileAclResponse2? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.GetStorageFileAclResponse2), + jsonSerializerContext) as global::Fal.GetStorageFileAclResponse2; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.GetStorageFileAclResponse2? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.GetStorageFileAclResponse2), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.GetStorageFileAclResponse2; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse2.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse2.g.cs new file mode 100644 index 0000000..9f414a2 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse2.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Standard error response format + /// + public sealed partial class GetStorageFileAclResponse2 + { + /// + /// Error details + /// + [global::System.Text.Json.Serialization.JsonPropertyName("error")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.GetStorageFileAclResponseError Error { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Error details + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public GetStorageFileAclResponse2( + global::Fal.GetStorageFileAclResponseError error) + { + this.Error = error ?? throw new global::System.ArgumentNullException(nameof(error)); + } + + /// + /// Initializes a new instance of the class. + /// + public GetStorageFileAclResponse2() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse3.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse3.Json.g.cs new file mode 100644 index 0000000..d8643d8 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse3.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class GetStorageFileAclResponse3 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.GetStorageFileAclResponse3? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.GetStorageFileAclResponse3), + jsonSerializerContext) as global::Fal.GetStorageFileAclResponse3; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.GetStorageFileAclResponse3? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.GetStorageFileAclResponse3), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.GetStorageFileAclResponse3; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse3.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse3.g.cs new file mode 100644 index 0000000..9a65906 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse3.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Standard error response format + /// + public sealed partial class GetStorageFileAclResponse3 + { + /// + /// Error details + /// + [global::System.Text.Json.Serialization.JsonPropertyName("error")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.GetStorageFileAclResponseError2 Error { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Error details + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public GetStorageFileAclResponse3( + global::Fal.GetStorageFileAclResponseError2 error) + { + this.Error = error ?? throw new global::System.ArgumentNullException(nameof(error)); + } + + /// + /// Initializes a new instance of the class. + /// + public GetStorageFileAclResponse3() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse4.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse4.Json.g.cs new file mode 100644 index 0000000..1ee3f2c --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse4.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class GetStorageFileAclResponse4 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.GetStorageFileAclResponse4? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.GetStorageFileAclResponse4), + jsonSerializerContext) as global::Fal.GetStorageFileAclResponse4; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.GetStorageFileAclResponse4? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.GetStorageFileAclResponse4), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.GetStorageFileAclResponse4; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse4.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse4.g.cs new file mode 100644 index 0000000..575ac9a --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse4.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Standard error response format + /// + public sealed partial class GetStorageFileAclResponse4 + { + /// + /// Error details + /// + [global::System.Text.Json.Serialization.JsonPropertyName("error")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.GetStorageFileAclResponseError3 Error { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Error details + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public GetStorageFileAclResponse4( + global::Fal.GetStorageFileAclResponseError3 error) + { + this.Error = error ?? throw new global::System.ArgumentNullException(nameof(error)); + } + + /// + /// Initializes a new instance of the class. + /// + public GetStorageFileAclResponse4() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse5.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse5.Json.g.cs new file mode 100644 index 0000000..22d6914 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse5.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class GetStorageFileAclResponse5 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.GetStorageFileAclResponse5? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.GetStorageFileAclResponse5), + jsonSerializerContext) as global::Fal.GetStorageFileAclResponse5; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.GetStorageFileAclResponse5? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.GetStorageFileAclResponse5), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.GetStorageFileAclResponse5; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse5.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse5.g.cs new file mode 100644 index 0000000..0398779 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse5.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Standard error response format + /// + public sealed partial class GetStorageFileAclResponse5 + { + /// + /// Error details + /// + [global::System.Text.Json.Serialization.JsonPropertyName("error")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.GetStorageFileAclResponseError4 Error { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Error details + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public GetStorageFileAclResponse5( + global::Fal.GetStorageFileAclResponseError4 error) + { + this.Error = error ?? throw new global::System.ArgumentNullException(nameof(error)); + } + + /// + /// Initializes a new instance of the class. + /// + public GetStorageFileAclResponse5() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse6.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse6.Json.g.cs new file mode 100644 index 0000000..cfb0825 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse6.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class GetStorageFileAclResponse6 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.GetStorageFileAclResponse6? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.GetStorageFileAclResponse6), + jsonSerializerContext) as global::Fal.GetStorageFileAclResponse6; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.GetStorageFileAclResponse6? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.GetStorageFileAclResponse6), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.GetStorageFileAclResponse6; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse6.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse6.g.cs new file mode 100644 index 0000000..f1402fa --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse6.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Standard error response format + /// + public sealed partial class GetStorageFileAclResponse6 + { + /// + /// Error details + /// + [global::System.Text.Json.Serialization.JsonPropertyName("error")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.GetStorageFileAclResponseError5 Error { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Error details + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public GetStorageFileAclResponse6( + global::Fal.GetStorageFileAclResponseError5 error) + { + this.Error = error ?? throw new global::System.ArgumentNullException(nameof(error)); + } + + /// + /// Initializes a new instance of the class. + /// + public GetStorageFileAclResponse6() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse7.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse7.Json.g.cs new file mode 100644 index 0000000..aa949ad --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse7.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class GetStorageFileAclResponse7 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.GetStorageFileAclResponse7? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.GetStorageFileAclResponse7), + jsonSerializerContext) as global::Fal.GetStorageFileAclResponse7; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.GetStorageFileAclResponse7? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.GetStorageFileAclResponse7), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.GetStorageFileAclResponse7; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse7.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse7.g.cs new file mode 100644 index 0000000..2358c7c --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponse7.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Standard error response format + /// + public sealed partial class GetStorageFileAclResponse7 + { + /// + /// Error details + /// + [global::System.Text.Json.Serialization.JsonPropertyName("error")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.GetStorageFileAclResponseError6 Error { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Error details + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public GetStorageFileAclResponse7( + global::Fal.GetStorageFileAclResponseError6 error) + { + this.Error = error ?? throw new global::System.ArgumentNullException(nameof(error)); + } + + /// + /// Initializes a new instance of the class. + /// + public GetStorageFileAclResponse7() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseDefault.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseDefault.g.cs new file mode 100644 index 0000000..331af90 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseDefault.g.cs @@ -0,0 +1,58 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Fallback decision when no user-specific rule matches
+ /// Example: allow + ///
+ public enum GetStorageFileAclResponseDefault + { + /// + /// + /// + Allow, + /// + /// + /// + Forbid, + /// + /// + /// + Hide, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class GetStorageFileAclResponseDefaultExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this GetStorageFileAclResponseDefault value) + { + return value switch + { + GetStorageFileAclResponseDefault.Allow => "allow", + GetStorageFileAclResponseDefault.Forbid => "forbid", + GetStorageFileAclResponseDefault.Hide => "hide", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static GetStorageFileAclResponseDefault? ToEnum(string value) + { + return value switch + { + "allow" => GetStorageFileAclResponseDefault.Allow, + "forbid" => GetStorageFileAclResponseDefault.Forbid, + "hide" => GetStorageFileAclResponseDefault.Hide, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError.Json.g.cs new file mode 100644 index 0000000..720b11b --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class GetStorageFileAclResponseError + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.GetStorageFileAclResponseError? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.GetStorageFileAclResponseError), + jsonSerializerContext) as global::Fal.GetStorageFileAclResponseError; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.GetStorageFileAclResponseError? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.GetStorageFileAclResponseError), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.GetStorageFileAclResponseError; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError.g.cs new file mode 100644 index 0000000..1a4f303 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError.g.cs @@ -0,0 +1,82 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Error details + /// + public sealed partial class GetStorageFileAclResponseError + { + /// + /// The category of error that occurred + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorTypeJsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.GetStorageFileAclResponseErrorType Type { get; set; } + + /// + /// Human-readable error message + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Link to relevant documentation + /// + [global::System.Text.Json.Serialization.JsonPropertyName("docs_url")] + public string? DocsUrl { get; set; } + + /// + /// Unique request identifier for debugging + /// + [global::System.Text.Json.Serialization.JsonPropertyName("request_id")] + public string? RequestId { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The category of error that occurred + /// + /// + /// Human-readable error message + /// + /// + /// Link to relevant documentation + /// + /// + /// Unique request identifier for debugging + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public GetStorageFileAclResponseError( + global::Fal.GetStorageFileAclResponseErrorType type, + string message, + string? docsUrl, + string? requestId) + { + this.Type = type; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + this.DocsUrl = docsUrl; + this.RequestId = requestId; + } + + /// + /// Initializes a new instance of the class. + /// + public GetStorageFileAclResponseError() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError2.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError2.Json.g.cs new file mode 100644 index 0000000..f971130 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError2.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class GetStorageFileAclResponseError2 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.GetStorageFileAclResponseError2? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.GetStorageFileAclResponseError2), + jsonSerializerContext) as global::Fal.GetStorageFileAclResponseError2; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.GetStorageFileAclResponseError2? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.GetStorageFileAclResponseError2), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.GetStorageFileAclResponseError2; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError2.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError2.g.cs new file mode 100644 index 0000000..806f669 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError2.g.cs @@ -0,0 +1,82 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Error details + /// + public sealed partial class GetStorageFileAclResponseError2 + { + /// + /// The category of error that occurred + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType2JsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.GetStorageFileAclResponseErrorType2 Type { get; set; } + + /// + /// Human-readable error message + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Link to relevant documentation + /// + [global::System.Text.Json.Serialization.JsonPropertyName("docs_url")] + public string? DocsUrl { get; set; } + + /// + /// Unique request identifier for debugging + /// + [global::System.Text.Json.Serialization.JsonPropertyName("request_id")] + public string? RequestId { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The category of error that occurred + /// + /// + /// Human-readable error message + /// + /// + /// Link to relevant documentation + /// + /// + /// Unique request identifier for debugging + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public GetStorageFileAclResponseError2( + global::Fal.GetStorageFileAclResponseErrorType2 type, + string message, + string? docsUrl, + string? requestId) + { + this.Type = type; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + this.DocsUrl = docsUrl; + this.RequestId = requestId; + } + + /// + /// Initializes a new instance of the class. + /// + public GetStorageFileAclResponseError2() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError3.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError3.Json.g.cs new file mode 100644 index 0000000..f940f41 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError3.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class GetStorageFileAclResponseError3 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.GetStorageFileAclResponseError3? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.GetStorageFileAclResponseError3), + jsonSerializerContext) as global::Fal.GetStorageFileAclResponseError3; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.GetStorageFileAclResponseError3? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.GetStorageFileAclResponseError3), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.GetStorageFileAclResponseError3; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError3.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError3.g.cs new file mode 100644 index 0000000..1d2c992 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError3.g.cs @@ -0,0 +1,82 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Error details + /// + public sealed partial class GetStorageFileAclResponseError3 + { + /// + /// The category of error that occurred + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType3JsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.GetStorageFileAclResponseErrorType3 Type { get; set; } + + /// + /// Human-readable error message + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Link to relevant documentation + /// + [global::System.Text.Json.Serialization.JsonPropertyName("docs_url")] + public string? DocsUrl { get; set; } + + /// + /// Unique request identifier for debugging + /// + [global::System.Text.Json.Serialization.JsonPropertyName("request_id")] + public string? RequestId { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The category of error that occurred + /// + /// + /// Human-readable error message + /// + /// + /// Link to relevant documentation + /// + /// + /// Unique request identifier for debugging + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public GetStorageFileAclResponseError3( + global::Fal.GetStorageFileAclResponseErrorType3 type, + string message, + string? docsUrl, + string? requestId) + { + this.Type = type; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + this.DocsUrl = docsUrl; + this.RequestId = requestId; + } + + /// + /// Initializes a new instance of the class. + /// + public GetStorageFileAclResponseError3() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError4.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError4.Json.g.cs new file mode 100644 index 0000000..2599090 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError4.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class GetStorageFileAclResponseError4 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.GetStorageFileAclResponseError4? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.GetStorageFileAclResponseError4), + jsonSerializerContext) as global::Fal.GetStorageFileAclResponseError4; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.GetStorageFileAclResponseError4? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.GetStorageFileAclResponseError4), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.GetStorageFileAclResponseError4; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError4.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError4.g.cs new file mode 100644 index 0000000..fc63c37 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError4.g.cs @@ -0,0 +1,82 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Error details + /// + public sealed partial class GetStorageFileAclResponseError4 + { + /// + /// The category of error that occurred + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType4JsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.GetStorageFileAclResponseErrorType4 Type { get; set; } + + /// + /// Human-readable error message + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Link to relevant documentation + /// + [global::System.Text.Json.Serialization.JsonPropertyName("docs_url")] + public string? DocsUrl { get; set; } + + /// + /// Unique request identifier for debugging + /// + [global::System.Text.Json.Serialization.JsonPropertyName("request_id")] + public string? RequestId { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The category of error that occurred + /// + /// + /// Human-readable error message + /// + /// + /// Link to relevant documentation + /// + /// + /// Unique request identifier for debugging + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public GetStorageFileAclResponseError4( + global::Fal.GetStorageFileAclResponseErrorType4 type, + string message, + string? docsUrl, + string? requestId) + { + this.Type = type; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + this.DocsUrl = docsUrl; + this.RequestId = requestId; + } + + /// + /// Initializes a new instance of the class. + /// + public GetStorageFileAclResponseError4() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError5.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError5.Json.g.cs new file mode 100644 index 0000000..93115cd --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError5.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class GetStorageFileAclResponseError5 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.GetStorageFileAclResponseError5? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.GetStorageFileAclResponseError5), + jsonSerializerContext) as global::Fal.GetStorageFileAclResponseError5; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.GetStorageFileAclResponseError5? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.GetStorageFileAclResponseError5), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.GetStorageFileAclResponseError5; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError5.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError5.g.cs new file mode 100644 index 0000000..ea58c75 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError5.g.cs @@ -0,0 +1,82 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Error details + /// + public sealed partial class GetStorageFileAclResponseError5 + { + /// + /// The category of error that occurred + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType5JsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.GetStorageFileAclResponseErrorType5 Type { get; set; } + + /// + /// Human-readable error message + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Link to relevant documentation + /// + [global::System.Text.Json.Serialization.JsonPropertyName("docs_url")] + public string? DocsUrl { get; set; } + + /// + /// Unique request identifier for debugging + /// + [global::System.Text.Json.Serialization.JsonPropertyName("request_id")] + public string? RequestId { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The category of error that occurred + /// + /// + /// Human-readable error message + /// + /// + /// Link to relevant documentation + /// + /// + /// Unique request identifier for debugging + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public GetStorageFileAclResponseError5( + global::Fal.GetStorageFileAclResponseErrorType5 type, + string message, + string? docsUrl, + string? requestId) + { + this.Type = type; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + this.DocsUrl = docsUrl; + this.RequestId = requestId; + } + + /// + /// Initializes a new instance of the class. + /// + public GetStorageFileAclResponseError5() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError6.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError6.Json.g.cs new file mode 100644 index 0000000..427d3a0 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError6.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class GetStorageFileAclResponseError6 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.GetStorageFileAclResponseError6? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.GetStorageFileAclResponseError6), + jsonSerializerContext) as global::Fal.GetStorageFileAclResponseError6; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.GetStorageFileAclResponseError6? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.GetStorageFileAclResponseError6), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.GetStorageFileAclResponseError6; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError6.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError6.g.cs new file mode 100644 index 0000000..692f8c0 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseError6.g.cs @@ -0,0 +1,82 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Error details + /// + public sealed partial class GetStorageFileAclResponseError6 + { + /// + /// The category of error that occurred + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.GetStorageFileAclResponseErrorType6JsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.GetStorageFileAclResponseErrorType6 Type { get; set; } + + /// + /// Human-readable error message + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Link to relevant documentation + /// + [global::System.Text.Json.Serialization.JsonPropertyName("docs_url")] + public string? DocsUrl { get; set; } + + /// + /// Unique request identifier for debugging + /// + [global::System.Text.Json.Serialization.JsonPropertyName("request_id")] + public string? RequestId { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The category of error that occurred + /// + /// + /// Human-readable error message + /// + /// + /// Link to relevant documentation + /// + /// + /// Unique request identifier for debugging + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public GetStorageFileAclResponseError6( + global::Fal.GetStorageFileAclResponseErrorType6 type, + string message, + string? docsUrl, + string? requestId) + { + this.Type = type; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + this.DocsUrl = docsUrl; + this.RequestId = requestId; + } + + /// + /// Initializes a new instance of the class. + /// + public GetStorageFileAclResponseError6() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseErrorType.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseErrorType.g.cs new file mode 100644 index 0000000..bb07ae4 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseErrorType.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Fal +{ + /// + /// The category of error that occurred + /// + public enum GetStorageFileAclResponseErrorType + { + /// + /// + /// + AuthorizationError, + /// + /// + /// + NotFound, + /// + /// + /// + NotImplemented, + /// + /// + /// + RateLimited, + /// + /// + /// + ServerError, + /// + /// + /// + ValidationError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class GetStorageFileAclResponseErrorTypeExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this GetStorageFileAclResponseErrorType value) + { + return value switch + { + GetStorageFileAclResponseErrorType.AuthorizationError => "authorization_error", + GetStorageFileAclResponseErrorType.NotFound => "not_found", + GetStorageFileAclResponseErrorType.NotImplemented => "not_implemented", + GetStorageFileAclResponseErrorType.RateLimited => "rate_limited", + GetStorageFileAclResponseErrorType.ServerError => "server_error", + GetStorageFileAclResponseErrorType.ValidationError => "validation_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static GetStorageFileAclResponseErrorType? ToEnum(string value) + { + return value switch + { + "authorization_error" => GetStorageFileAclResponseErrorType.AuthorizationError, + "not_found" => GetStorageFileAclResponseErrorType.NotFound, + "not_implemented" => GetStorageFileAclResponseErrorType.NotImplemented, + "rate_limited" => GetStorageFileAclResponseErrorType.RateLimited, + "server_error" => GetStorageFileAclResponseErrorType.ServerError, + "validation_error" => GetStorageFileAclResponseErrorType.ValidationError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseErrorType2.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseErrorType2.g.cs new file mode 100644 index 0000000..e9c94f5 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseErrorType2.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Fal +{ + /// + /// The category of error that occurred + /// + public enum GetStorageFileAclResponseErrorType2 + { + /// + /// + /// + AuthorizationError, + /// + /// + /// + NotFound, + /// + /// + /// + NotImplemented, + /// + /// + /// + RateLimited, + /// + /// + /// + ServerError, + /// + /// + /// + ValidationError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class GetStorageFileAclResponseErrorType2Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this GetStorageFileAclResponseErrorType2 value) + { + return value switch + { + GetStorageFileAclResponseErrorType2.AuthorizationError => "authorization_error", + GetStorageFileAclResponseErrorType2.NotFound => "not_found", + GetStorageFileAclResponseErrorType2.NotImplemented => "not_implemented", + GetStorageFileAclResponseErrorType2.RateLimited => "rate_limited", + GetStorageFileAclResponseErrorType2.ServerError => "server_error", + GetStorageFileAclResponseErrorType2.ValidationError => "validation_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static GetStorageFileAclResponseErrorType2? ToEnum(string value) + { + return value switch + { + "authorization_error" => GetStorageFileAclResponseErrorType2.AuthorizationError, + "not_found" => GetStorageFileAclResponseErrorType2.NotFound, + "not_implemented" => GetStorageFileAclResponseErrorType2.NotImplemented, + "rate_limited" => GetStorageFileAclResponseErrorType2.RateLimited, + "server_error" => GetStorageFileAclResponseErrorType2.ServerError, + "validation_error" => GetStorageFileAclResponseErrorType2.ValidationError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseErrorType3.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseErrorType3.g.cs new file mode 100644 index 0000000..69cd787 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseErrorType3.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Fal +{ + /// + /// The category of error that occurred + /// + public enum GetStorageFileAclResponseErrorType3 + { + /// + /// + /// + AuthorizationError, + /// + /// + /// + NotFound, + /// + /// + /// + NotImplemented, + /// + /// + /// + RateLimited, + /// + /// + /// + ServerError, + /// + /// + /// + ValidationError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class GetStorageFileAclResponseErrorType3Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this GetStorageFileAclResponseErrorType3 value) + { + return value switch + { + GetStorageFileAclResponseErrorType3.AuthorizationError => "authorization_error", + GetStorageFileAclResponseErrorType3.NotFound => "not_found", + GetStorageFileAclResponseErrorType3.NotImplemented => "not_implemented", + GetStorageFileAclResponseErrorType3.RateLimited => "rate_limited", + GetStorageFileAclResponseErrorType3.ServerError => "server_error", + GetStorageFileAclResponseErrorType3.ValidationError => "validation_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static GetStorageFileAclResponseErrorType3? ToEnum(string value) + { + return value switch + { + "authorization_error" => GetStorageFileAclResponseErrorType3.AuthorizationError, + "not_found" => GetStorageFileAclResponseErrorType3.NotFound, + "not_implemented" => GetStorageFileAclResponseErrorType3.NotImplemented, + "rate_limited" => GetStorageFileAclResponseErrorType3.RateLimited, + "server_error" => GetStorageFileAclResponseErrorType3.ServerError, + "validation_error" => GetStorageFileAclResponseErrorType3.ValidationError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseErrorType4.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseErrorType4.g.cs new file mode 100644 index 0000000..893bcbb --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseErrorType4.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Fal +{ + /// + /// The category of error that occurred + /// + public enum GetStorageFileAclResponseErrorType4 + { + /// + /// + /// + AuthorizationError, + /// + /// + /// + NotFound, + /// + /// + /// + NotImplemented, + /// + /// + /// + RateLimited, + /// + /// + /// + ServerError, + /// + /// + /// + ValidationError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class GetStorageFileAclResponseErrorType4Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this GetStorageFileAclResponseErrorType4 value) + { + return value switch + { + GetStorageFileAclResponseErrorType4.AuthorizationError => "authorization_error", + GetStorageFileAclResponseErrorType4.NotFound => "not_found", + GetStorageFileAclResponseErrorType4.NotImplemented => "not_implemented", + GetStorageFileAclResponseErrorType4.RateLimited => "rate_limited", + GetStorageFileAclResponseErrorType4.ServerError => "server_error", + GetStorageFileAclResponseErrorType4.ValidationError => "validation_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static GetStorageFileAclResponseErrorType4? ToEnum(string value) + { + return value switch + { + "authorization_error" => GetStorageFileAclResponseErrorType4.AuthorizationError, + "not_found" => GetStorageFileAclResponseErrorType4.NotFound, + "not_implemented" => GetStorageFileAclResponseErrorType4.NotImplemented, + "rate_limited" => GetStorageFileAclResponseErrorType4.RateLimited, + "server_error" => GetStorageFileAclResponseErrorType4.ServerError, + "validation_error" => GetStorageFileAclResponseErrorType4.ValidationError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseErrorType5.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseErrorType5.g.cs new file mode 100644 index 0000000..177b3c1 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseErrorType5.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Fal +{ + /// + /// The category of error that occurred + /// + public enum GetStorageFileAclResponseErrorType5 + { + /// + /// + /// + AuthorizationError, + /// + /// + /// + NotFound, + /// + /// + /// + NotImplemented, + /// + /// + /// + RateLimited, + /// + /// + /// + ServerError, + /// + /// + /// + ValidationError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class GetStorageFileAclResponseErrorType5Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this GetStorageFileAclResponseErrorType5 value) + { + return value switch + { + GetStorageFileAclResponseErrorType5.AuthorizationError => "authorization_error", + GetStorageFileAclResponseErrorType5.NotFound => "not_found", + GetStorageFileAclResponseErrorType5.NotImplemented => "not_implemented", + GetStorageFileAclResponseErrorType5.RateLimited => "rate_limited", + GetStorageFileAclResponseErrorType5.ServerError => "server_error", + GetStorageFileAclResponseErrorType5.ValidationError => "validation_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static GetStorageFileAclResponseErrorType5? ToEnum(string value) + { + return value switch + { + "authorization_error" => GetStorageFileAclResponseErrorType5.AuthorizationError, + "not_found" => GetStorageFileAclResponseErrorType5.NotFound, + "not_implemented" => GetStorageFileAclResponseErrorType5.NotImplemented, + "rate_limited" => GetStorageFileAclResponseErrorType5.RateLimited, + "server_error" => GetStorageFileAclResponseErrorType5.ServerError, + "validation_error" => GetStorageFileAclResponseErrorType5.ValidationError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseErrorType6.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseErrorType6.g.cs new file mode 100644 index 0000000..189588a --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseErrorType6.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Fal +{ + /// + /// The category of error that occurred + /// + public enum GetStorageFileAclResponseErrorType6 + { + /// + /// + /// + AuthorizationError, + /// + /// + /// + NotFound, + /// + /// + /// + NotImplemented, + /// + /// + /// + RateLimited, + /// + /// + /// + ServerError, + /// + /// + /// + ValidationError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class GetStorageFileAclResponseErrorType6Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this GetStorageFileAclResponseErrorType6 value) + { + return value switch + { + GetStorageFileAclResponseErrorType6.AuthorizationError => "authorization_error", + GetStorageFileAclResponseErrorType6.NotFound => "not_found", + GetStorageFileAclResponseErrorType6.NotImplemented => "not_implemented", + GetStorageFileAclResponseErrorType6.RateLimited => "rate_limited", + GetStorageFileAclResponseErrorType6.ServerError => "server_error", + GetStorageFileAclResponseErrorType6.ValidationError => "validation_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static GetStorageFileAclResponseErrorType6? ToEnum(string value) + { + return value switch + { + "authorization_error" => GetStorageFileAclResponseErrorType6.AuthorizationError, + "not_found" => GetStorageFileAclResponseErrorType6.NotFound, + "not_implemented" => GetStorageFileAclResponseErrorType6.NotImplemented, + "rate_limited" => GetStorageFileAclResponseErrorType6.RateLimited, + "server_error" => GetStorageFileAclResponseErrorType6.ServerError, + "validation_error" => GetStorageFileAclResponseErrorType6.ValidationError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseRule.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseRule.Json.g.cs new file mode 100644 index 0000000..9a28aa3 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseRule.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class GetStorageFileAclResponseRule + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.GetStorageFileAclResponseRule? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.GetStorageFileAclResponseRule), + jsonSerializerContext) as global::Fal.GetStorageFileAclResponseRule; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.GetStorageFileAclResponseRule? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.GetStorageFileAclResponseRule), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.GetStorageFileAclResponseRule; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseRule.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseRule.g.cs new file mode 100644 index 0000000..0ef3799 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseRule.g.cs @@ -0,0 +1,66 @@ + +#nullable enable + +namespace Fal +{ + /// + /// A per-user access control rule + /// + public sealed partial class GetStorageFileAclResponseRule + { + /// + /// User nickname or user ID the rule applies to
+ /// Example: some-user + ///
+ /// some-user + [global::System.Text.Json.Serialization.JsonPropertyName("user")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string User { get; set; } + + /// + /// Access decision applied to this user
+ /// Example: allow + ///
+ /// allow + [global::System.Text.Json.Serialization.JsonPropertyName("decision")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.GetStorageFileAclResponseRuleDecisionJsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.GetStorageFileAclResponseRuleDecision Decision { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// User nickname or user ID the rule applies to
+ /// Example: some-user + /// + /// + /// Access decision applied to this user
+ /// Example: allow + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public GetStorageFileAclResponseRule( + string user, + global::Fal.GetStorageFileAclResponseRuleDecision decision) + { + this.User = user ?? throw new global::System.ArgumentNullException(nameof(user)); + this.Decision = decision; + } + + /// + /// Initializes a new instance of the class. + /// + public GetStorageFileAclResponseRule() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseRuleDecision.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseRuleDecision.g.cs new file mode 100644 index 0000000..58499b1 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageFileAclResponseRuleDecision.g.cs @@ -0,0 +1,58 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Access decision applied to this user
+ /// Example: allow + ///
+ public enum GetStorageFileAclResponseRuleDecision + { + /// + /// + /// + Allow, + /// + /// + /// + Forbid, + /// + /// + /// + Hide, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class GetStorageFileAclResponseRuleDecisionExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this GetStorageFileAclResponseRuleDecision value) + { + return value switch + { + GetStorageFileAclResponseRuleDecision.Allow => "allow", + GetStorageFileAclResponseRuleDecision.Forbid => "forbid", + GetStorageFileAclResponseRuleDecision.Hide => "hide", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static GetStorageFileAclResponseRuleDecision? ToEnum(string value) + { + return value switch + { + "allow" => GetStorageFileAclResponseRuleDecision.Allow, + "forbid" => GetStorageFileAclResponseRuleDecision.Forbid, + "hide" => GetStorageFileAclResponseRuleDecision.Hide, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse.Json.g.cs new file mode 100644 index 0000000..348a7d5 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class GetStorageSettingsResponse + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.GetStorageSettingsResponse? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.GetStorageSettingsResponse), + jsonSerializerContext) as global::Fal.GetStorageSettingsResponse; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.GetStorageSettingsResponse? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.GetStorageSettingsResponse), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.GetStorageSettingsResponse; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse.g.cs new file mode 100644 index 0000000..7e0728e --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse.g.cs @@ -0,0 +1,60 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Account-level storage lifecycle settings + /// + public sealed partial class GetStorageSettingsResponse + { + /// + /// Seconds after which newly uploaded files automatically expire, or null if auto-expiration is disabled
+ /// Example: 86400 + ///
+ /// 86400 + [global::System.Text.Json.Serialization.JsonPropertyName("expiration_duration_seconds")] + public int? ExpirationDurationSeconds { get; set; } + + /// + /// Default ACL applied to newly uploaded files, or null if the system default (public) is used + /// + [global::System.Text.Json.Serialization.JsonPropertyName("initial_acl")] + public global::Fal.GetStorageSettingsResponseInitialAcl? InitialAcl { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Seconds after which newly uploaded files automatically expire, or null if auto-expiration is disabled
+ /// Example: 86400 + /// + /// + /// Default ACL applied to newly uploaded files, or null if the system default (public) is used + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public GetStorageSettingsResponse( + int? expirationDurationSeconds, + global::Fal.GetStorageSettingsResponseInitialAcl? initialAcl) + { + this.ExpirationDurationSeconds = expirationDurationSeconds; + this.InitialAcl = initialAcl; + } + + /// + /// Initializes a new instance of the class. + /// + public GetStorageSettingsResponse() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse2.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse2.Json.g.cs new file mode 100644 index 0000000..a0cf7a7 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse2.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class GetStorageSettingsResponse2 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.GetStorageSettingsResponse2? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.GetStorageSettingsResponse2), + jsonSerializerContext) as global::Fal.GetStorageSettingsResponse2; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.GetStorageSettingsResponse2? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.GetStorageSettingsResponse2), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.GetStorageSettingsResponse2; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse2.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse2.g.cs new file mode 100644 index 0000000..d5e2d67 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse2.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Standard error response format + /// + public sealed partial class GetStorageSettingsResponse2 + { + /// + /// Error details + /// + [global::System.Text.Json.Serialization.JsonPropertyName("error")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.GetStorageSettingsResponseError Error { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Error details + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public GetStorageSettingsResponse2( + global::Fal.GetStorageSettingsResponseError error) + { + this.Error = error ?? throw new global::System.ArgumentNullException(nameof(error)); + } + + /// + /// Initializes a new instance of the class. + /// + public GetStorageSettingsResponse2() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse3.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse3.Json.g.cs new file mode 100644 index 0000000..490995f --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse3.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class GetStorageSettingsResponse3 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.GetStorageSettingsResponse3? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.GetStorageSettingsResponse3), + jsonSerializerContext) as global::Fal.GetStorageSettingsResponse3; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.GetStorageSettingsResponse3? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.GetStorageSettingsResponse3), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.GetStorageSettingsResponse3; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse3.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse3.g.cs new file mode 100644 index 0000000..2969a61 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse3.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Standard error response format + /// + public sealed partial class GetStorageSettingsResponse3 + { + /// + /// Error details + /// + [global::System.Text.Json.Serialization.JsonPropertyName("error")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.GetStorageSettingsResponseError2 Error { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Error details + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public GetStorageSettingsResponse3( + global::Fal.GetStorageSettingsResponseError2 error) + { + this.Error = error ?? throw new global::System.ArgumentNullException(nameof(error)); + } + + /// + /// Initializes a new instance of the class. + /// + public GetStorageSettingsResponse3() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse4.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse4.Json.g.cs new file mode 100644 index 0000000..ba9b597 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse4.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class GetStorageSettingsResponse4 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.GetStorageSettingsResponse4? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.GetStorageSettingsResponse4), + jsonSerializerContext) as global::Fal.GetStorageSettingsResponse4; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.GetStorageSettingsResponse4? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.GetStorageSettingsResponse4), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.GetStorageSettingsResponse4; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse4.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse4.g.cs new file mode 100644 index 0000000..de9bb6f --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse4.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Standard error response format + /// + public sealed partial class GetStorageSettingsResponse4 + { + /// + /// Error details + /// + [global::System.Text.Json.Serialization.JsonPropertyName("error")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.GetStorageSettingsResponseError3 Error { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Error details + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public GetStorageSettingsResponse4( + global::Fal.GetStorageSettingsResponseError3 error) + { + this.Error = error ?? throw new global::System.ArgumentNullException(nameof(error)); + } + + /// + /// Initializes a new instance of the class. + /// + public GetStorageSettingsResponse4() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse5.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse5.Json.g.cs new file mode 100644 index 0000000..ac79bd7 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse5.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class GetStorageSettingsResponse5 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.GetStorageSettingsResponse5? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.GetStorageSettingsResponse5), + jsonSerializerContext) as global::Fal.GetStorageSettingsResponse5; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.GetStorageSettingsResponse5? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.GetStorageSettingsResponse5), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.GetStorageSettingsResponse5; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse5.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse5.g.cs new file mode 100644 index 0000000..a807664 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponse5.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Standard error response format + /// + public sealed partial class GetStorageSettingsResponse5 + { + /// + /// Error details + /// + [global::System.Text.Json.Serialization.JsonPropertyName("error")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.GetStorageSettingsResponseError4 Error { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Error details + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public GetStorageSettingsResponse5( + global::Fal.GetStorageSettingsResponseError4 error) + { + this.Error = error ?? throw new global::System.ArgumentNullException(nameof(error)); + } + + /// + /// Initializes a new instance of the class. + /// + public GetStorageSettingsResponse5() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseError.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseError.Json.g.cs new file mode 100644 index 0000000..6c45b46 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseError.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class GetStorageSettingsResponseError + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.GetStorageSettingsResponseError? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.GetStorageSettingsResponseError), + jsonSerializerContext) as global::Fal.GetStorageSettingsResponseError; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.GetStorageSettingsResponseError? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.GetStorageSettingsResponseError), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.GetStorageSettingsResponseError; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseError.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseError.g.cs new file mode 100644 index 0000000..e03d759 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseError.g.cs @@ -0,0 +1,82 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Error details + /// + public sealed partial class GetStorageSettingsResponseError + { + /// + /// The category of error that occurred + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorTypeJsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.GetStorageSettingsResponseErrorType Type { get; set; } + + /// + /// Human-readable error message + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Link to relevant documentation + /// + [global::System.Text.Json.Serialization.JsonPropertyName("docs_url")] + public string? DocsUrl { get; set; } + + /// + /// Unique request identifier for debugging + /// + [global::System.Text.Json.Serialization.JsonPropertyName("request_id")] + public string? RequestId { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The category of error that occurred + /// + /// + /// Human-readable error message + /// + /// + /// Link to relevant documentation + /// + /// + /// Unique request identifier for debugging + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public GetStorageSettingsResponseError( + global::Fal.GetStorageSettingsResponseErrorType type, + string message, + string? docsUrl, + string? requestId) + { + this.Type = type; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + this.DocsUrl = docsUrl; + this.RequestId = requestId; + } + + /// + /// Initializes a new instance of the class. + /// + public GetStorageSettingsResponseError() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseError2.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseError2.Json.g.cs new file mode 100644 index 0000000..368029b --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseError2.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class GetStorageSettingsResponseError2 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.GetStorageSettingsResponseError2? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.GetStorageSettingsResponseError2), + jsonSerializerContext) as global::Fal.GetStorageSettingsResponseError2; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.GetStorageSettingsResponseError2? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.GetStorageSettingsResponseError2), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.GetStorageSettingsResponseError2; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseError2.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseError2.g.cs new file mode 100644 index 0000000..f1f6069 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseError2.g.cs @@ -0,0 +1,82 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Error details + /// + public sealed partial class GetStorageSettingsResponseError2 + { + /// + /// The category of error that occurred + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorType2JsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.GetStorageSettingsResponseErrorType2 Type { get; set; } + + /// + /// Human-readable error message + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Link to relevant documentation + /// + [global::System.Text.Json.Serialization.JsonPropertyName("docs_url")] + public string? DocsUrl { get; set; } + + /// + /// Unique request identifier for debugging + /// + [global::System.Text.Json.Serialization.JsonPropertyName("request_id")] + public string? RequestId { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The category of error that occurred + /// + /// + /// Human-readable error message + /// + /// + /// Link to relevant documentation + /// + /// + /// Unique request identifier for debugging + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public GetStorageSettingsResponseError2( + global::Fal.GetStorageSettingsResponseErrorType2 type, + string message, + string? docsUrl, + string? requestId) + { + this.Type = type; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + this.DocsUrl = docsUrl; + this.RequestId = requestId; + } + + /// + /// Initializes a new instance of the class. + /// + public GetStorageSettingsResponseError2() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseError3.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseError3.Json.g.cs new file mode 100644 index 0000000..eeec369 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseError3.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class GetStorageSettingsResponseError3 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.GetStorageSettingsResponseError3? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.GetStorageSettingsResponseError3), + jsonSerializerContext) as global::Fal.GetStorageSettingsResponseError3; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.GetStorageSettingsResponseError3? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.GetStorageSettingsResponseError3), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.GetStorageSettingsResponseError3; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseError3.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseError3.g.cs new file mode 100644 index 0000000..2dad329 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseError3.g.cs @@ -0,0 +1,82 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Error details + /// + public sealed partial class GetStorageSettingsResponseError3 + { + /// + /// The category of error that occurred + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorType3JsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.GetStorageSettingsResponseErrorType3 Type { get; set; } + + /// + /// Human-readable error message + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Link to relevant documentation + /// + [global::System.Text.Json.Serialization.JsonPropertyName("docs_url")] + public string? DocsUrl { get; set; } + + /// + /// Unique request identifier for debugging + /// + [global::System.Text.Json.Serialization.JsonPropertyName("request_id")] + public string? RequestId { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The category of error that occurred + /// + /// + /// Human-readable error message + /// + /// + /// Link to relevant documentation + /// + /// + /// Unique request identifier for debugging + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public GetStorageSettingsResponseError3( + global::Fal.GetStorageSettingsResponseErrorType3 type, + string message, + string? docsUrl, + string? requestId) + { + this.Type = type; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + this.DocsUrl = docsUrl; + this.RequestId = requestId; + } + + /// + /// Initializes a new instance of the class. + /// + public GetStorageSettingsResponseError3() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseError4.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseError4.Json.g.cs new file mode 100644 index 0000000..cf4514f --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseError4.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class GetStorageSettingsResponseError4 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.GetStorageSettingsResponseError4? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.GetStorageSettingsResponseError4), + jsonSerializerContext) as global::Fal.GetStorageSettingsResponseError4; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.GetStorageSettingsResponseError4? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.GetStorageSettingsResponseError4), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.GetStorageSettingsResponseError4; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseError4.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseError4.g.cs new file mode 100644 index 0000000..398bbb2 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseError4.g.cs @@ -0,0 +1,82 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Error details + /// + public sealed partial class GetStorageSettingsResponseError4 + { + /// + /// The category of error that occurred + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.GetStorageSettingsResponseErrorType4JsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.GetStorageSettingsResponseErrorType4 Type { get; set; } + + /// + /// Human-readable error message + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Link to relevant documentation + /// + [global::System.Text.Json.Serialization.JsonPropertyName("docs_url")] + public string? DocsUrl { get; set; } + + /// + /// Unique request identifier for debugging + /// + [global::System.Text.Json.Serialization.JsonPropertyName("request_id")] + public string? RequestId { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The category of error that occurred + /// + /// + /// Human-readable error message + /// + /// + /// Link to relevant documentation + /// + /// + /// Unique request identifier for debugging + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public GetStorageSettingsResponseError4( + global::Fal.GetStorageSettingsResponseErrorType4 type, + string message, + string? docsUrl, + string? requestId) + { + this.Type = type; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + this.DocsUrl = docsUrl; + this.RequestId = requestId; + } + + /// + /// Initializes a new instance of the class. + /// + public GetStorageSettingsResponseError4() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseErrorType.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseErrorType.g.cs new file mode 100644 index 0000000..a99fdb4 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseErrorType.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Fal +{ + /// + /// The category of error that occurred + /// + public enum GetStorageSettingsResponseErrorType + { + /// + /// + /// + AuthorizationError, + /// + /// + /// + NotFound, + /// + /// + /// + NotImplemented, + /// + /// + /// + RateLimited, + /// + /// + /// + ServerError, + /// + /// + /// + ValidationError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class GetStorageSettingsResponseErrorTypeExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this GetStorageSettingsResponseErrorType value) + { + return value switch + { + GetStorageSettingsResponseErrorType.AuthorizationError => "authorization_error", + GetStorageSettingsResponseErrorType.NotFound => "not_found", + GetStorageSettingsResponseErrorType.NotImplemented => "not_implemented", + GetStorageSettingsResponseErrorType.RateLimited => "rate_limited", + GetStorageSettingsResponseErrorType.ServerError => "server_error", + GetStorageSettingsResponseErrorType.ValidationError => "validation_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static GetStorageSettingsResponseErrorType? ToEnum(string value) + { + return value switch + { + "authorization_error" => GetStorageSettingsResponseErrorType.AuthorizationError, + "not_found" => GetStorageSettingsResponseErrorType.NotFound, + "not_implemented" => GetStorageSettingsResponseErrorType.NotImplemented, + "rate_limited" => GetStorageSettingsResponseErrorType.RateLimited, + "server_error" => GetStorageSettingsResponseErrorType.ServerError, + "validation_error" => GetStorageSettingsResponseErrorType.ValidationError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseErrorType2.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseErrorType2.g.cs new file mode 100644 index 0000000..03af20d --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseErrorType2.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Fal +{ + /// + /// The category of error that occurred + /// + public enum GetStorageSettingsResponseErrorType2 + { + /// + /// + /// + AuthorizationError, + /// + /// + /// + NotFound, + /// + /// + /// + NotImplemented, + /// + /// + /// + RateLimited, + /// + /// + /// + ServerError, + /// + /// + /// + ValidationError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class GetStorageSettingsResponseErrorType2Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this GetStorageSettingsResponseErrorType2 value) + { + return value switch + { + GetStorageSettingsResponseErrorType2.AuthorizationError => "authorization_error", + GetStorageSettingsResponseErrorType2.NotFound => "not_found", + GetStorageSettingsResponseErrorType2.NotImplemented => "not_implemented", + GetStorageSettingsResponseErrorType2.RateLimited => "rate_limited", + GetStorageSettingsResponseErrorType2.ServerError => "server_error", + GetStorageSettingsResponseErrorType2.ValidationError => "validation_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static GetStorageSettingsResponseErrorType2? ToEnum(string value) + { + return value switch + { + "authorization_error" => GetStorageSettingsResponseErrorType2.AuthorizationError, + "not_found" => GetStorageSettingsResponseErrorType2.NotFound, + "not_implemented" => GetStorageSettingsResponseErrorType2.NotImplemented, + "rate_limited" => GetStorageSettingsResponseErrorType2.RateLimited, + "server_error" => GetStorageSettingsResponseErrorType2.ServerError, + "validation_error" => GetStorageSettingsResponseErrorType2.ValidationError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseErrorType3.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseErrorType3.g.cs new file mode 100644 index 0000000..409ccae --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseErrorType3.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Fal +{ + /// + /// The category of error that occurred + /// + public enum GetStorageSettingsResponseErrorType3 + { + /// + /// + /// + AuthorizationError, + /// + /// + /// + NotFound, + /// + /// + /// + NotImplemented, + /// + /// + /// + RateLimited, + /// + /// + /// + ServerError, + /// + /// + /// + ValidationError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class GetStorageSettingsResponseErrorType3Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this GetStorageSettingsResponseErrorType3 value) + { + return value switch + { + GetStorageSettingsResponseErrorType3.AuthorizationError => "authorization_error", + GetStorageSettingsResponseErrorType3.NotFound => "not_found", + GetStorageSettingsResponseErrorType3.NotImplemented => "not_implemented", + GetStorageSettingsResponseErrorType3.RateLimited => "rate_limited", + GetStorageSettingsResponseErrorType3.ServerError => "server_error", + GetStorageSettingsResponseErrorType3.ValidationError => "validation_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static GetStorageSettingsResponseErrorType3? ToEnum(string value) + { + return value switch + { + "authorization_error" => GetStorageSettingsResponseErrorType3.AuthorizationError, + "not_found" => GetStorageSettingsResponseErrorType3.NotFound, + "not_implemented" => GetStorageSettingsResponseErrorType3.NotImplemented, + "rate_limited" => GetStorageSettingsResponseErrorType3.RateLimited, + "server_error" => GetStorageSettingsResponseErrorType3.ServerError, + "validation_error" => GetStorageSettingsResponseErrorType3.ValidationError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseErrorType4.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseErrorType4.g.cs new file mode 100644 index 0000000..b849bd1 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseErrorType4.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Fal +{ + /// + /// The category of error that occurred + /// + public enum GetStorageSettingsResponseErrorType4 + { + /// + /// + /// + AuthorizationError, + /// + /// + /// + NotFound, + /// + /// + /// + NotImplemented, + /// + /// + /// + RateLimited, + /// + /// + /// + ServerError, + /// + /// + /// + ValidationError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class GetStorageSettingsResponseErrorType4Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this GetStorageSettingsResponseErrorType4 value) + { + return value switch + { + GetStorageSettingsResponseErrorType4.AuthorizationError => "authorization_error", + GetStorageSettingsResponseErrorType4.NotFound => "not_found", + GetStorageSettingsResponseErrorType4.NotImplemented => "not_implemented", + GetStorageSettingsResponseErrorType4.RateLimited => "rate_limited", + GetStorageSettingsResponseErrorType4.ServerError => "server_error", + GetStorageSettingsResponseErrorType4.ValidationError => "validation_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static GetStorageSettingsResponseErrorType4? ToEnum(string value) + { + return value switch + { + "authorization_error" => GetStorageSettingsResponseErrorType4.AuthorizationError, + "not_found" => GetStorageSettingsResponseErrorType4.NotFound, + "not_implemented" => GetStorageSettingsResponseErrorType4.NotImplemented, + "rate_limited" => GetStorageSettingsResponseErrorType4.RateLimited, + "server_error" => GetStorageSettingsResponseErrorType4.ServerError, + "validation_error" => GetStorageSettingsResponseErrorType4.ValidationError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseInitialAcl.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseInitialAcl.Json.g.cs new file mode 100644 index 0000000..5368311 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseInitialAcl.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class GetStorageSettingsResponseInitialAcl + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.GetStorageSettingsResponseInitialAcl? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.GetStorageSettingsResponseInitialAcl), + jsonSerializerContext) as global::Fal.GetStorageSettingsResponseInitialAcl; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.GetStorageSettingsResponseInitialAcl? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.GetStorageSettingsResponseInitialAcl), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.GetStorageSettingsResponseInitialAcl; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseInitialAcl.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseInitialAcl.g.cs new file mode 100644 index 0000000..780f2c2 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseInitialAcl.g.cs @@ -0,0 +1,63 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Default ACL applied to newly uploaded files, or null if the system default (public) is used + /// + public sealed partial class GetStorageSettingsResponseInitialAcl + { + /// + /// Fallback decision when no user-specific rule matches
+ /// Example: allow + ///
+ /// allow + [global::System.Text.Json.Serialization.JsonPropertyName("default")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.GetStorageSettingsResponseInitialAclDefaultJsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.GetStorageSettingsResponseInitialAclDefault Default { get; set; } + + /// + /// User-specific overrides to the default decision. Users are returned as nicknames where possible. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("rules")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.Collections.Generic.IList Rules { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Fallback decision when no user-specific rule matches
+ /// Example: allow + /// + /// + /// User-specific overrides to the default decision. Users are returned as nicknames where possible. + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public GetStorageSettingsResponseInitialAcl( + global::Fal.GetStorageSettingsResponseInitialAclDefault @default, + global::System.Collections.Generic.IList rules) + { + this.Default = @default; + this.Rules = rules ?? throw new global::System.ArgumentNullException(nameof(rules)); + } + + /// + /// Initializes a new instance of the class. + /// + public GetStorageSettingsResponseInitialAcl() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseInitialAclDefault.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseInitialAclDefault.g.cs new file mode 100644 index 0000000..c1a2d50 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseInitialAclDefault.g.cs @@ -0,0 +1,58 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Fallback decision when no user-specific rule matches
+ /// Example: allow + ///
+ public enum GetStorageSettingsResponseInitialAclDefault + { + /// + /// + /// + Allow, + /// + /// + /// + Forbid, + /// + /// + /// + Hide, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class GetStorageSettingsResponseInitialAclDefaultExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this GetStorageSettingsResponseInitialAclDefault value) + { + return value switch + { + GetStorageSettingsResponseInitialAclDefault.Allow => "allow", + GetStorageSettingsResponseInitialAclDefault.Forbid => "forbid", + GetStorageSettingsResponseInitialAclDefault.Hide => "hide", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static GetStorageSettingsResponseInitialAclDefault? ToEnum(string value) + { + return value switch + { + "allow" => GetStorageSettingsResponseInitialAclDefault.Allow, + "forbid" => GetStorageSettingsResponseInitialAclDefault.Forbid, + "hide" => GetStorageSettingsResponseInitialAclDefault.Hide, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseInitialAclRule.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseInitialAclRule.Json.g.cs new file mode 100644 index 0000000..2b03114 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseInitialAclRule.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class GetStorageSettingsResponseInitialAclRule + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.GetStorageSettingsResponseInitialAclRule? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.GetStorageSettingsResponseInitialAclRule), + jsonSerializerContext) as global::Fal.GetStorageSettingsResponseInitialAclRule; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.GetStorageSettingsResponseInitialAclRule? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.GetStorageSettingsResponseInitialAclRule), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.GetStorageSettingsResponseInitialAclRule; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseInitialAclRule.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseInitialAclRule.g.cs new file mode 100644 index 0000000..d89bf4d --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseInitialAclRule.g.cs @@ -0,0 +1,66 @@ + +#nullable enable + +namespace Fal +{ + /// + /// A per-user access control rule + /// + public sealed partial class GetStorageSettingsResponseInitialAclRule + { + /// + /// User nickname or user ID the rule applies to
+ /// Example: some-user + ///
+ /// some-user + [global::System.Text.Json.Serialization.JsonPropertyName("user")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string User { get; set; } + + /// + /// Access decision applied to this user
+ /// Example: allow + ///
+ /// allow + [global::System.Text.Json.Serialization.JsonPropertyName("decision")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.GetStorageSettingsResponseInitialAclRuleDecisionJsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.GetStorageSettingsResponseInitialAclRuleDecision Decision { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// User nickname or user ID the rule applies to
+ /// Example: some-user + /// + /// + /// Access decision applied to this user
+ /// Example: allow + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public GetStorageSettingsResponseInitialAclRule( + string user, + global::Fal.GetStorageSettingsResponseInitialAclRuleDecision decision) + { + this.User = user ?? throw new global::System.ArgumentNullException(nameof(user)); + this.Decision = decision; + } + + /// + /// Initializes a new instance of the class. + /// + public GetStorageSettingsResponseInitialAclRule() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseInitialAclRuleDecision.g.cs b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseInitialAclRuleDecision.g.cs new file mode 100644 index 0000000..5aef225 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.GetStorageSettingsResponseInitialAclRuleDecision.g.cs @@ -0,0 +1,58 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Access decision applied to this user
+ /// Example: allow + ///
+ public enum GetStorageSettingsResponseInitialAclRuleDecision + { + /// + /// + /// + Allow, + /// + /// + /// + Forbid, + /// + /// + /// + Hide, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class GetStorageSettingsResponseInitialAclRuleDecisionExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this GetStorageSettingsResponseInitialAclRuleDecision value) + { + return value switch + { + GetStorageSettingsResponseInitialAclRuleDecision.Allow => "allow", + GetStorageSettingsResponseInitialAclRuleDecision.Forbid => "forbid", + GetStorageSettingsResponseInitialAclRuleDecision.Hide => "hide", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static GetStorageSettingsResponseInitialAclRuleDecision? ToEnum(string value) + { + return value switch + { + "allow" => GetStorageSettingsResponseInitialAclRuleDecision.Allow, + "forbid" => GetStorageSettingsResponseInitialAclRuleDecision.Forbid, + "hide" => GetStorageSettingsResponseInitialAclRuleDecision.Hide, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclRequest.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclRequest.Json.g.cs new file mode 100644 index 0000000..e23ddd6 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclRequest.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SetStorageFileAclRequest + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SetStorageFileAclRequest? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SetStorageFileAclRequest), + jsonSerializerContext) as global::Fal.SetStorageFileAclRequest; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SetStorageFileAclRequest? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SetStorageFileAclRequest), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SetStorageFileAclRequest; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclRequest.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclRequest.g.cs new file mode 100644 index 0000000..acc6b38 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclRequest.g.cs @@ -0,0 +1,64 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Access Control List for a fal CDN file + /// + public sealed partial class SetStorageFileAclRequest + { + /// + /// Fallback decision when no user-specific rule matches
+ /// Example: allow + ///
+ /// allow + [global::System.Text.Json.Serialization.JsonPropertyName("default")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.SetStorageFileAclRequestDefaultJsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.SetStorageFileAclRequestDefault Default { get; set; } + + /// + /// User-specific overrides to the default decision
+ /// Default Value: [] + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("rules")] + public global::System.Collections.Generic.IList? Rules { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Fallback decision when no user-specific rule matches
+ /// Example: allow + /// + /// + /// User-specific overrides to the default decision
+ /// Default Value: [] + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SetStorageFileAclRequest( + global::Fal.SetStorageFileAclRequestDefault @default, + global::System.Collections.Generic.IList? rules) + { + this.Default = @default; + this.Rules = rules; + } + + /// + /// Initializes a new instance of the class. + /// + public SetStorageFileAclRequest() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclRequestDefault.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclRequestDefault.g.cs new file mode 100644 index 0000000..e13acb6 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclRequestDefault.g.cs @@ -0,0 +1,58 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Fallback decision when no user-specific rule matches
+ /// Example: allow + ///
+ public enum SetStorageFileAclRequestDefault + { + /// + /// + /// + Allow, + /// + /// + /// + Forbid, + /// + /// + /// + Hide, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class SetStorageFileAclRequestDefaultExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this SetStorageFileAclRequestDefault value) + { + return value switch + { + SetStorageFileAclRequestDefault.Allow => "allow", + SetStorageFileAclRequestDefault.Forbid => "forbid", + SetStorageFileAclRequestDefault.Hide => "hide", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static SetStorageFileAclRequestDefault? ToEnum(string value) + { + return value switch + { + "allow" => SetStorageFileAclRequestDefault.Allow, + "forbid" => SetStorageFileAclRequestDefault.Forbid, + "hide" => SetStorageFileAclRequestDefault.Hide, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclRequestRule.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclRequestRule.Json.g.cs new file mode 100644 index 0000000..4208981 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclRequestRule.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SetStorageFileAclRequestRule + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SetStorageFileAclRequestRule? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SetStorageFileAclRequestRule), + jsonSerializerContext) as global::Fal.SetStorageFileAclRequestRule; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SetStorageFileAclRequestRule? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SetStorageFileAclRequestRule), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SetStorageFileAclRequestRule; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclRequestRule.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclRequestRule.g.cs new file mode 100644 index 0000000..a12a5ec --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclRequestRule.g.cs @@ -0,0 +1,66 @@ + +#nullable enable + +namespace Fal +{ + /// + /// A per-user access control rule + /// + public sealed partial class SetStorageFileAclRequestRule + { + /// + /// User nickname or user ID the rule applies to
+ /// Example: some-user + ///
+ /// some-user + [global::System.Text.Json.Serialization.JsonPropertyName("user")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string User { get; set; } + + /// + /// Access decision applied to this user
+ /// Example: allow + ///
+ /// allow + [global::System.Text.Json.Serialization.JsonPropertyName("decision")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.SetStorageFileAclRequestRuleDecisionJsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.SetStorageFileAclRequestRuleDecision Decision { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// User nickname or user ID the rule applies to
+ /// Example: some-user + /// + /// + /// Access decision applied to this user
+ /// Example: allow + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SetStorageFileAclRequestRule( + string user, + global::Fal.SetStorageFileAclRequestRuleDecision decision) + { + this.User = user ?? throw new global::System.ArgumentNullException(nameof(user)); + this.Decision = decision; + } + + /// + /// Initializes a new instance of the class. + /// + public SetStorageFileAclRequestRule() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclRequestRuleDecision.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclRequestRuleDecision.g.cs new file mode 100644 index 0000000..05db33e --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclRequestRuleDecision.g.cs @@ -0,0 +1,58 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Access decision applied to this user
+ /// Example: allow + ///
+ public enum SetStorageFileAclRequestRuleDecision + { + /// + /// + /// + Allow, + /// + /// + /// + Forbid, + /// + /// + /// + Hide, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class SetStorageFileAclRequestRuleDecisionExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this SetStorageFileAclRequestRuleDecision value) + { + return value switch + { + SetStorageFileAclRequestRuleDecision.Allow => "allow", + SetStorageFileAclRequestRuleDecision.Forbid => "forbid", + SetStorageFileAclRequestRuleDecision.Hide => "hide", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static SetStorageFileAclRequestRuleDecision? ToEnum(string value) + { + return value switch + { + "allow" => SetStorageFileAclRequestRuleDecision.Allow, + "forbid" => SetStorageFileAclRequestRuleDecision.Forbid, + "hide" => SetStorageFileAclRequestRuleDecision.Hide, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse.Json.g.cs new file mode 100644 index 0000000..8a9018b --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SetStorageFileAclResponse + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SetStorageFileAclResponse? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SetStorageFileAclResponse), + jsonSerializerContext) as global::Fal.SetStorageFileAclResponse; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SetStorageFileAclResponse? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SetStorageFileAclResponse), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SetStorageFileAclResponse; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse.g.cs new file mode 100644 index 0000000..f42de23 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse.g.cs @@ -0,0 +1,63 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Access Control List currently applied to the file + /// + public sealed partial class SetStorageFileAclResponse + { + /// + /// Fallback decision when no user-specific rule matches
+ /// Example: allow + ///
+ /// allow + [global::System.Text.Json.Serialization.JsonPropertyName("default")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.SetStorageFileAclResponseDefaultJsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.SetStorageFileAclResponseDefault Default { get; set; } + + /// + /// User-specific overrides to the default decision. Users are returned as nicknames where possible. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("rules")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.Collections.Generic.IList Rules { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Fallback decision when no user-specific rule matches
+ /// Example: allow + /// + /// + /// User-specific overrides to the default decision. Users are returned as nicknames where possible. + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SetStorageFileAclResponse( + global::Fal.SetStorageFileAclResponseDefault @default, + global::System.Collections.Generic.IList rules) + { + this.Default = @default; + this.Rules = rules ?? throw new global::System.ArgumentNullException(nameof(rules)); + } + + /// + /// Initializes a new instance of the class. + /// + public SetStorageFileAclResponse() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse2.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse2.Json.g.cs new file mode 100644 index 0000000..694ee34 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse2.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SetStorageFileAclResponse2 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SetStorageFileAclResponse2? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SetStorageFileAclResponse2), + jsonSerializerContext) as global::Fal.SetStorageFileAclResponse2; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SetStorageFileAclResponse2? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SetStorageFileAclResponse2), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SetStorageFileAclResponse2; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse2.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse2.g.cs new file mode 100644 index 0000000..7b333cf --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse2.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Standard error response format + /// + public sealed partial class SetStorageFileAclResponse2 + { + /// + /// Error details + /// + [global::System.Text.Json.Serialization.JsonPropertyName("error")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.SetStorageFileAclResponseError Error { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Error details + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SetStorageFileAclResponse2( + global::Fal.SetStorageFileAclResponseError error) + { + this.Error = error ?? throw new global::System.ArgumentNullException(nameof(error)); + } + + /// + /// Initializes a new instance of the class. + /// + public SetStorageFileAclResponse2() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse3.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse3.Json.g.cs new file mode 100644 index 0000000..6049ee8 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse3.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SetStorageFileAclResponse3 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SetStorageFileAclResponse3? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SetStorageFileAclResponse3), + jsonSerializerContext) as global::Fal.SetStorageFileAclResponse3; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SetStorageFileAclResponse3? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SetStorageFileAclResponse3), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SetStorageFileAclResponse3; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse3.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse3.g.cs new file mode 100644 index 0000000..19979c6 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse3.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Standard error response format + /// + public sealed partial class SetStorageFileAclResponse3 + { + /// + /// Error details + /// + [global::System.Text.Json.Serialization.JsonPropertyName("error")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.SetStorageFileAclResponseError2 Error { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Error details + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SetStorageFileAclResponse3( + global::Fal.SetStorageFileAclResponseError2 error) + { + this.Error = error ?? throw new global::System.ArgumentNullException(nameof(error)); + } + + /// + /// Initializes a new instance of the class. + /// + public SetStorageFileAclResponse3() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse4.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse4.Json.g.cs new file mode 100644 index 0000000..fd3eba6 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse4.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SetStorageFileAclResponse4 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SetStorageFileAclResponse4? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SetStorageFileAclResponse4), + jsonSerializerContext) as global::Fal.SetStorageFileAclResponse4; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SetStorageFileAclResponse4? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SetStorageFileAclResponse4), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SetStorageFileAclResponse4; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse4.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse4.g.cs new file mode 100644 index 0000000..992fe6b --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse4.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Standard error response format + /// + public sealed partial class SetStorageFileAclResponse4 + { + /// + /// Error details + /// + [global::System.Text.Json.Serialization.JsonPropertyName("error")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.SetStorageFileAclResponseError3 Error { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Error details + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SetStorageFileAclResponse4( + global::Fal.SetStorageFileAclResponseError3 error) + { + this.Error = error ?? throw new global::System.ArgumentNullException(nameof(error)); + } + + /// + /// Initializes a new instance of the class. + /// + public SetStorageFileAclResponse4() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse5.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse5.Json.g.cs new file mode 100644 index 0000000..d534dfd --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse5.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SetStorageFileAclResponse5 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SetStorageFileAclResponse5? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SetStorageFileAclResponse5), + jsonSerializerContext) as global::Fal.SetStorageFileAclResponse5; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SetStorageFileAclResponse5? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SetStorageFileAclResponse5), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SetStorageFileAclResponse5; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse5.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse5.g.cs new file mode 100644 index 0000000..440fe40 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse5.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Standard error response format + /// + public sealed partial class SetStorageFileAclResponse5 + { + /// + /// Error details + /// + [global::System.Text.Json.Serialization.JsonPropertyName("error")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.SetStorageFileAclResponseError4 Error { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Error details + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SetStorageFileAclResponse5( + global::Fal.SetStorageFileAclResponseError4 error) + { + this.Error = error ?? throw new global::System.ArgumentNullException(nameof(error)); + } + + /// + /// Initializes a new instance of the class. + /// + public SetStorageFileAclResponse5() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse6.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse6.Json.g.cs new file mode 100644 index 0000000..82ce558 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse6.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SetStorageFileAclResponse6 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SetStorageFileAclResponse6? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SetStorageFileAclResponse6), + jsonSerializerContext) as global::Fal.SetStorageFileAclResponse6; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SetStorageFileAclResponse6? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SetStorageFileAclResponse6), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SetStorageFileAclResponse6; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse6.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse6.g.cs new file mode 100644 index 0000000..f7c5344 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse6.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Standard error response format + /// + public sealed partial class SetStorageFileAclResponse6 + { + /// + /// Error details + /// + [global::System.Text.Json.Serialization.JsonPropertyName("error")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.SetStorageFileAclResponseError5 Error { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Error details + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SetStorageFileAclResponse6( + global::Fal.SetStorageFileAclResponseError5 error) + { + this.Error = error ?? throw new global::System.ArgumentNullException(nameof(error)); + } + + /// + /// Initializes a new instance of the class. + /// + public SetStorageFileAclResponse6() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse7.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse7.Json.g.cs new file mode 100644 index 0000000..b09cf4a --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse7.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SetStorageFileAclResponse7 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SetStorageFileAclResponse7? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SetStorageFileAclResponse7), + jsonSerializerContext) as global::Fal.SetStorageFileAclResponse7; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SetStorageFileAclResponse7? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SetStorageFileAclResponse7), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SetStorageFileAclResponse7; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse7.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse7.g.cs new file mode 100644 index 0000000..c02b9f1 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponse7.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Standard error response format + /// + public sealed partial class SetStorageFileAclResponse7 + { + /// + /// Error details + /// + [global::System.Text.Json.Serialization.JsonPropertyName("error")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.SetStorageFileAclResponseError6 Error { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Error details + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SetStorageFileAclResponse7( + global::Fal.SetStorageFileAclResponseError6 error) + { + this.Error = error ?? throw new global::System.ArgumentNullException(nameof(error)); + } + + /// + /// Initializes a new instance of the class. + /// + public SetStorageFileAclResponse7() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseDefault.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseDefault.g.cs new file mode 100644 index 0000000..c1ff721 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseDefault.g.cs @@ -0,0 +1,58 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Fallback decision when no user-specific rule matches
+ /// Example: allow + ///
+ public enum SetStorageFileAclResponseDefault + { + /// + /// + /// + Allow, + /// + /// + /// + Forbid, + /// + /// + /// + Hide, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class SetStorageFileAclResponseDefaultExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this SetStorageFileAclResponseDefault value) + { + return value switch + { + SetStorageFileAclResponseDefault.Allow => "allow", + SetStorageFileAclResponseDefault.Forbid => "forbid", + SetStorageFileAclResponseDefault.Hide => "hide", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static SetStorageFileAclResponseDefault? ToEnum(string value) + { + return value switch + { + "allow" => SetStorageFileAclResponseDefault.Allow, + "forbid" => SetStorageFileAclResponseDefault.Forbid, + "hide" => SetStorageFileAclResponseDefault.Hide, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError.Json.g.cs new file mode 100644 index 0000000..871336e --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SetStorageFileAclResponseError + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SetStorageFileAclResponseError? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SetStorageFileAclResponseError), + jsonSerializerContext) as global::Fal.SetStorageFileAclResponseError; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SetStorageFileAclResponseError? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SetStorageFileAclResponseError), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SetStorageFileAclResponseError; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError.g.cs new file mode 100644 index 0000000..a8827f8 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError.g.cs @@ -0,0 +1,82 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Error details + /// + public sealed partial class SetStorageFileAclResponseError + { + /// + /// The category of error that occurred + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorTypeJsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.SetStorageFileAclResponseErrorType Type { get; set; } + + /// + /// Human-readable error message + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Link to relevant documentation + /// + [global::System.Text.Json.Serialization.JsonPropertyName("docs_url")] + public string? DocsUrl { get; set; } + + /// + /// Unique request identifier for debugging + /// + [global::System.Text.Json.Serialization.JsonPropertyName("request_id")] + public string? RequestId { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The category of error that occurred + /// + /// + /// Human-readable error message + /// + /// + /// Link to relevant documentation + /// + /// + /// Unique request identifier for debugging + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SetStorageFileAclResponseError( + global::Fal.SetStorageFileAclResponseErrorType type, + string message, + string? docsUrl, + string? requestId) + { + this.Type = type; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + this.DocsUrl = docsUrl; + this.RequestId = requestId; + } + + /// + /// Initializes a new instance of the class. + /// + public SetStorageFileAclResponseError() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError2.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError2.Json.g.cs new file mode 100644 index 0000000..a0b67e7 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError2.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SetStorageFileAclResponseError2 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SetStorageFileAclResponseError2? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SetStorageFileAclResponseError2), + jsonSerializerContext) as global::Fal.SetStorageFileAclResponseError2; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SetStorageFileAclResponseError2? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SetStorageFileAclResponseError2), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SetStorageFileAclResponseError2; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError2.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError2.g.cs new file mode 100644 index 0000000..01f3157 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError2.g.cs @@ -0,0 +1,82 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Error details + /// + public sealed partial class SetStorageFileAclResponseError2 + { + /// + /// The category of error that occurred + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType2JsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.SetStorageFileAclResponseErrorType2 Type { get; set; } + + /// + /// Human-readable error message + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Link to relevant documentation + /// + [global::System.Text.Json.Serialization.JsonPropertyName("docs_url")] + public string? DocsUrl { get; set; } + + /// + /// Unique request identifier for debugging + /// + [global::System.Text.Json.Serialization.JsonPropertyName("request_id")] + public string? RequestId { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The category of error that occurred + /// + /// + /// Human-readable error message + /// + /// + /// Link to relevant documentation + /// + /// + /// Unique request identifier for debugging + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SetStorageFileAclResponseError2( + global::Fal.SetStorageFileAclResponseErrorType2 type, + string message, + string? docsUrl, + string? requestId) + { + this.Type = type; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + this.DocsUrl = docsUrl; + this.RequestId = requestId; + } + + /// + /// Initializes a new instance of the class. + /// + public SetStorageFileAclResponseError2() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError3.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError3.Json.g.cs new file mode 100644 index 0000000..58f6d25 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError3.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SetStorageFileAclResponseError3 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SetStorageFileAclResponseError3? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SetStorageFileAclResponseError3), + jsonSerializerContext) as global::Fal.SetStorageFileAclResponseError3; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SetStorageFileAclResponseError3? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SetStorageFileAclResponseError3), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SetStorageFileAclResponseError3; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError3.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError3.g.cs new file mode 100644 index 0000000..dc4922b --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError3.g.cs @@ -0,0 +1,82 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Error details + /// + public sealed partial class SetStorageFileAclResponseError3 + { + /// + /// The category of error that occurred + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType3JsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.SetStorageFileAclResponseErrorType3 Type { get; set; } + + /// + /// Human-readable error message + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Link to relevant documentation + /// + [global::System.Text.Json.Serialization.JsonPropertyName("docs_url")] + public string? DocsUrl { get; set; } + + /// + /// Unique request identifier for debugging + /// + [global::System.Text.Json.Serialization.JsonPropertyName("request_id")] + public string? RequestId { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The category of error that occurred + /// + /// + /// Human-readable error message + /// + /// + /// Link to relevant documentation + /// + /// + /// Unique request identifier for debugging + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SetStorageFileAclResponseError3( + global::Fal.SetStorageFileAclResponseErrorType3 type, + string message, + string? docsUrl, + string? requestId) + { + this.Type = type; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + this.DocsUrl = docsUrl; + this.RequestId = requestId; + } + + /// + /// Initializes a new instance of the class. + /// + public SetStorageFileAclResponseError3() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError4.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError4.Json.g.cs new file mode 100644 index 0000000..947e589 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError4.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SetStorageFileAclResponseError4 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SetStorageFileAclResponseError4? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SetStorageFileAclResponseError4), + jsonSerializerContext) as global::Fal.SetStorageFileAclResponseError4; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SetStorageFileAclResponseError4? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SetStorageFileAclResponseError4), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SetStorageFileAclResponseError4; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError4.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError4.g.cs new file mode 100644 index 0000000..911ef17 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError4.g.cs @@ -0,0 +1,82 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Error details + /// + public sealed partial class SetStorageFileAclResponseError4 + { + /// + /// The category of error that occurred + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType4JsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.SetStorageFileAclResponseErrorType4 Type { get; set; } + + /// + /// Human-readable error message + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Link to relevant documentation + /// + [global::System.Text.Json.Serialization.JsonPropertyName("docs_url")] + public string? DocsUrl { get; set; } + + /// + /// Unique request identifier for debugging + /// + [global::System.Text.Json.Serialization.JsonPropertyName("request_id")] + public string? RequestId { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The category of error that occurred + /// + /// + /// Human-readable error message + /// + /// + /// Link to relevant documentation + /// + /// + /// Unique request identifier for debugging + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SetStorageFileAclResponseError4( + global::Fal.SetStorageFileAclResponseErrorType4 type, + string message, + string? docsUrl, + string? requestId) + { + this.Type = type; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + this.DocsUrl = docsUrl; + this.RequestId = requestId; + } + + /// + /// Initializes a new instance of the class. + /// + public SetStorageFileAclResponseError4() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError5.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError5.Json.g.cs new file mode 100644 index 0000000..bde5e7d --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError5.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SetStorageFileAclResponseError5 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SetStorageFileAclResponseError5? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SetStorageFileAclResponseError5), + jsonSerializerContext) as global::Fal.SetStorageFileAclResponseError5; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SetStorageFileAclResponseError5? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SetStorageFileAclResponseError5), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SetStorageFileAclResponseError5; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError5.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError5.g.cs new file mode 100644 index 0000000..d962d8c --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError5.g.cs @@ -0,0 +1,82 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Error details + /// + public sealed partial class SetStorageFileAclResponseError5 + { + /// + /// The category of error that occurred + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType5JsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.SetStorageFileAclResponseErrorType5 Type { get; set; } + + /// + /// Human-readable error message + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Link to relevant documentation + /// + [global::System.Text.Json.Serialization.JsonPropertyName("docs_url")] + public string? DocsUrl { get; set; } + + /// + /// Unique request identifier for debugging + /// + [global::System.Text.Json.Serialization.JsonPropertyName("request_id")] + public string? RequestId { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The category of error that occurred + /// + /// + /// Human-readable error message + /// + /// + /// Link to relevant documentation + /// + /// + /// Unique request identifier for debugging + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SetStorageFileAclResponseError5( + global::Fal.SetStorageFileAclResponseErrorType5 type, + string message, + string? docsUrl, + string? requestId) + { + this.Type = type; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + this.DocsUrl = docsUrl; + this.RequestId = requestId; + } + + /// + /// Initializes a new instance of the class. + /// + public SetStorageFileAclResponseError5() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError6.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError6.Json.g.cs new file mode 100644 index 0000000..2a3431d --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError6.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SetStorageFileAclResponseError6 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SetStorageFileAclResponseError6? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SetStorageFileAclResponseError6), + jsonSerializerContext) as global::Fal.SetStorageFileAclResponseError6; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SetStorageFileAclResponseError6? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SetStorageFileAclResponseError6), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SetStorageFileAclResponseError6; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError6.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError6.g.cs new file mode 100644 index 0000000..20d104a --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseError6.g.cs @@ -0,0 +1,82 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Error details + /// + public sealed partial class SetStorageFileAclResponseError6 + { + /// + /// The category of error that occurred + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.SetStorageFileAclResponseErrorType6JsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.SetStorageFileAclResponseErrorType6 Type { get; set; } + + /// + /// Human-readable error message + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Link to relevant documentation + /// + [global::System.Text.Json.Serialization.JsonPropertyName("docs_url")] + public string? DocsUrl { get; set; } + + /// + /// Unique request identifier for debugging + /// + [global::System.Text.Json.Serialization.JsonPropertyName("request_id")] + public string? RequestId { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The category of error that occurred + /// + /// + /// Human-readable error message + /// + /// + /// Link to relevant documentation + /// + /// + /// Unique request identifier for debugging + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SetStorageFileAclResponseError6( + global::Fal.SetStorageFileAclResponseErrorType6 type, + string message, + string? docsUrl, + string? requestId) + { + this.Type = type; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + this.DocsUrl = docsUrl; + this.RequestId = requestId; + } + + /// + /// Initializes a new instance of the class. + /// + public SetStorageFileAclResponseError6() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseErrorType.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseErrorType.g.cs new file mode 100644 index 0000000..9c64cbc --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseErrorType.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Fal +{ + /// + /// The category of error that occurred + /// + public enum SetStorageFileAclResponseErrorType + { + /// + /// + /// + AuthorizationError, + /// + /// + /// + NotFound, + /// + /// + /// + NotImplemented, + /// + /// + /// + RateLimited, + /// + /// + /// + ServerError, + /// + /// + /// + ValidationError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class SetStorageFileAclResponseErrorTypeExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this SetStorageFileAclResponseErrorType value) + { + return value switch + { + SetStorageFileAclResponseErrorType.AuthorizationError => "authorization_error", + SetStorageFileAclResponseErrorType.NotFound => "not_found", + SetStorageFileAclResponseErrorType.NotImplemented => "not_implemented", + SetStorageFileAclResponseErrorType.RateLimited => "rate_limited", + SetStorageFileAclResponseErrorType.ServerError => "server_error", + SetStorageFileAclResponseErrorType.ValidationError => "validation_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static SetStorageFileAclResponseErrorType? ToEnum(string value) + { + return value switch + { + "authorization_error" => SetStorageFileAclResponseErrorType.AuthorizationError, + "not_found" => SetStorageFileAclResponseErrorType.NotFound, + "not_implemented" => SetStorageFileAclResponseErrorType.NotImplemented, + "rate_limited" => SetStorageFileAclResponseErrorType.RateLimited, + "server_error" => SetStorageFileAclResponseErrorType.ServerError, + "validation_error" => SetStorageFileAclResponseErrorType.ValidationError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseErrorType2.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseErrorType2.g.cs new file mode 100644 index 0000000..5acd76d --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseErrorType2.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Fal +{ + /// + /// The category of error that occurred + /// + public enum SetStorageFileAclResponseErrorType2 + { + /// + /// + /// + AuthorizationError, + /// + /// + /// + NotFound, + /// + /// + /// + NotImplemented, + /// + /// + /// + RateLimited, + /// + /// + /// + ServerError, + /// + /// + /// + ValidationError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class SetStorageFileAclResponseErrorType2Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this SetStorageFileAclResponseErrorType2 value) + { + return value switch + { + SetStorageFileAclResponseErrorType2.AuthorizationError => "authorization_error", + SetStorageFileAclResponseErrorType2.NotFound => "not_found", + SetStorageFileAclResponseErrorType2.NotImplemented => "not_implemented", + SetStorageFileAclResponseErrorType2.RateLimited => "rate_limited", + SetStorageFileAclResponseErrorType2.ServerError => "server_error", + SetStorageFileAclResponseErrorType2.ValidationError => "validation_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static SetStorageFileAclResponseErrorType2? ToEnum(string value) + { + return value switch + { + "authorization_error" => SetStorageFileAclResponseErrorType2.AuthorizationError, + "not_found" => SetStorageFileAclResponseErrorType2.NotFound, + "not_implemented" => SetStorageFileAclResponseErrorType2.NotImplemented, + "rate_limited" => SetStorageFileAclResponseErrorType2.RateLimited, + "server_error" => SetStorageFileAclResponseErrorType2.ServerError, + "validation_error" => SetStorageFileAclResponseErrorType2.ValidationError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseErrorType3.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseErrorType3.g.cs new file mode 100644 index 0000000..6a386f4 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseErrorType3.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Fal +{ + /// + /// The category of error that occurred + /// + public enum SetStorageFileAclResponseErrorType3 + { + /// + /// + /// + AuthorizationError, + /// + /// + /// + NotFound, + /// + /// + /// + NotImplemented, + /// + /// + /// + RateLimited, + /// + /// + /// + ServerError, + /// + /// + /// + ValidationError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class SetStorageFileAclResponseErrorType3Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this SetStorageFileAclResponseErrorType3 value) + { + return value switch + { + SetStorageFileAclResponseErrorType3.AuthorizationError => "authorization_error", + SetStorageFileAclResponseErrorType3.NotFound => "not_found", + SetStorageFileAclResponseErrorType3.NotImplemented => "not_implemented", + SetStorageFileAclResponseErrorType3.RateLimited => "rate_limited", + SetStorageFileAclResponseErrorType3.ServerError => "server_error", + SetStorageFileAclResponseErrorType3.ValidationError => "validation_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static SetStorageFileAclResponseErrorType3? ToEnum(string value) + { + return value switch + { + "authorization_error" => SetStorageFileAclResponseErrorType3.AuthorizationError, + "not_found" => SetStorageFileAclResponseErrorType3.NotFound, + "not_implemented" => SetStorageFileAclResponseErrorType3.NotImplemented, + "rate_limited" => SetStorageFileAclResponseErrorType3.RateLimited, + "server_error" => SetStorageFileAclResponseErrorType3.ServerError, + "validation_error" => SetStorageFileAclResponseErrorType3.ValidationError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseErrorType4.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseErrorType4.g.cs new file mode 100644 index 0000000..1344a1c --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseErrorType4.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Fal +{ + /// + /// The category of error that occurred + /// + public enum SetStorageFileAclResponseErrorType4 + { + /// + /// + /// + AuthorizationError, + /// + /// + /// + NotFound, + /// + /// + /// + NotImplemented, + /// + /// + /// + RateLimited, + /// + /// + /// + ServerError, + /// + /// + /// + ValidationError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class SetStorageFileAclResponseErrorType4Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this SetStorageFileAclResponseErrorType4 value) + { + return value switch + { + SetStorageFileAclResponseErrorType4.AuthorizationError => "authorization_error", + SetStorageFileAclResponseErrorType4.NotFound => "not_found", + SetStorageFileAclResponseErrorType4.NotImplemented => "not_implemented", + SetStorageFileAclResponseErrorType4.RateLimited => "rate_limited", + SetStorageFileAclResponseErrorType4.ServerError => "server_error", + SetStorageFileAclResponseErrorType4.ValidationError => "validation_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static SetStorageFileAclResponseErrorType4? ToEnum(string value) + { + return value switch + { + "authorization_error" => SetStorageFileAclResponseErrorType4.AuthorizationError, + "not_found" => SetStorageFileAclResponseErrorType4.NotFound, + "not_implemented" => SetStorageFileAclResponseErrorType4.NotImplemented, + "rate_limited" => SetStorageFileAclResponseErrorType4.RateLimited, + "server_error" => SetStorageFileAclResponseErrorType4.ServerError, + "validation_error" => SetStorageFileAclResponseErrorType4.ValidationError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseErrorType5.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseErrorType5.g.cs new file mode 100644 index 0000000..ef24aa9 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseErrorType5.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Fal +{ + /// + /// The category of error that occurred + /// + public enum SetStorageFileAclResponseErrorType5 + { + /// + /// + /// + AuthorizationError, + /// + /// + /// + NotFound, + /// + /// + /// + NotImplemented, + /// + /// + /// + RateLimited, + /// + /// + /// + ServerError, + /// + /// + /// + ValidationError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class SetStorageFileAclResponseErrorType5Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this SetStorageFileAclResponseErrorType5 value) + { + return value switch + { + SetStorageFileAclResponseErrorType5.AuthorizationError => "authorization_error", + SetStorageFileAclResponseErrorType5.NotFound => "not_found", + SetStorageFileAclResponseErrorType5.NotImplemented => "not_implemented", + SetStorageFileAclResponseErrorType5.RateLimited => "rate_limited", + SetStorageFileAclResponseErrorType5.ServerError => "server_error", + SetStorageFileAclResponseErrorType5.ValidationError => "validation_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static SetStorageFileAclResponseErrorType5? ToEnum(string value) + { + return value switch + { + "authorization_error" => SetStorageFileAclResponseErrorType5.AuthorizationError, + "not_found" => SetStorageFileAclResponseErrorType5.NotFound, + "not_implemented" => SetStorageFileAclResponseErrorType5.NotImplemented, + "rate_limited" => SetStorageFileAclResponseErrorType5.RateLimited, + "server_error" => SetStorageFileAclResponseErrorType5.ServerError, + "validation_error" => SetStorageFileAclResponseErrorType5.ValidationError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseErrorType6.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseErrorType6.g.cs new file mode 100644 index 0000000..69d59e0 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseErrorType6.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Fal +{ + /// + /// The category of error that occurred + /// + public enum SetStorageFileAclResponseErrorType6 + { + /// + /// + /// + AuthorizationError, + /// + /// + /// + NotFound, + /// + /// + /// + NotImplemented, + /// + /// + /// + RateLimited, + /// + /// + /// + ServerError, + /// + /// + /// + ValidationError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class SetStorageFileAclResponseErrorType6Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this SetStorageFileAclResponseErrorType6 value) + { + return value switch + { + SetStorageFileAclResponseErrorType6.AuthorizationError => "authorization_error", + SetStorageFileAclResponseErrorType6.NotFound => "not_found", + SetStorageFileAclResponseErrorType6.NotImplemented => "not_implemented", + SetStorageFileAclResponseErrorType6.RateLimited => "rate_limited", + SetStorageFileAclResponseErrorType6.ServerError => "server_error", + SetStorageFileAclResponseErrorType6.ValidationError => "validation_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static SetStorageFileAclResponseErrorType6? ToEnum(string value) + { + return value switch + { + "authorization_error" => SetStorageFileAclResponseErrorType6.AuthorizationError, + "not_found" => SetStorageFileAclResponseErrorType6.NotFound, + "not_implemented" => SetStorageFileAclResponseErrorType6.NotImplemented, + "rate_limited" => SetStorageFileAclResponseErrorType6.RateLimited, + "server_error" => SetStorageFileAclResponseErrorType6.ServerError, + "validation_error" => SetStorageFileAclResponseErrorType6.ValidationError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseRule.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseRule.Json.g.cs new file mode 100644 index 0000000..744a3e4 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseRule.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SetStorageFileAclResponseRule + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SetStorageFileAclResponseRule? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SetStorageFileAclResponseRule), + jsonSerializerContext) as global::Fal.SetStorageFileAclResponseRule; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SetStorageFileAclResponseRule? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SetStorageFileAclResponseRule), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SetStorageFileAclResponseRule; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseRule.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseRule.g.cs new file mode 100644 index 0000000..421b51f --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseRule.g.cs @@ -0,0 +1,66 @@ + +#nullable enable + +namespace Fal +{ + /// + /// A per-user access control rule + /// + public sealed partial class SetStorageFileAclResponseRule + { + /// + /// User nickname or user ID the rule applies to
+ /// Example: some-user + ///
+ /// some-user + [global::System.Text.Json.Serialization.JsonPropertyName("user")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string User { get; set; } + + /// + /// Access decision applied to this user
+ /// Example: allow + ///
+ /// allow + [global::System.Text.Json.Serialization.JsonPropertyName("decision")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.SetStorageFileAclResponseRuleDecisionJsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.SetStorageFileAclResponseRuleDecision Decision { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// User nickname or user ID the rule applies to
+ /// Example: some-user + /// + /// + /// Access decision applied to this user
+ /// Example: allow + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SetStorageFileAclResponseRule( + string user, + global::Fal.SetStorageFileAclResponseRuleDecision decision) + { + this.User = user ?? throw new global::System.ArgumentNullException(nameof(user)); + this.Decision = decision; + } + + /// + /// Initializes a new instance of the class. + /// + public SetStorageFileAclResponseRule() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseRuleDecision.g.cs b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseRuleDecision.g.cs new file mode 100644 index 0000000..c4c2905 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SetStorageFileAclResponseRuleDecision.g.cs @@ -0,0 +1,58 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Access decision applied to this user
+ /// Example: allow + ///
+ public enum SetStorageFileAclResponseRuleDecision + { + /// + /// + /// + Allow, + /// + /// + /// + Forbid, + /// + /// + /// + Hide, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class SetStorageFileAclResponseRuleDecisionExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this SetStorageFileAclResponseRuleDecision value) + { + return value switch + { + SetStorageFileAclResponseRuleDecision.Allow => "allow", + SetStorageFileAclResponseRuleDecision.Forbid => "forbid", + SetStorageFileAclResponseRuleDecision.Hide => "hide", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static SetStorageFileAclResponseRuleDecision? ToEnum(string value) + { + return value switch + { + "allow" => SetStorageFileAclResponseRuleDecision.Allow, + "forbid" => SetStorageFileAclResponseRuleDecision.Forbid, + "hide" => SetStorageFileAclResponseRuleDecision.Hide, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlRequest.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlRequest.Json.g.cs new file mode 100644 index 0000000..799ef6f --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlRequest.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SignStorageFileUrlRequest + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SignStorageFileUrlRequest? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SignStorageFileUrlRequest), + jsonSerializerContext) as global::Fal.SignStorageFileUrlRequest; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SignStorageFileUrlRequest? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SignStorageFileUrlRequest), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SignStorageFileUrlRequest; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlRequest.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlRequest.g.cs new file mode 100644 index 0000000..c5daa17 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlRequest.g.cs @@ -0,0 +1,50 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Signing options for the file URL + /// + public sealed partial class SignStorageFileUrlRequest + { + /// + /// How long the signed URL stays valid, in seconds (max 7 days)
+ /// Example: 3600 + ///
+ /// 3600 + [global::System.Text.Json.Serialization.JsonPropertyName("expiration_seconds")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int ExpirationSeconds { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// How long the signed URL stays valid, in seconds (max 7 days)
+ /// Example: 3600 + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SignStorageFileUrlRequest( + int expirationSeconds) + { + this.ExpirationSeconds = expirationSeconds; + } + + /// + /// Initializes a new instance of the class. + /// + public SignStorageFileUrlRequest() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse.Json.g.cs new file mode 100644 index 0000000..849dc64 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SignStorageFileUrlResponse + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SignStorageFileUrlResponse? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SignStorageFileUrlResponse), + jsonSerializerContext) as global::Fal.SignStorageFileUrlResponse; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SignStorageFileUrlResponse? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SignStorageFileUrlResponse), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SignStorageFileUrlResponse; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse.g.cs new file mode 100644 index 0000000..677c9fc --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse.g.cs @@ -0,0 +1,50 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Signed URL response + /// + public sealed partial class SignStorageFileUrlResponse + { + /// + /// URL with an embedded signature granting temporary access
+ /// Example: https://v3.fal.media/files/b/0a1b2c3d/output.png?identity=... + ///
+ /// https://v3.fal.media/files/b/0a1b2c3d/output.png?identity=... + [global::System.Text.Json.Serialization.JsonPropertyName("signed_url")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string SignedUrl { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// URL with an embedded signature granting temporary access
+ /// Example: https://v3.fal.media/files/b/0a1b2c3d/output.png?identity=... + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SignStorageFileUrlResponse( + string signedUrl) + { + this.SignedUrl = signedUrl ?? throw new global::System.ArgumentNullException(nameof(signedUrl)); + } + + /// + /// Initializes a new instance of the class. + /// + public SignStorageFileUrlResponse() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse2.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse2.Json.g.cs new file mode 100644 index 0000000..0d0957d --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse2.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SignStorageFileUrlResponse2 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SignStorageFileUrlResponse2? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SignStorageFileUrlResponse2), + jsonSerializerContext) as global::Fal.SignStorageFileUrlResponse2; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SignStorageFileUrlResponse2? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SignStorageFileUrlResponse2), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SignStorageFileUrlResponse2; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse2.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse2.g.cs new file mode 100644 index 0000000..8144ddb --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse2.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Standard error response format + /// + public sealed partial class SignStorageFileUrlResponse2 + { + /// + /// Error details + /// + [global::System.Text.Json.Serialization.JsonPropertyName("error")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.SignStorageFileUrlResponseError Error { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Error details + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SignStorageFileUrlResponse2( + global::Fal.SignStorageFileUrlResponseError error) + { + this.Error = error ?? throw new global::System.ArgumentNullException(nameof(error)); + } + + /// + /// Initializes a new instance of the class. + /// + public SignStorageFileUrlResponse2() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse3.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse3.Json.g.cs new file mode 100644 index 0000000..f29916e --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse3.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SignStorageFileUrlResponse3 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SignStorageFileUrlResponse3? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SignStorageFileUrlResponse3), + jsonSerializerContext) as global::Fal.SignStorageFileUrlResponse3; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SignStorageFileUrlResponse3? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SignStorageFileUrlResponse3), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SignStorageFileUrlResponse3; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse3.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse3.g.cs new file mode 100644 index 0000000..596aa57 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse3.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Standard error response format + /// + public sealed partial class SignStorageFileUrlResponse3 + { + /// + /// Error details + /// + [global::System.Text.Json.Serialization.JsonPropertyName("error")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.SignStorageFileUrlResponseError2 Error { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Error details + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SignStorageFileUrlResponse3( + global::Fal.SignStorageFileUrlResponseError2 error) + { + this.Error = error ?? throw new global::System.ArgumentNullException(nameof(error)); + } + + /// + /// Initializes a new instance of the class. + /// + public SignStorageFileUrlResponse3() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse4.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse4.Json.g.cs new file mode 100644 index 0000000..7575447 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse4.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SignStorageFileUrlResponse4 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SignStorageFileUrlResponse4? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SignStorageFileUrlResponse4), + jsonSerializerContext) as global::Fal.SignStorageFileUrlResponse4; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SignStorageFileUrlResponse4? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SignStorageFileUrlResponse4), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SignStorageFileUrlResponse4; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse4.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse4.g.cs new file mode 100644 index 0000000..8cce56a --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse4.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Standard error response format + /// + public sealed partial class SignStorageFileUrlResponse4 + { + /// + /// Error details + /// + [global::System.Text.Json.Serialization.JsonPropertyName("error")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.SignStorageFileUrlResponseError3 Error { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Error details + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SignStorageFileUrlResponse4( + global::Fal.SignStorageFileUrlResponseError3 error) + { + this.Error = error ?? throw new global::System.ArgumentNullException(nameof(error)); + } + + /// + /// Initializes a new instance of the class. + /// + public SignStorageFileUrlResponse4() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse5.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse5.Json.g.cs new file mode 100644 index 0000000..4c62f57 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse5.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SignStorageFileUrlResponse5 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SignStorageFileUrlResponse5? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SignStorageFileUrlResponse5), + jsonSerializerContext) as global::Fal.SignStorageFileUrlResponse5; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SignStorageFileUrlResponse5? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SignStorageFileUrlResponse5), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SignStorageFileUrlResponse5; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse5.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse5.g.cs new file mode 100644 index 0000000..504d5c0 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse5.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Standard error response format + /// + public sealed partial class SignStorageFileUrlResponse5 + { + /// + /// Error details + /// + [global::System.Text.Json.Serialization.JsonPropertyName("error")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.SignStorageFileUrlResponseError4 Error { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Error details + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SignStorageFileUrlResponse5( + global::Fal.SignStorageFileUrlResponseError4 error) + { + this.Error = error ?? throw new global::System.ArgumentNullException(nameof(error)); + } + + /// + /// Initializes a new instance of the class. + /// + public SignStorageFileUrlResponse5() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse6.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse6.Json.g.cs new file mode 100644 index 0000000..c5b85ab --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse6.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SignStorageFileUrlResponse6 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SignStorageFileUrlResponse6? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SignStorageFileUrlResponse6), + jsonSerializerContext) as global::Fal.SignStorageFileUrlResponse6; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SignStorageFileUrlResponse6? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SignStorageFileUrlResponse6), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SignStorageFileUrlResponse6; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse6.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse6.g.cs new file mode 100644 index 0000000..065be2e --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse6.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Standard error response format + /// + public sealed partial class SignStorageFileUrlResponse6 + { + /// + /// Error details + /// + [global::System.Text.Json.Serialization.JsonPropertyName("error")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.SignStorageFileUrlResponseError5 Error { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Error details + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SignStorageFileUrlResponse6( + global::Fal.SignStorageFileUrlResponseError5 error) + { + this.Error = error ?? throw new global::System.ArgumentNullException(nameof(error)); + } + + /// + /// Initializes a new instance of the class. + /// + public SignStorageFileUrlResponse6() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse7.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse7.Json.g.cs new file mode 100644 index 0000000..2dbdc2d --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse7.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SignStorageFileUrlResponse7 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SignStorageFileUrlResponse7? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SignStorageFileUrlResponse7), + jsonSerializerContext) as global::Fal.SignStorageFileUrlResponse7; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SignStorageFileUrlResponse7? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SignStorageFileUrlResponse7), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SignStorageFileUrlResponse7; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse7.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse7.g.cs new file mode 100644 index 0000000..c5a5af5 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponse7.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Standard error response format + /// + public sealed partial class SignStorageFileUrlResponse7 + { + /// + /// Error details + /// + [global::System.Text.Json.Serialization.JsonPropertyName("error")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.SignStorageFileUrlResponseError6 Error { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Error details + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SignStorageFileUrlResponse7( + global::Fal.SignStorageFileUrlResponseError6 error) + { + this.Error = error ?? throw new global::System.ArgumentNullException(nameof(error)); + } + + /// + /// Initializes a new instance of the class. + /// + public SignStorageFileUrlResponse7() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError.Json.g.cs new file mode 100644 index 0000000..b2c45c9 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SignStorageFileUrlResponseError + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SignStorageFileUrlResponseError? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SignStorageFileUrlResponseError), + jsonSerializerContext) as global::Fal.SignStorageFileUrlResponseError; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SignStorageFileUrlResponseError? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SignStorageFileUrlResponseError), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SignStorageFileUrlResponseError; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError.g.cs new file mode 100644 index 0000000..446d8b0 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError.g.cs @@ -0,0 +1,82 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Error details + /// + public sealed partial class SignStorageFileUrlResponseError + { + /// + /// The category of error that occurred + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorTypeJsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.SignStorageFileUrlResponseErrorType Type { get; set; } + + /// + /// Human-readable error message + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Link to relevant documentation + /// + [global::System.Text.Json.Serialization.JsonPropertyName("docs_url")] + public string? DocsUrl { get; set; } + + /// + /// Unique request identifier for debugging + /// + [global::System.Text.Json.Serialization.JsonPropertyName("request_id")] + public string? RequestId { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The category of error that occurred + /// + /// + /// Human-readable error message + /// + /// + /// Link to relevant documentation + /// + /// + /// Unique request identifier for debugging + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SignStorageFileUrlResponseError( + global::Fal.SignStorageFileUrlResponseErrorType type, + string message, + string? docsUrl, + string? requestId) + { + this.Type = type; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + this.DocsUrl = docsUrl; + this.RequestId = requestId; + } + + /// + /// Initializes a new instance of the class. + /// + public SignStorageFileUrlResponseError() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError2.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError2.Json.g.cs new file mode 100644 index 0000000..4e8417a --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError2.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SignStorageFileUrlResponseError2 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SignStorageFileUrlResponseError2? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SignStorageFileUrlResponseError2), + jsonSerializerContext) as global::Fal.SignStorageFileUrlResponseError2; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SignStorageFileUrlResponseError2? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SignStorageFileUrlResponseError2), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SignStorageFileUrlResponseError2; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError2.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError2.g.cs new file mode 100644 index 0000000..86c250c --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError2.g.cs @@ -0,0 +1,82 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Error details + /// + public sealed partial class SignStorageFileUrlResponseError2 + { + /// + /// The category of error that occurred + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType2JsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.SignStorageFileUrlResponseErrorType2 Type { get; set; } + + /// + /// Human-readable error message + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Link to relevant documentation + /// + [global::System.Text.Json.Serialization.JsonPropertyName("docs_url")] + public string? DocsUrl { get; set; } + + /// + /// Unique request identifier for debugging + /// + [global::System.Text.Json.Serialization.JsonPropertyName("request_id")] + public string? RequestId { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The category of error that occurred + /// + /// + /// Human-readable error message + /// + /// + /// Link to relevant documentation + /// + /// + /// Unique request identifier for debugging + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SignStorageFileUrlResponseError2( + global::Fal.SignStorageFileUrlResponseErrorType2 type, + string message, + string? docsUrl, + string? requestId) + { + this.Type = type; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + this.DocsUrl = docsUrl; + this.RequestId = requestId; + } + + /// + /// Initializes a new instance of the class. + /// + public SignStorageFileUrlResponseError2() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError3.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError3.Json.g.cs new file mode 100644 index 0000000..f1b851d --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError3.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SignStorageFileUrlResponseError3 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SignStorageFileUrlResponseError3? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SignStorageFileUrlResponseError3), + jsonSerializerContext) as global::Fal.SignStorageFileUrlResponseError3; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SignStorageFileUrlResponseError3? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SignStorageFileUrlResponseError3), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SignStorageFileUrlResponseError3; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError3.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError3.g.cs new file mode 100644 index 0000000..ba7a59b --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError3.g.cs @@ -0,0 +1,82 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Error details + /// + public sealed partial class SignStorageFileUrlResponseError3 + { + /// + /// The category of error that occurred + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType3JsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.SignStorageFileUrlResponseErrorType3 Type { get; set; } + + /// + /// Human-readable error message + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Link to relevant documentation + /// + [global::System.Text.Json.Serialization.JsonPropertyName("docs_url")] + public string? DocsUrl { get; set; } + + /// + /// Unique request identifier for debugging + /// + [global::System.Text.Json.Serialization.JsonPropertyName("request_id")] + public string? RequestId { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The category of error that occurred + /// + /// + /// Human-readable error message + /// + /// + /// Link to relevant documentation + /// + /// + /// Unique request identifier for debugging + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SignStorageFileUrlResponseError3( + global::Fal.SignStorageFileUrlResponseErrorType3 type, + string message, + string? docsUrl, + string? requestId) + { + this.Type = type; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + this.DocsUrl = docsUrl; + this.RequestId = requestId; + } + + /// + /// Initializes a new instance of the class. + /// + public SignStorageFileUrlResponseError3() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError4.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError4.Json.g.cs new file mode 100644 index 0000000..13b61c4 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError4.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SignStorageFileUrlResponseError4 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SignStorageFileUrlResponseError4? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SignStorageFileUrlResponseError4), + jsonSerializerContext) as global::Fal.SignStorageFileUrlResponseError4; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SignStorageFileUrlResponseError4? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SignStorageFileUrlResponseError4), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SignStorageFileUrlResponseError4; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError4.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError4.g.cs new file mode 100644 index 0000000..5d5da13 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError4.g.cs @@ -0,0 +1,82 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Error details + /// + public sealed partial class SignStorageFileUrlResponseError4 + { + /// + /// The category of error that occurred + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType4JsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.SignStorageFileUrlResponseErrorType4 Type { get; set; } + + /// + /// Human-readable error message + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Link to relevant documentation + /// + [global::System.Text.Json.Serialization.JsonPropertyName("docs_url")] + public string? DocsUrl { get; set; } + + /// + /// Unique request identifier for debugging + /// + [global::System.Text.Json.Serialization.JsonPropertyName("request_id")] + public string? RequestId { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The category of error that occurred + /// + /// + /// Human-readable error message + /// + /// + /// Link to relevant documentation + /// + /// + /// Unique request identifier for debugging + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SignStorageFileUrlResponseError4( + global::Fal.SignStorageFileUrlResponseErrorType4 type, + string message, + string? docsUrl, + string? requestId) + { + this.Type = type; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + this.DocsUrl = docsUrl; + this.RequestId = requestId; + } + + /// + /// Initializes a new instance of the class. + /// + public SignStorageFileUrlResponseError4() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError5.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError5.Json.g.cs new file mode 100644 index 0000000..5896274 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError5.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SignStorageFileUrlResponseError5 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SignStorageFileUrlResponseError5? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SignStorageFileUrlResponseError5), + jsonSerializerContext) as global::Fal.SignStorageFileUrlResponseError5; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SignStorageFileUrlResponseError5? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SignStorageFileUrlResponseError5), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SignStorageFileUrlResponseError5; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError5.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError5.g.cs new file mode 100644 index 0000000..b734988 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError5.g.cs @@ -0,0 +1,82 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Error details + /// + public sealed partial class SignStorageFileUrlResponseError5 + { + /// + /// The category of error that occurred + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType5JsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.SignStorageFileUrlResponseErrorType5 Type { get; set; } + + /// + /// Human-readable error message + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Link to relevant documentation + /// + [global::System.Text.Json.Serialization.JsonPropertyName("docs_url")] + public string? DocsUrl { get; set; } + + /// + /// Unique request identifier for debugging + /// + [global::System.Text.Json.Serialization.JsonPropertyName("request_id")] + public string? RequestId { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The category of error that occurred + /// + /// + /// Human-readable error message + /// + /// + /// Link to relevant documentation + /// + /// + /// Unique request identifier for debugging + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SignStorageFileUrlResponseError5( + global::Fal.SignStorageFileUrlResponseErrorType5 type, + string message, + string? docsUrl, + string? requestId) + { + this.Type = type; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + this.DocsUrl = docsUrl; + this.RequestId = requestId; + } + + /// + /// Initializes a new instance of the class. + /// + public SignStorageFileUrlResponseError5() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError6.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError6.Json.g.cs new file mode 100644 index 0000000..392d4d6 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError6.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class SignStorageFileUrlResponseError6 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.SignStorageFileUrlResponseError6? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.SignStorageFileUrlResponseError6), + jsonSerializerContext) as global::Fal.SignStorageFileUrlResponseError6; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.SignStorageFileUrlResponseError6? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.SignStorageFileUrlResponseError6), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.SignStorageFileUrlResponseError6; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError6.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError6.g.cs new file mode 100644 index 0000000..d926416 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseError6.g.cs @@ -0,0 +1,82 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Error details + /// + public sealed partial class SignStorageFileUrlResponseError6 + { + /// + /// The category of error that occurred + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.SignStorageFileUrlResponseErrorType6JsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.SignStorageFileUrlResponseErrorType6 Type { get; set; } + + /// + /// Human-readable error message + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Link to relevant documentation + /// + [global::System.Text.Json.Serialization.JsonPropertyName("docs_url")] + public string? DocsUrl { get; set; } + + /// + /// Unique request identifier for debugging + /// + [global::System.Text.Json.Serialization.JsonPropertyName("request_id")] + public string? RequestId { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The category of error that occurred + /// + /// + /// Human-readable error message + /// + /// + /// Link to relevant documentation + /// + /// + /// Unique request identifier for debugging + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SignStorageFileUrlResponseError6( + global::Fal.SignStorageFileUrlResponseErrorType6 type, + string message, + string? docsUrl, + string? requestId) + { + this.Type = type; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + this.DocsUrl = docsUrl; + this.RequestId = requestId; + } + + /// + /// Initializes a new instance of the class. + /// + public SignStorageFileUrlResponseError6() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseErrorType.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseErrorType.g.cs new file mode 100644 index 0000000..c035ab8 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseErrorType.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Fal +{ + /// + /// The category of error that occurred + /// + public enum SignStorageFileUrlResponseErrorType + { + /// + /// + /// + AuthorizationError, + /// + /// + /// + NotFound, + /// + /// + /// + NotImplemented, + /// + /// + /// + RateLimited, + /// + /// + /// + ServerError, + /// + /// + /// + ValidationError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class SignStorageFileUrlResponseErrorTypeExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this SignStorageFileUrlResponseErrorType value) + { + return value switch + { + SignStorageFileUrlResponseErrorType.AuthorizationError => "authorization_error", + SignStorageFileUrlResponseErrorType.NotFound => "not_found", + SignStorageFileUrlResponseErrorType.NotImplemented => "not_implemented", + SignStorageFileUrlResponseErrorType.RateLimited => "rate_limited", + SignStorageFileUrlResponseErrorType.ServerError => "server_error", + SignStorageFileUrlResponseErrorType.ValidationError => "validation_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static SignStorageFileUrlResponseErrorType? ToEnum(string value) + { + return value switch + { + "authorization_error" => SignStorageFileUrlResponseErrorType.AuthorizationError, + "not_found" => SignStorageFileUrlResponseErrorType.NotFound, + "not_implemented" => SignStorageFileUrlResponseErrorType.NotImplemented, + "rate_limited" => SignStorageFileUrlResponseErrorType.RateLimited, + "server_error" => SignStorageFileUrlResponseErrorType.ServerError, + "validation_error" => SignStorageFileUrlResponseErrorType.ValidationError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseErrorType2.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseErrorType2.g.cs new file mode 100644 index 0000000..ec2b1a7 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseErrorType2.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Fal +{ + /// + /// The category of error that occurred + /// + public enum SignStorageFileUrlResponseErrorType2 + { + /// + /// + /// + AuthorizationError, + /// + /// + /// + NotFound, + /// + /// + /// + NotImplemented, + /// + /// + /// + RateLimited, + /// + /// + /// + ServerError, + /// + /// + /// + ValidationError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class SignStorageFileUrlResponseErrorType2Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this SignStorageFileUrlResponseErrorType2 value) + { + return value switch + { + SignStorageFileUrlResponseErrorType2.AuthorizationError => "authorization_error", + SignStorageFileUrlResponseErrorType2.NotFound => "not_found", + SignStorageFileUrlResponseErrorType2.NotImplemented => "not_implemented", + SignStorageFileUrlResponseErrorType2.RateLimited => "rate_limited", + SignStorageFileUrlResponseErrorType2.ServerError => "server_error", + SignStorageFileUrlResponseErrorType2.ValidationError => "validation_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static SignStorageFileUrlResponseErrorType2? ToEnum(string value) + { + return value switch + { + "authorization_error" => SignStorageFileUrlResponseErrorType2.AuthorizationError, + "not_found" => SignStorageFileUrlResponseErrorType2.NotFound, + "not_implemented" => SignStorageFileUrlResponseErrorType2.NotImplemented, + "rate_limited" => SignStorageFileUrlResponseErrorType2.RateLimited, + "server_error" => SignStorageFileUrlResponseErrorType2.ServerError, + "validation_error" => SignStorageFileUrlResponseErrorType2.ValidationError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseErrorType3.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseErrorType3.g.cs new file mode 100644 index 0000000..0f10ddd --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseErrorType3.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Fal +{ + /// + /// The category of error that occurred + /// + public enum SignStorageFileUrlResponseErrorType3 + { + /// + /// + /// + AuthorizationError, + /// + /// + /// + NotFound, + /// + /// + /// + NotImplemented, + /// + /// + /// + RateLimited, + /// + /// + /// + ServerError, + /// + /// + /// + ValidationError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class SignStorageFileUrlResponseErrorType3Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this SignStorageFileUrlResponseErrorType3 value) + { + return value switch + { + SignStorageFileUrlResponseErrorType3.AuthorizationError => "authorization_error", + SignStorageFileUrlResponseErrorType3.NotFound => "not_found", + SignStorageFileUrlResponseErrorType3.NotImplemented => "not_implemented", + SignStorageFileUrlResponseErrorType3.RateLimited => "rate_limited", + SignStorageFileUrlResponseErrorType3.ServerError => "server_error", + SignStorageFileUrlResponseErrorType3.ValidationError => "validation_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static SignStorageFileUrlResponseErrorType3? ToEnum(string value) + { + return value switch + { + "authorization_error" => SignStorageFileUrlResponseErrorType3.AuthorizationError, + "not_found" => SignStorageFileUrlResponseErrorType3.NotFound, + "not_implemented" => SignStorageFileUrlResponseErrorType3.NotImplemented, + "rate_limited" => SignStorageFileUrlResponseErrorType3.RateLimited, + "server_error" => SignStorageFileUrlResponseErrorType3.ServerError, + "validation_error" => SignStorageFileUrlResponseErrorType3.ValidationError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseErrorType4.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseErrorType4.g.cs new file mode 100644 index 0000000..431463d --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseErrorType4.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Fal +{ + /// + /// The category of error that occurred + /// + public enum SignStorageFileUrlResponseErrorType4 + { + /// + /// + /// + AuthorizationError, + /// + /// + /// + NotFound, + /// + /// + /// + NotImplemented, + /// + /// + /// + RateLimited, + /// + /// + /// + ServerError, + /// + /// + /// + ValidationError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class SignStorageFileUrlResponseErrorType4Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this SignStorageFileUrlResponseErrorType4 value) + { + return value switch + { + SignStorageFileUrlResponseErrorType4.AuthorizationError => "authorization_error", + SignStorageFileUrlResponseErrorType4.NotFound => "not_found", + SignStorageFileUrlResponseErrorType4.NotImplemented => "not_implemented", + SignStorageFileUrlResponseErrorType4.RateLimited => "rate_limited", + SignStorageFileUrlResponseErrorType4.ServerError => "server_error", + SignStorageFileUrlResponseErrorType4.ValidationError => "validation_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static SignStorageFileUrlResponseErrorType4? ToEnum(string value) + { + return value switch + { + "authorization_error" => SignStorageFileUrlResponseErrorType4.AuthorizationError, + "not_found" => SignStorageFileUrlResponseErrorType4.NotFound, + "not_implemented" => SignStorageFileUrlResponseErrorType4.NotImplemented, + "rate_limited" => SignStorageFileUrlResponseErrorType4.RateLimited, + "server_error" => SignStorageFileUrlResponseErrorType4.ServerError, + "validation_error" => SignStorageFileUrlResponseErrorType4.ValidationError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseErrorType5.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseErrorType5.g.cs new file mode 100644 index 0000000..384be1e --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseErrorType5.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Fal +{ + /// + /// The category of error that occurred + /// + public enum SignStorageFileUrlResponseErrorType5 + { + /// + /// + /// + AuthorizationError, + /// + /// + /// + NotFound, + /// + /// + /// + NotImplemented, + /// + /// + /// + RateLimited, + /// + /// + /// + ServerError, + /// + /// + /// + ValidationError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class SignStorageFileUrlResponseErrorType5Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this SignStorageFileUrlResponseErrorType5 value) + { + return value switch + { + SignStorageFileUrlResponseErrorType5.AuthorizationError => "authorization_error", + SignStorageFileUrlResponseErrorType5.NotFound => "not_found", + SignStorageFileUrlResponseErrorType5.NotImplemented => "not_implemented", + SignStorageFileUrlResponseErrorType5.RateLimited => "rate_limited", + SignStorageFileUrlResponseErrorType5.ServerError => "server_error", + SignStorageFileUrlResponseErrorType5.ValidationError => "validation_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static SignStorageFileUrlResponseErrorType5? ToEnum(string value) + { + return value switch + { + "authorization_error" => SignStorageFileUrlResponseErrorType5.AuthorizationError, + "not_found" => SignStorageFileUrlResponseErrorType5.NotFound, + "not_implemented" => SignStorageFileUrlResponseErrorType5.NotImplemented, + "rate_limited" => SignStorageFileUrlResponseErrorType5.RateLimited, + "server_error" => SignStorageFileUrlResponseErrorType5.ServerError, + "validation_error" => SignStorageFileUrlResponseErrorType5.ValidationError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseErrorType6.g.cs b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseErrorType6.g.cs new file mode 100644 index 0000000..40cbcce --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.SignStorageFileUrlResponseErrorType6.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Fal +{ + /// + /// The category of error that occurred + /// + public enum SignStorageFileUrlResponseErrorType6 + { + /// + /// + /// + AuthorizationError, + /// + /// + /// + NotFound, + /// + /// + /// + NotImplemented, + /// + /// + /// + RateLimited, + /// + /// + /// + ServerError, + /// + /// + /// + ValidationError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class SignStorageFileUrlResponseErrorType6Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this SignStorageFileUrlResponseErrorType6 value) + { + return value switch + { + SignStorageFileUrlResponseErrorType6.AuthorizationError => "authorization_error", + SignStorageFileUrlResponseErrorType6.NotFound => "not_found", + SignStorageFileUrlResponseErrorType6.NotImplemented => "not_implemented", + SignStorageFileUrlResponseErrorType6.RateLimited => "rate_limited", + SignStorageFileUrlResponseErrorType6.ServerError => "server_error", + SignStorageFileUrlResponseErrorType6.ValidationError => "validation_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static SignStorageFileUrlResponseErrorType6? ToEnum(string value) + { + return value switch + { + "authorization_error" => SignStorageFileUrlResponseErrorType6.AuthorizationError, + "not_found" => SignStorageFileUrlResponseErrorType6.NotFound, + "not_implemented" => SignStorageFileUrlResponseErrorType6.NotImplemented, + "rate_limited" => SignStorageFileUrlResponseErrorType6.RateLimited, + "server_error" => SignStorageFileUrlResponseErrorType6.ServerError, + "validation_error" => SignStorageFileUrlResponseErrorType6.ValidationError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsRequest.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsRequest.Json.g.cs new file mode 100644 index 0000000..4c6c649 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsRequest.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class UpdateStorageSettingsRequest + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.UpdateStorageSettingsRequest? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.UpdateStorageSettingsRequest), + jsonSerializerContext) as global::Fal.UpdateStorageSettingsRequest; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.UpdateStorageSettingsRequest? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.UpdateStorageSettingsRequest), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.UpdateStorageSettingsRequest; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsRequest.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsRequest.g.cs new file mode 100644 index 0000000..e19c329 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsRequest.g.cs @@ -0,0 +1,60 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Account-level storage lifecycle settings + /// + public sealed partial class UpdateStorageSettingsRequest + { + /// + /// Seconds after which newly uploaded files automatically expire and are deleted. Null disables auto-expiration.
+ /// Example: 86400 + ///
+ /// 86400 + [global::System.Text.Json.Serialization.JsonPropertyName("expiration_duration_seconds")] + public int? ExpirationDurationSeconds { get; set; } + + /// + /// Default ACL applied to newly uploaded files. Null uses the system default (public). + /// + [global::System.Text.Json.Serialization.JsonPropertyName("initial_acl")] + public global::Fal.UpdateStorageSettingsRequestInitialAcl? InitialAcl { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Seconds after which newly uploaded files automatically expire and are deleted. Null disables auto-expiration.
+ /// Example: 86400 + /// + /// + /// Default ACL applied to newly uploaded files. Null uses the system default (public). + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public UpdateStorageSettingsRequest( + int? expirationDurationSeconds, + global::Fal.UpdateStorageSettingsRequestInitialAcl? initialAcl) + { + this.ExpirationDurationSeconds = expirationDurationSeconds; + this.InitialAcl = initialAcl; + } + + /// + /// Initializes a new instance of the class. + /// + public UpdateStorageSettingsRequest() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsRequestInitialAcl.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsRequestInitialAcl.Json.g.cs new file mode 100644 index 0000000..6a7338f --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsRequestInitialAcl.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class UpdateStorageSettingsRequestInitialAcl + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.UpdateStorageSettingsRequestInitialAcl? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.UpdateStorageSettingsRequestInitialAcl), + jsonSerializerContext) as global::Fal.UpdateStorageSettingsRequestInitialAcl; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.UpdateStorageSettingsRequestInitialAcl? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.UpdateStorageSettingsRequestInitialAcl), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.UpdateStorageSettingsRequestInitialAcl; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsRequestInitialAcl.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsRequestInitialAcl.g.cs new file mode 100644 index 0000000..a2d273e --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsRequestInitialAcl.g.cs @@ -0,0 +1,64 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Default ACL applied to newly uploaded files. Null uses the system default (public). + /// + public sealed partial class UpdateStorageSettingsRequestInitialAcl + { + /// + /// Fallback decision when no user-specific rule matches
+ /// Example: allow + ///
+ /// allow + [global::System.Text.Json.Serialization.JsonPropertyName("default")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclDefaultJsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.UpdateStorageSettingsRequestInitialAclDefault Default { get; set; } + + /// + /// User-specific overrides to the default decision
+ /// Default Value: [] + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("rules")] + public global::System.Collections.Generic.IList? Rules { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Fallback decision when no user-specific rule matches
+ /// Example: allow + /// + /// + /// User-specific overrides to the default decision
+ /// Default Value: [] + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public UpdateStorageSettingsRequestInitialAcl( + global::Fal.UpdateStorageSettingsRequestInitialAclDefault @default, + global::System.Collections.Generic.IList? rules) + { + this.Default = @default; + this.Rules = rules; + } + + /// + /// Initializes a new instance of the class. + /// + public UpdateStorageSettingsRequestInitialAcl() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsRequestInitialAclDefault.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsRequestInitialAclDefault.g.cs new file mode 100644 index 0000000..590d5ce --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsRequestInitialAclDefault.g.cs @@ -0,0 +1,58 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Fallback decision when no user-specific rule matches
+ /// Example: allow + ///
+ public enum UpdateStorageSettingsRequestInitialAclDefault + { + /// + /// + /// + Allow, + /// + /// + /// + Forbid, + /// + /// + /// + Hide, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class UpdateStorageSettingsRequestInitialAclDefaultExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this UpdateStorageSettingsRequestInitialAclDefault value) + { + return value switch + { + UpdateStorageSettingsRequestInitialAclDefault.Allow => "allow", + UpdateStorageSettingsRequestInitialAclDefault.Forbid => "forbid", + UpdateStorageSettingsRequestInitialAclDefault.Hide => "hide", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static UpdateStorageSettingsRequestInitialAclDefault? ToEnum(string value) + { + return value switch + { + "allow" => UpdateStorageSettingsRequestInitialAclDefault.Allow, + "forbid" => UpdateStorageSettingsRequestInitialAclDefault.Forbid, + "hide" => UpdateStorageSettingsRequestInitialAclDefault.Hide, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsRequestInitialAclRule.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsRequestInitialAclRule.Json.g.cs new file mode 100644 index 0000000..9f28770 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsRequestInitialAclRule.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class UpdateStorageSettingsRequestInitialAclRule + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.UpdateStorageSettingsRequestInitialAclRule? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.UpdateStorageSettingsRequestInitialAclRule), + jsonSerializerContext) as global::Fal.UpdateStorageSettingsRequestInitialAclRule; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.UpdateStorageSettingsRequestInitialAclRule? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.UpdateStorageSettingsRequestInitialAclRule), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.UpdateStorageSettingsRequestInitialAclRule; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsRequestInitialAclRule.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsRequestInitialAclRule.g.cs new file mode 100644 index 0000000..f54d970 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsRequestInitialAclRule.g.cs @@ -0,0 +1,66 @@ + +#nullable enable + +namespace Fal +{ + /// + /// A per-user access control rule + /// + public sealed partial class UpdateStorageSettingsRequestInitialAclRule + { + /// + /// User nickname or user ID the rule applies to
+ /// Example: some-user + ///
+ /// some-user + [global::System.Text.Json.Serialization.JsonPropertyName("user")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string User { get; set; } + + /// + /// Access decision applied to this user
+ /// Example: allow + ///
+ /// allow + [global::System.Text.Json.Serialization.JsonPropertyName("decision")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.UpdateStorageSettingsRequestInitialAclRuleDecisionJsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.UpdateStorageSettingsRequestInitialAclRuleDecision Decision { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// User nickname or user ID the rule applies to
+ /// Example: some-user + /// + /// + /// Access decision applied to this user
+ /// Example: allow + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public UpdateStorageSettingsRequestInitialAclRule( + string user, + global::Fal.UpdateStorageSettingsRequestInitialAclRuleDecision decision) + { + this.User = user ?? throw new global::System.ArgumentNullException(nameof(user)); + this.Decision = decision; + } + + /// + /// Initializes a new instance of the class. + /// + public UpdateStorageSettingsRequestInitialAclRule() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsRequestInitialAclRuleDecision.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsRequestInitialAclRuleDecision.g.cs new file mode 100644 index 0000000..f4e004f --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsRequestInitialAclRuleDecision.g.cs @@ -0,0 +1,58 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Access decision applied to this user
+ /// Example: allow + ///
+ public enum UpdateStorageSettingsRequestInitialAclRuleDecision + { + /// + /// + /// + Allow, + /// + /// + /// + Forbid, + /// + /// + /// + Hide, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class UpdateStorageSettingsRequestInitialAclRuleDecisionExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this UpdateStorageSettingsRequestInitialAclRuleDecision value) + { + return value switch + { + UpdateStorageSettingsRequestInitialAclRuleDecision.Allow => "allow", + UpdateStorageSettingsRequestInitialAclRuleDecision.Forbid => "forbid", + UpdateStorageSettingsRequestInitialAclRuleDecision.Hide => "hide", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static UpdateStorageSettingsRequestInitialAclRuleDecision? ToEnum(string value) + { + return value switch + { + "allow" => UpdateStorageSettingsRequestInitialAclRuleDecision.Allow, + "forbid" => UpdateStorageSettingsRequestInitialAclRuleDecision.Forbid, + "hide" => UpdateStorageSettingsRequestInitialAclRuleDecision.Hide, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse.Json.g.cs new file mode 100644 index 0000000..4331aa4 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class UpdateStorageSettingsResponse + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.UpdateStorageSettingsResponse? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.UpdateStorageSettingsResponse), + jsonSerializerContext) as global::Fal.UpdateStorageSettingsResponse; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.UpdateStorageSettingsResponse? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.UpdateStorageSettingsResponse), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.UpdateStorageSettingsResponse; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse.g.cs new file mode 100644 index 0000000..c59be38 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse.g.cs @@ -0,0 +1,60 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Account-level storage lifecycle settings + /// + public sealed partial class UpdateStorageSettingsResponse + { + /// + /// Seconds after which newly uploaded files automatically expire, or null if auto-expiration is disabled
+ /// Example: 86400 + ///
+ /// 86400 + [global::System.Text.Json.Serialization.JsonPropertyName("expiration_duration_seconds")] + public int? ExpirationDurationSeconds { get; set; } + + /// + /// Default ACL applied to newly uploaded files, or null if the system default (public) is used + /// + [global::System.Text.Json.Serialization.JsonPropertyName("initial_acl")] + public global::Fal.UpdateStorageSettingsResponseInitialAcl? InitialAcl { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Seconds after which newly uploaded files automatically expire, or null if auto-expiration is disabled
+ /// Example: 86400 + /// + /// + /// Default ACL applied to newly uploaded files, or null if the system default (public) is used + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public UpdateStorageSettingsResponse( + int? expirationDurationSeconds, + global::Fal.UpdateStorageSettingsResponseInitialAcl? initialAcl) + { + this.ExpirationDurationSeconds = expirationDurationSeconds; + this.InitialAcl = initialAcl; + } + + /// + /// Initializes a new instance of the class. + /// + public UpdateStorageSettingsResponse() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse2.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse2.Json.g.cs new file mode 100644 index 0000000..e5fadca --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse2.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class UpdateStorageSettingsResponse2 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.UpdateStorageSettingsResponse2? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.UpdateStorageSettingsResponse2), + jsonSerializerContext) as global::Fal.UpdateStorageSettingsResponse2; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.UpdateStorageSettingsResponse2? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.UpdateStorageSettingsResponse2), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.UpdateStorageSettingsResponse2; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse2.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse2.g.cs new file mode 100644 index 0000000..43bceba --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse2.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Standard error response format + /// + public sealed partial class UpdateStorageSettingsResponse2 + { + /// + /// Error details + /// + [global::System.Text.Json.Serialization.JsonPropertyName("error")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.UpdateStorageSettingsResponseError Error { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Error details + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public UpdateStorageSettingsResponse2( + global::Fal.UpdateStorageSettingsResponseError error) + { + this.Error = error ?? throw new global::System.ArgumentNullException(nameof(error)); + } + + /// + /// Initializes a new instance of the class. + /// + public UpdateStorageSettingsResponse2() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse3.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse3.Json.g.cs new file mode 100644 index 0000000..f5c8d0a --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse3.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class UpdateStorageSettingsResponse3 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.UpdateStorageSettingsResponse3? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.UpdateStorageSettingsResponse3), + jsonSerializerContext) as global::Fal.UpdateStorageSettingsResponse3; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.UpdateStorageSettingsResponse3? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.UpdateStorageSettingsResponse3), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.UpdateStorageSettingsResponse3; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse3.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse3.g.cs new file mode 100644 index 0000000..4f9cb07 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse3.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Standard error response format + /// + public sealed partial class UpdateStorageSettingsResponse3 + { + /// + /// Error details + /// + [global::System.Text.Json.Serialization.JsonPropertyName("error")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.UpdateStorageSettingsResponseError2 Error { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Error details + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public UpdateStorageSettingsResponse3( + global::Fal.UpdateStorageSettingsResponseError2 error) + { + this.Error = error ?? throw new global::System.ArgumentNullException(nameof(error)); + } + + /// + /// Initializes a new instance of the class. + /// + public UpdateStorageSettingsResponse3() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse4.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse4.Json.g.cs new file mode 100644 index 0000000..9e0096d --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse4.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class UpdateStorageSettingsResponse4 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.UpdateStorageSettingsResponse4? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.UpdateStorageSettingsResponse4), + jsonSerializerContext) as global::Fal.UpdateStorageSettingsResponse4; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.UpdateStorageSettingsResponse4? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.UpdateStorageSettingsResponse4), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.UpdateStorageSettingsResponse4; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse4.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse4.g.cs new file mode 100644 index 0000000..15a681c --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse4.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Standard error response format + /// + public sealed partial class UpdateStorageSettingsResponse4 + { + /// + /// Error details + /// + [global::System.Text.Json.Serialization.JsonPropertyName("error")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.UpdateStorageSettingsResponseError3 Error { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Error details + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public UpdateStorageSettingsResponse4( + global::Fal.UpdateStorageSettingsResponseError3 error) + { + this.Error = error ?? throw new global::System.ArgumentNullException(nameof(error)); + } + + /// + /// Initializes a new instance of the class. + /// + public UpdateStorageSettingsResponse4() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse5.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse5.Json.g.cs new file mode 100644 index 0000000..fdd0ceb --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse5.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class UpdateStorageSettingsResponse5 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.UpdateStorageSettingsResponse5? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.UpdateStorageSettingsResponse5), + jsonSerializerContext) as global::Fal.UpdateStorageSettingsResponse5; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.UpdateStorageSettingsResponse5? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.UpdateStorageSettingsResponse5), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.UpdateStorageSettingsResponse5; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse5.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse5.g.cs new file mode 100644 index 0000000..fa9e0ec --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse5.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Standard error response format + /// + public sealed partial class UpdateStorageSettingsResponse5 + { + /// + /// Error details + /// + [global::System.Text.Json.Serialization.JsonPropertyName("error")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.UpdateStorageSettingsResponseError4 Error { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Error details + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public UpdateStorageSettingsResponse5( + global::Fal.UpdateStorageSettingsResponseError4 error) + { + this.Error = error ?? throw new global::System.ArgumentNullException(nameof(error)); + } + + /// + /// Initializes a new instance of the class. + /// + public UpdateStorageSettingsResponse5() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse6.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse6.Json.g.cs new file mode 100644 index 0000000..9c563c3 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse6.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class UpdateStorageSettingsResponse6 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.UpdateStorageSettingsResponse6? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.UpdateStorageSettingsResponse6), + jsonSerializerContext) as global::Fal.UpdateStorageSettingsResponse6; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.UpdateStorageSettingsResponse6? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.UpdateStorageSettingsResponse6), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.UpdateStorageSettingsResponse6; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse6.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse6.g.cs new file mode 100644 index 0000000..573b1fe --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponse6.g.cs @@ -0,0 +1,47 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Standard error response format + /// + public sealed partial class UpdateStorageSettingsResponse6 + { + /// + /// Error details + /// + [global::System.Text.Json.Serialization.JsonPropertyName("error")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.UpdateStorageSettingsResponseError5 Error { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Error details + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public UpdateStorageSettingsResponse6( + global::Fal.UpdateStorageSettingsResponseError5 error) + { + this.Error = error ?? throw new global::System.ArgumentNullException(nameof(error)); + } + + /// + /// Initializes a new instance of the class. + /// + public UpdateStorageSettingsResponse6() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError.Json.g.cs new file mode 100644 index 0000000..39e19ea --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class UpdateStorageSettingsResponseError + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.UpdateStorageSettingsResponseError? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.UpdateStorageSettingsResponseError), + jsonSerializerContext) as global::Fal.UpdateStorageSettingsResponseError; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.UpdateStorageSettingsResponseError? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.UpdateStorageSettingsResponseError), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.UpdateStorageSettingsResponseError; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError.g.cs new file mode 100644 index 0000000..8e5666f --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError.g.cs @@ -0,0 +1,82 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Error details + /// + public sealed partial class UpdateStorageSettingsResponseError + { + /// + /// The category of error that occurred + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorTypeJsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.UpdateStorageSettingsResponseErrorType Type { get; set; } + + /// + /// Human-readable error message + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Link to relevant documentation + /// + [global::System.Text.Json.Serialization.JsonPropertyName("docs_url")] + public string? DocsUrl { get; set; } + + /// + /// Unique request identifier for debugging + /// + [global::System.Text.Json.Serialization.JsonPropertyName("request_id")] + public string? RequestId { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The category of error that occurred + /// + /// + /// Human-readable error message + /// + /// + /// Link to relevant documentation + /// + /// + /// Unique request identifier for debugging + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public UpdateStorageSettingsResponseError( + global::Fal.UpdateStorageSettingsResponseErrorType type, + string message, + string? docsUrl, + string? requestId) + { + this.Type = type; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + this.DocsUrl = docsUrl; + this.RequestId = requestId; + } + + /// + /// Initializes a new instance of the class. + /// + public UpdateStorageSettingsResponseError() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError2.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError2.Json.g.cs new file mode 100644 index 0000000..1fbb9e3 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError2.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class UpdateStorageSettingsResponseError2 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.UpdateStorageSettingsResponseError2? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.UpdateStorageSettingsResponseError2), + jsonSerializerContext) as global::Fal.UpdateStorageSettingsResponseError2; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.UpdateStorageSettingsResponseError2? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.UpdateStorageSettingsResponseError2), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.UpdateStorageSettingsResponseError2; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError2.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError2.g.cs new file mode 100644 index 0000000..5811855 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError2.g.cs @@ -0,0 +1,82 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Error details + /// + public sealed partial class UpdateStorageSettingsResponseError2 + { + /// + /// The category of error that occurred + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType2JsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.UpdateStorageSettingsResponseErrorType2 Type { get; set; } + + /// + /// Human-readable error message + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Link to relevant documentation + /// + [global::System.Text.Json.Serialization.JsonPropertyName("docs_url")] + public string? DocsUrl { get; set; } + + /// + /// Unique request identifier for debugging + /// + [global::System.Text.Json.Serialization.JsonPropertyName("request_id")] + public string? RequestId { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The category of error that occurred + /// + /// + /// Human-readable error message + /// + /// + /// Link to relevant documentation + /// + /// + /// Unique request identifier for debugging + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public UpdateStorageSettingsResponseError2( + global::Fal.UpdateStorageSettingsResponseErrorType2 type, + string message, + string? docsUrl, + string? requestId) + { + this.Type = type; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + this.DocsUrl = docsUrl; + this.RequestId = requestId; + } + + /// + /// Initializes a new instance of the class. + /// + public UpdateStorageSettingsResponseError2() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError3.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError3.Json.g.cs new file mode 100644 index 0000000..dff962c --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError3.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class UpdateStorageSettingsResponseError3 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.UpdateStorageSettingsResponseError3? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.UpdateStorageSettingsResponseError3), + jsonSerializerContext) as global::Fal.UpdateStorageSettingsResponseError3; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.UpdateStorageSettingsResponseError3? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.UpdateStorageSettingsResponseError3), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.UpdateStorageSettingsResponseError3; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError3.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError3.g.cs new file mode 100644 index 0000000..04f9a40 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError3.g.cs @@ -0,0 +1,82 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Error details + /// + public sealed partial class UpdateStorageSettingsResponseError3 + { + /// + /// The category of error that occurred + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType3JsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.UpdateStorageSettingsResponseErrorType3 Type { get; set; } + + /// + /// Human-readable error message + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Link to relevant documentation + /// + [global::System.Text.Json.Serialization.JsonPropertyName("docs_url")] + public string? DocsUrl { get; set; } + + /// + /// Unique request identifier for debugging + /// + [global::System.Text.Json.Serialization.JsonPropertyName("request_id")] + public string? RequestId { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The category of error that occurred + /// + /// + /// Human-readable error message + /// + /// + /// Link to relevant documentation + /// + /// + /// Unique request identifier for debugging + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public UpdateStorageSettingsResponseError3( + global::Fal.UpdateStorageSettingsResponseErrorType3 type, + string message, + string? docsUrl, + string? requestId) + { + this.Type = type; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + this.DocsUrl = docsUrl; + this.RequestId = requestId; + } + + /// + /// Initializes a new instance of the class. + /// + public UpdateStorageSettingsResponseError3() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError4.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError4.Json.g.cs new file mode 100644 index 0000000..4306a20 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError4.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class UpdateStorageSettingsResponseError4 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.UpdateStorageSettingsResponseError4? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.UpdateStorageSettingsResponseError4), + jsonSerializerContext) as global::Fal.UpdateStorageSettingsResponseError4; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.UpdateStorageSettingsResponseError4? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.UpdateStorageSettingsResponseError4), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.UpdateStorageSettingsResponseError4; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError4.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError4.g.cs new file mode 100644 index 0000000..f6b080a --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError4.g.cs @@ -0,0 +1,82 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Error details + /// + public sealed partial class UpdateStorageSettingsResponseError4 + { + /// + /// The category of error that occurred + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType4JsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.UpdateStorageSettingsResponseErrorType4 Type { get; set; } + + /// + /// Human-readable error message + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Link to relevant documentation + /// + [global::System.Text.Json.Serialization.JsonPropertyName("docs_url")] + public string? DocsUrl { get; set; } + + /// + /// Unique request identifier for debugging + /// + [global::System.Text.Json.Serialization.JsonPropertyName("request_id")] + public string? RequestId { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The category of error that occurred + /// + /// + /// Human-readable error message + /// + /// + /// Link to relevant documentation + /// + /// + /// Unique request identifier for debugging + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public UpdateStorageSettingsResponseError4( + global::Fal.UpdateStorageSettingsResponseErrorType4 type, + string message, + string? docsUrl, + string? requestId) + { + this.Type = type; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + this.DocsUrl = docsUrl; + this.RequestId = requestId; + } + + /// + /// Initializes a new instance of the class. + /// + public UpdateStorageSettingsResponseError4() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError5.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError5.Json.g.cs new file mode 100644 index 0000000..b976281 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError5.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class UpdateStorageSettingsResponseError5 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.UpdateStorageSettingsResponseError5? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.UpdateStorageSettingsResponseError5), + jsonSerializerContext) as global::Fal.UpdateStorageSettingsResponseError5; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.UpdateStorageSettingsResponseError5? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.UpdateStorageSettingsResponseError5), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.UpdateStorageSettingsResponseError5; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError5.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError5.g.cs new file mode 100644 index 0000000..380fe2b --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseError5.g.cs @@ -0,0 +1,82 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Error details + /// + public sealed partial class UpdateStorageSettingsResponseError5 + { + /// + /// The category of error that occurred + /// + [global::System.Text.Json.Serialization.JsonPropertyName("type")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseErrorType5JsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.UpdateStorageSettingsResponseErrorType5 Type { get; set; } + + /// + /// Human-readable error message + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Message { get; set; } + + /// + /// Link to relevant documentation + /// + [global::System.Text.Json.Serialization.JsonPropertyName("docs_url")] + public string? DocsUrl { get; set; } + + /// + /// Unique request identifier for debugging + /// + [global::System.Text.Json.Serialization.JsonPropertyName("request_id")] + public string? RequestId { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The category of error that occurred + /// + /// + /// Human-readable error message + /// + /// + /// Link to relevant documentation + /// + /// + /// Unique request identifier for debugging + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public UpdateStorageSettingsResponseError5( + global::Fal.UpdateStorageSettingsResponseErrorType5 type, + string message, + string? docsUrl, + string? requestId) + { + this.Type = type; + this.Message = message ?? throw new global::System.ArgumentNullException(nameof(message)); + this.DocsUrl = docsUrl; + this.RequestId = requestId; + } + + /// + /// Initializes a new instance of the class. + /// + public UpdateStorageSettingsResponseError5() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseErrorType.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseErrorType.g.cs new file mode 100644 index 0000000..4e4bebe --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseErrorType.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Fal +{ + /// + /// The category of error that occurred + /// + public enum UpdateStorageSettingsResponseErrorType + { + /// + /// + /// + AuthorizationError, + /// + /// + /// + NotFound, + /// + /// + /// + NotImplemented, + /// + /// + /// + RateLimited, + /// + /// + /// + ServerError, + /// + /// + /// + ValidationError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class UpdateStorageSettingsResponseErrorTypeExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this UpdateStorageSettingsResponseErrorType value) + { + return value switch + { + UpdateStorageSettingsResponseErrorType.AuthorizationError => "authorization_error", + UpdateStorageSettingsResponseErrorType.NotFound => "not_found", + UpdateStorageSettingsResponseErrorType.NotImplemented => "not_implemented", + UpdateStorageSettingsResponseErrorType.RateLimited => "rate_limited", + UpdateStorageSettingsResponseErrorType.ServerError => "server_error", + UpdateStorageSettingsResponseErrorType.ValidationError => "validation_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static UpdateStorageSettingsResponseErrorType? ToEnum(string value) + { + return value switch + { + "authorization_error" => UpdateStorageSettingsResponseErrorType.AuthorizationError, + "not_found" => UpdateStorageSettingsResponseErrorType.NotFound, + "not_implemented" => UpdateStorageSettingsResponseErrorType.NotImplemented, + "rate_limited" => UpdateStorageSettingsResponseErrorType.RateLimited, + "server_error" => UpdateStorageSettingsResponseErrorType.ServerError, + "validation_error" => UpdateStorageSettingsResponseErrorType.ValidationError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseErrorType2.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseErrorType2.g.cs new file mode 100644 index 0000000..7ccef66 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseErrorType2.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Fal +{ + /// + /// The category of error that occurred + /// + public enum UpdateStorageSettingsResponseErrorType2 + { + /// + /// + /// + AuthorizationError, + /// + /// + /// + NotFound, + /// + /// + /// + NotImplemented, + /// + /// + /// + RateLimited, + /// + /// + /// + ServerError, + /// + /// + /// + ValidationError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class UpdateStorageSettingsResponseErrorType2Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this UpdateStorageSettingsResponseErrorType2 value) + { + return value switch + { + UpdateStorageSettingsResponseErrorType2.AuthorizationError => "authorization_error", + UpdateStorageSettingsResponseErrorType2.NotFound => "not_found", + UpdateStorageSettingsResponseErrorType2.NotImplemented => "not_implemented", + UpdateStorageSettingsResponseErrorType2.RateLimited => "rate_limited", + UpdateStorageSettingsResponseErrorType2.ServerError => "server_error", + UpdateStorageSettingsResponseErrorType2.ValidationError => "validation_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static UpdateStorageSettingsResponseErrorType2? ToEnum(string value) + { + return value switch + { + "authorization_error" => UpdateStorageSettingsResponseErrorType2.AuthorizationError, + "not_found" => UpdateStorageSettingsResponseErrorType2.NotFound, + "not_implemented" => UpdateStorageSettingsResponseErrorType2.NotImplemented, + "rate_limited" => UpdateStorageSettingsResponseErrorType2.RateLimited, + "server_error" => UpdateStorageSettingsResponseErrorType2.ServerError, + "validation_error" => UpdateStorageSettingsResponseErrorType2.ValidationError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseErrorType3.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseErrorType3.g.cs new file mode 100644 index 0000000..ab81dc2 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseErrorType3.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Fal +{ + /// + /// The category of error that occurred + /// + public enum UpdateStorageSettingsResponseErrorType3 + { + /// + /// + /// + AuthorizationError, + /// + /// + /// + NotFound, + /// + /// + /// + NotImplemented, + /// + /// + /// + RateLimited, + /// + /// + /// + ServerError, + /// + /// + /// + ValidationError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class UpdateStorageSettingsResponseErrorType3Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this UpdateStorageSettingsResponseErrorType3 value) + { + return value switch + { + UpdateStorageSettingsResponseErrorType3.AuthorizationError => "authorization_error", + UpdateStorageSettingsResponseErrorType3.NotFound => "not_found", + UpdateStorageSettingsResponseErrorType3.NotImplemented => "not_implemented", + UpdateStorageSettingsResponseErrorType3.RateLimited => "rate_limited", + UpdateStorageSettingsResponseErrorType3.ServerError => "server_error", + UpdateStorageSettingsResponseErrorType3.ValidationError => "validation_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static UpdateStorageSettingsResponseErrorType3? ToEnum(string value) + { + return value switch + { + "authorization_error" => UpdateStorageSettingsResponseErrorType3.AuthorizationError, + "not_found" => UpdateStorageSettingsResponseErrorType3.NotFound, + "not_implemented" => UpdateStorageSettingsResponseErrorType3.NotImplemented, + "rate_limited" => UpdateStorageSettingsResponseErrorType3.RateLimited, + "server_error" => UpdateStorageSettingsResponseErrorType3.ServerError, + "validation_error" => UpdateStorageSettingsResponseErrorType3.ValidationError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseErrorType4.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseErrorType4.g.cs new file mode 100644 index 0000000..be14971 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseErrorType4.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Fal +{ + /// + /// The category of error that occurred + /// + public enum UpdateStorageSettingsResponseErrorType4 + { + /// + /// + /// + AuthorizationError, + /// + /// + /// + NotFound, + /// + /// + /// + NotImplemented, + /// + /// + /// + RateLimited, + /// + /// + /// + ServerError, + /// + /// + /// + ValidationError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class UpdateStorageSettingsResponseErrorType4Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this UpdateStorageSettingsResponseErrorType4 value) + { + return value switch + { + UpdateStorageSettingsResponseErrorType4.AuthorizationError => "authorization_error", + UpdateStorageSettingsResponseErrorType4.NotFound => "not_found", + UpdateStorageSettingsResponseErrorType4.NotImplemented => "not_implemented", + UpdateStorageSettingsResponseErrorType4.RateLimited => "rate_limited", + UpdateStorageSettingsResponseErrorType4.ServerError => "server_error", + UpdateStorageSettingsResponseErrorType4.ValidationError => "validation_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static UpdateStorageSettingsResponseErrorType4? ToEnum(string value) + { + return value switch + { + "authorization_error" => UpdateStorageSettingsResponseErrorType4.AuthorizationError, + "not_found" => UpdateStorageSettingsResponseErrorType4.NotFound, + "not_implemented" => UpdateStorageSettingsResponseErrorType4.NotImplemented, + "rate_limited" => UpdateStorageSettingsResponseErrorType4.RateLimited, + "server_error" => UpdateStorageSettingsResponseErrorType4.ServerError, + "validation_error" => UpdateStorageSettingsResponseErrorType4.ValidationError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseErrorType5.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseErrorType5.g.cs new file mode 100644 index 0000000..746ec25 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseErrorType5.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Fal +{ + /// + /// The category of error that occurred + /// + public enum UpdateStorageSettingsResponseErrorType5 + { + /// + /// + /// + AuthorizationError, + /// + /// + /// + NotFound, + /// + /// + /// + NotImplemented, + /// + /// + /// + RateLimited, + /// + /// + /// + ServerError, + /// + /// + /// + ValidationError, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class UpdateStorageSettingsResponseErrorType5Extensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this UpdateStorageSettingsResponseErrorType5 value) + { + return value switch + { + UpdateStorageSettingsResponseErrorType5.AuthorizationError => "authorization_error", + UpdateStorageSettingsResponseErrorType5.NotFound => "not_found", + UpdateStorageSettingsResponseErrorType5.NotImplemented => "not_implemented", + UpdateStorageSettingsResponseErrorType5.RateLimited => "rate_limited", + UpdateStorageSettingsResponseErrorType5.ServerError => "server_error", + UpdateStorageSettingsResponseErrorType5.ValidationError => "validation_error", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static UpdateStorageSettingsResponseErrorType5? ToEnum(string value) + { + return value switch + { + "authorization_error" => UpdateStorageSettingsResponseErrorType5.AuthorizationError, + "not_found" => UpdateStorageSettingsResponseErrorType5.NotFound, + "not_implemented" => UpdateStorageSettingsResponseErrorType5.NotImplemented, + "rate_limited" => UpdateStorageSettingsResponseErrorType5.RateLimited, + "server_error" => UpdateStorageSettingsResponseErrorType5.ServerError, + "validation_error" => UpdateStorageSettingsResponseErrorType5.ValidationError, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseInitialAcl.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseInitialAcl.Json.g.cs new file mode 100644 index 0000000..154e7f5 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseInitialAcl.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class UpdateStorageSettingsResponseInitialAcl + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.UpdateStorageSettingsResponseInitialAcl? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.UpdateStorageSettingsResponseInitialAcl), + jsonSerializerContext) as global::Fal.UpdateStorageSettingsResponseInitialAcl; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.UpdateStorageSettingsResponseInitialAcl? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.UpdateStorageSettingsResponseInitialAcl), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.UpdateStorageSettingsResponseInitialAcl; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseInitialAcl.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseInitialAcl.g.cs new file mode 100644 index 0000000..daf5e82 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseInitialAcl.g.cs @@ -0,0 +1,63 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Default ACL applied to newly uploaded files, or null if the system default (public) is used + /// + public sealed partial class UpdateStorageSettingsResponseInitialAcl + { + /// + /// Fallback decision when no user-specific rule matches
+ /// Example: allow + ///
+ /// allow + [global::System.Text.Json.Serialization.JsonPropertyName("default")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclDefaultJsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.UpdateStorageSettingsResponseInitialAclDefault Default { get; set; } + + /// + /// User-specific overrides to the default decision. Users are returned as nicknames where possible. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("rules")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.Collections.Generic.IList Rules { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Fallback decision when no user-specific rule matches
+ /// Example: allow + /// + /// + /// User-specific overrides to the default decision. Users are returned as nicknames where possible. + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public UpdateStorageSettingsResponseInitialAcl( + global::Fal.UpdateStorageSettingsResponseInitialAclDefault @default, + global::System.Collections.Generic.IList rules) + { + this.Default = @default; + this.Rules = rules ?? throw new global::System.ArgumentNullException(nameof(rules)); + } + + /// + /// Initializes a new instance of the class. + /// + public UpdateStorageSettingsResponseInitialAcl() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseInitialAclDefault.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseInitialAclDefault.g.cs new file mode 100644 index 0000000..fdda1e7 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseInitialAclDefault.g.cs @@ -0,0 +1,58 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Fallback decision when no user-specific rule matches
+ /// Example: allow + ///
+ public enum UpdateStorageSettingsResponseInitialAclDefault + { + /// + /// + /// + Allow, + /// + /// + /// + Forbid, + /// + /// + /// + Hide, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class UpdateStorageSettingsResponseInitialAclDefaultExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this UpdateStorageSettingsResponseInitialAclDefault value) + { + return value switch + { + UpdateStorageSettingsResponseInitialAclDefault.Allow => "allow", + UpdateStorageSettingsResponseInitialAclDefault.Forbid => "forbid", + UpdateStorageSettingsResponseInitialAclDefault.Hide => "hide", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static UpdateStorageSettingsResponseInitialAclDefault? ToEnum(string value) + { + return value switch + { + "allow" => UpdateStorageSettingsResponseInitialAclDefault.Allow, + "forbid" => UpdateStorageSettingsResponseInitialAclDefault.Forbid, + "hide" => UpdateStorageSettingsResponseInitialAclDefault.Hide, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseInitialAclRule.Json.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseInitialAclRule.Json.g.cs new file mode 100644 index 0000000..7d2c244 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseInitialAclRule.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Fal +{ + public sealed partial class UpdateStorageSettingsResponseInitialAclRule + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Fal.UpdateStorageSettingsResponseInitialAclRule? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Fal.UpdateStorageSettingsResponseInitialAclRule), + jsonSerializerContext) as global::Fal.UpdateStorageSettingsResponseInitialAclRule; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Fal.UpdateStorageSettingsResponseInitialAclRule? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Fal.UpdateStorageSettingsResponseInitialAclRule), + jsonSerializerContext).ConfigureAwait(false)) as global::Fal.UpdateStorageSettingsResponseInitialAclRule; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseInitialAclRule.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseInitialAclRule.g.cs new file mode 100644 index 0000000..b76fa86 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseInitialAclRule.g.cs @@ -0,0 +1,66 @@ + +#nullable enable + +namespace Fal +{ + /// + /// A per-user access control rule + /// + public sealed partial class UpdateStorageSettingsResponseInitialAclRule + { + /// + /// User nickname or user ID the rule applies to
+ /// Example: some-user + ///
+ /// some-user + [global::System.Text.Json.Serialization.JsonPropertyName("user")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string User { get; set; } + + /// + /// Access decision applied to this user
+ /// Example: allow + ///
+ /// allow + [global::System.Text.Json.Serialization.JsonPropertyName("decision")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Fal.JsonConverters.UpdateStorageSettingsResponseInitialAclRuleDecisionJsonConverter))] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::Fal.UpdateStorageSettingsResponseInitialAclRuleDecision Decision { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// User nickname or user ID the rule applies to
+ /// Example: some-user + /// + /// + /// Access decision applied to this user
+ /// Example: allow + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public UpdateStorageSettingsResponseInitialAclRule( + string user, + global::Fal.UpdateStorageSettingsResponseInitialAclRuleDecision decision) + { + this.User = user ?? throw new global::System.ArgumentNullException(nameof(user)); + this.Decision = decision; + } + + /// + /// Initializes a new instance of the class. + /// + public UpdateStorageSettingsResponseInitialAclRule() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseInitialAclRuleDecision.g.cs b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseInitialAclRuleDecision.g.cs new file mode 100644 index 0000000..70c5a90 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.Models.UpdateStorageSettingsResponseInitialAclRuleDecision.g.cs @@ -0,0 +1,58 @@ + +#nullable enable + +namespace Fal +{ + /// + /// Access decision applied to this user
+ /// Example: allow + ///
+ public enum UpdateStorageSettingsResponseInitialAclRuleDecision + { + /// + /// + /// + Allow, + /// + /// + /// + Forbid, + /// + /// + /// + Hide, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class UpdateStorageSettingsResponseInitialAclRuleDecisionExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this UpdateStorageSettingsResponseInitialAclRuleDecision value) + { + return value switch + { + UpdateStorageSettingsResponseInitialAclRuleDecision.Allow => "allow", + UpdateStorageSettingsResponseInitialAclRuleDecision.Forbid => "forbid", + UpdateStorageSettingsResponseInitialAclRuleDecision.Hide => "hide", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static UpdateStorageSettingsResponseInitialAclRuleDecision? ToEnum(string value) + { + return value switch + { + "allow" => UpdateStorageSettingsResponseInitialAclRuleDecision.Allow, + "forbid" => UpdateStorageSettingsResponseInitialAclRuleDecision.Forbid, + "hide" => UpdateStorageSettingsResponseInitialAclRuleDecision.Hide, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.StorageClient.GetStorageFileAcl.g.cs b/src/libs/Fal/Generated/Fal.StorageClient.GetStorageFileAcl.g.cs new file mode 100644 index 0000000..522d982 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.StorageClient.GetStorageFileAcl.g.cs @@ -0,0 +1,667 @@ + +#nullable enable + +namespace Fal +{ + public partial class StorageClient + { + + + private static readonly global::Fal.EndPointSecurityRequirement s_GetStorageFileAclSecurityRequirement0 = + new global::Fal.EndPointSecurityRequirement + { + Authorizations = new global::Fal.EndPointAuthorizationRequirement[] + { new global::Fal.EndPointAuthorizationRequirement + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Fal.EndPointSecurityRequirement[] s_GetStorageFileAclSecurityRequirements = + new global::Fal.EndPointSecurityRequirement[] + { s_GetStorageFileAclSecurityRequirement0, + }; + partial void PrepareGetStorageFileAclArguments( + global::System.Net.Http.HttpClient httpClient, + ref string url); + partial void PrepareGetStorageFileAclRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string url); + partial void ProcessGetStorageFileAclResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessGetStorageFileAclResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Get file ACL
+ /// Returns the Access Control List currently applied to a fal CDN file.
+ /// The ACL consists of a default decision (`allow`, `forbid`, or `hide`) plus
+ /// optional per-user rules that override the default. Rule users are returned as
+ /// nicknames where possible.
+ /// **Authentication:** Required. The API key must have the `assets:read` permission.
+ /// + ///
+ /// + /// Full URL of the fal CDN file, as returned by the upload APIs (https://v3.fal.media/files/b/<id>/<filename>). Must not contain query parameters.
+ /// Example: https://v3.fal.media/files/b/0a1b2c3d/output.png + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task GetStorageFileAclAsync( + string url, + global::Fal.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __response = await GetStorageFileAclAsResponseAsync( + url: url, + requestOptions: requestOptions, + cancellationToken: cancellationToken + ).ConfigureAwait(false); + + return __response.Body; + } + /// + /// Get file ACL
+ /// Returns the Access Control List currently applied to a fal CDN file.
+ /// The ACL consists of a default decision (`allow`, `forbid`, or `hide`) plus
+ /// optional per-user rules that override the default. Rule users are returned as
+ /// nicknames where possible.
+ /// **Authentication:** Required. The API key must have the `assets:read` permission.
+ /// + ///
+ /// + /// Full URL of the fal CDN file, as returned by the upload APIs (https://v3.fal.media/files/b/<id>/<filename>). Must not contain query parameters.
+ /// Example: https://v3.fal.media/files/b/0a1b2c3d/output.png + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task> GetStorageFileAclAsResponseAsync( + string url, + global::Fal.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: HttpClient); + PrepareGetStorageFileAclArguments( + httpClient: HttpClient, + url: ref url); + + + var __authorizations = global::Fal.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_GetStorageFileAclSecurityRequirements, + operationName: "GetStorageFileAclAsync"); + + using var __timeoutCancellationTokenSource = global::Fal.AutoSDKRequestOptionsSupport.CreateTimeoutCancellationTokenSource( + clientOptions: Options, + requestOptions: requestOptions, + cancellationToken: cancellationToken); + var __effectiveCancellationToken = __timeoutCancellationTokenSource?.Token ?? cancellationToken; + var __effectiveReadResponseAsString = global::Fal.AutoSDKRequestOptionsSupport.GetReadResponseAsString( + clientOptions: Options, + requestOptions: requestOptions, + fallbackValue: ReadResponseAsString); + var __maxAttempts = global::Fal.AutoSDKRequestOptionsSupport.GetMaxAttempts( + clientOptions: Options, + requestOptions: requestOptions, + supportsRetry: true); + + global::System.Net.Http.HttpRequestMessage __CreateHttpRequest() + { + + var __pathBuilder = new global::Fal.PathBuilder( + path: "/storage/files/acl", + baseUri: HttpClient.BaseAddress); + __pathBuilder + .AddRequiredParameter("url", url) + ; + var __path = __pathBuilder.ToString(); + __path = global::Fal.AutoSDKRequestOptionsSupport.AppendQueryParameters( + path: __path, + clientParameters: Options.QueryParameters, + requestParameters: requestOptions?.QueryParameters); + var __httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(__path, global::System.UriKind.RelativeOrAbsolute)); +#if NET6_0_OR_GREATER + __httpRequest.Version = global::System.Net.HttpVersion.Version11; + __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher; +#endif + + foreach (var __authorization in __authorizations) + { + if (__authorization.Type == "Http" || + __authorization.Type == "OAuth2" || + __authorization.Type == "OpenIdConnect") + { + __httpRequest.Headers.Authorization = new global::System.Net.Http.Headers.AuthenticationHeaderValue( + scheme: __authorization.Name, + parameter: __authorization.Value); + } + else if (__authorization.Type == "ApiKey" && + __authorization.Location == "Header") + { + __httpRequest.Headers.Add(__authorization.Name, __authorization.Value); + } + } + global::Fal.AutoSDKRequestOptionsSupport.ApplyHeaders( + request: __httpRequest, + clientHeaders: Options.Headers, + requestHeaders: requestOptions?.Headers); + + PrepareRequest( + client: HttpClient, + request: __httpRequest); + PrepareGetStorageFileAclRequest( + httpClient: HttpClient, + httpRequestMessage: __httpRequest, + url: url!); + + return __httpRequest; + } + + global::System.Net.Http.HttpRequestMessage? __httpRequest = null; + global::System.Net.Http.HttpResponseMessage? __response = null; + var __attemptNumber = 0; + try + { + for (var __attempt = 1; __attempt <= __maxAttempts; __attempt++) + { + __attemptNumber = __attempt; + __httpRequest = __CreateHttpRequest(); + await global::Fal.AutoSDKRequestOptionsSupport.OnBeforeRequestAsync( + clientOptions: Options, + context: global::Fal.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetStorageFileAcl", + methodName: "GetStorageFileAclAsync", + pathTemplate: "\"/storage/files/acl\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + try + { + __response = await HttpClient.SendAsync( + request: __httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + } + catch (global::System.Net.Http.HttpRequestException __exception) + { + var __retryDelay = global::Fal.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: null, + attempt: __attempt); + var __willRetry = __attempt < __maxAttempts && !__effectiveCancellationToken.IsCancellationRequested; + await global::Fal.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Fal.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetStorageFileAcl", + methodName: "GetStorageFileAclAsync", + pathTemplate: "\"/storage/files/acl\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: __exception, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: __willRetry, + retryDelay: __willRetry ? __retryDelay : (global::System.TimeSpan?)null, + retryReason: "exception", + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + if (!__willRetry) + { + throw; + } + + __httpRequest.Dispose(); + __httpRequest = null; + await global::Fal.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + if (__response != null && + __attempt < __maxAttempts && + global::Fal.AutoSDKRequestOptionsSupport.ShouldRetryStatusCode(__response.StatusCode)) + { + var __retryDelay = global::Fal.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: __response, + attempt: __attempt); + await global::Fal.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Fal.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetStorageFileAcl", + methodName: "GetStorageFileAclAsync", + pathTemplate: "\"/storage/files/acl\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: true, + retryDelay: __retryDelay, + retryReason: "status:" + ((int)__response.StatusCode).ToString(global::System.Globalization.CultureInfo.InvariantCulture), + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + __response.Dispose(); + __response = null; + __httpRequest.Dispose(); + __httpRequest = null; + await global::Fal.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + break; + } + + if (__response == null) + { + throw new global::System.InvalidOperationException("No response received."); + } + + using (__response) + { + + ProcessResponse( + client: HttpClient, + response: __response); + ProcessGetStorageFileAclResponse( + httpClient: HttpClient, + httpResponseMessage: __response); + if (__response.IsSuccessStatusCode) + { + await global::Fal.AutoSDKRequestOptionsSupport.OnAfterSuccessAsync( + clientOptions: Options, + context: global::Fal.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetStorageFileAcl", + methodName: "GetStorageFileAclAsync", + pathTemplate: "\"/storage/files/acl\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + else + { + await global::Fal.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Fal.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetStorageFileAcl", + methodName: "GetStorageFileAclAsync", + pathTemplate: "\"/storage/files/acl\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + // Invalid request parameters + if ((int)__response.StatusCode == 400) + { + string? __content_400 = null; + global::System.Exception? __exception_400 = null; + global::Fal.GetStorageFileAclResponse2? __value_400 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_400 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_400 = global::Fal.GetStorageFileAclResponse2.FromJson(__content_400, JsonSerializerContext); + } + else + { + __content_400 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_400 = global::Fal.GetStorageFileAclResponse2.FromJson(__content_400, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_400 = __ex; + } + + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_400 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_400, + responseBody: __content_400, + responseObject: __value_400, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Authentication required + if ((int)__response.StatusCode == 401) + { + string? __content_401 = null; + global::System.Exception? __exception_401 = null; + global::Fal.GetStorageFileAclResponse3? __value_401 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_401 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_401 = global::Fal.GetStorageFileAclResponse3.FromJson(__content_401, JsonSerializerContext); + } + else + { + __content_401 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_401 = global::Fal.GetStorageFileAclResponse3.FromJson(__content_401, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_401 = __ex; + } + + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_401 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_401, + responseBody: __content_401, + responseObject: __value_401, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Access denied + if ((int)__response.StatusCode == 403) + { + string? __content_403 = null; + global::System.Exception? __exception_403 = null; + global::Fal.GetStorageFileAclResponse4? __value_403 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_403 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_403 = global::Fal.GetStorageFileAclResponse4.FromJson(__content_403, JsonSerializerContext); + } + else + { + __content_403 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_403 = global::Fal.GetStorageFileAclResponse4.FromJson(__content_403, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_403 = __ex; + } + + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_403 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_403, + responseBody: __content_403, + responseObject: __value_403, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Resource not found + if ((int)__response.StatusCode == 404) + { + string? __content_404 = null; + global::System.Exception? __exception_404 = null; + global::Fal.GetStorageFileAclResponse5? __value_404 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_404 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_404 = global::Fal.GetStorageFileAclResponse5.FromJson(__content_404, JsonSerializerContext); + } + else + { + __content_404 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_404 = global::Fal.GetStorageFileAclResponse5.FromJson(__content_404, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_404 = __ex; + } + + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_404 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_404, + responseBody: __content_404, + responseObject: __value_404, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Rate limit exceeded + if ((int)__response.StatusCode == 429) + { + string? __content_429 = null; + global::System.Exception? __exception_429 = null; + global::Fal.GetStorageFileAclResponse6? __value_429 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_429 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_429 = global::Fal.GetStorageFileAclResponse6.FromJson(__content_429, JsonSerializerContext); + } + else + { + __content_429 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_429 = global::Fal.GetStorageFileAclResponse6.FromJson(__content_429, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_429 = __ex; + } + + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_429 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_429, + responseBody: __content_429, + responseObject: __value_429, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Internal server error + if ((int)__response.StatusCode == 500) + { + string? __content_500 = null; + global::System.Exception? __exception_500 = null; + global::Fal.GetStorageFileAclResponse7? __value_500 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_500 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_500 = global::Fal.GetStorageFileAclResponse7.FromJson(__content_500, JsonSerializerContext); + } + else + { + __content_500 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_500 = global::Fal.GetStorageFileAclResponse7.FromJson(__content_500, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_500 = __ex; + } + + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_500 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_500, + responseBody: __content_500, + responseObject: __value_500, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + + if (__effectiveReadResponseAsString) + { + var __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + ProcessResponseContent( + client: HttpClient, + response: __response, + content: ref __content); + ProcessGetStorageFileAclResponseContent( + httpClient: HttpClient, + httpResponseMessage: __response, + content: ref __content); + + try + { + __response.EnsureSuccessStatusCode(); + + var __value = global::Fal.GetStorageFileAclResponse.FromJson(__content, JsonSerializerContext) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + return new global::Fal.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Fal.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + else + { + try + { + __response.EnsureSuccessStatusCode(); + using var __content = await __response.Content.ReadAsStreamAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + var __value = await global::Fal.GetStorageFileAclResponse.FromJsonStreamAsync(__content, JsonSerializerContext).ConfigureAwait(false) ?? + throw new global::System.InvalidOperationException("Response deserialization failed."); + return new global::Fal.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Fal.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + string? __content = null; + try + { + __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + } + catch (global::System.Exception) + { + } + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + + } + } + finally + { + __httpRequest?.Dispose(); + } + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.StorageClient.GetStorageSettings.g.cs b/src/libs/Fal/Generated/Fal.StorageClient.GetStorageSettings.g.cs new file mode 100644 index 0000000..c53dada --- /dev/null +++ b/src/libs/Fal/Generated/Fal.StorageClient.GetStorageSettings.g.cs @@ -0,0 +1,581 @@ + +#nullable enable + +namespace Fal +{ + public partial class StorageClient + { + + + private static readonly global::Fal.EndPointSecurityRequirement s_GetStorageSettingsSecurityRequirement0 = + new global::Fal.EndPointSecurityRequirement + { + Authorizations = new global::Fal.EndPointAuthorizationRequirement[] + { new global::Fal.EndPointAuthorizationRequirement + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Fal.EndPointSecurityRequirement[] s_GetStorageSettingsSecurityRequirements = + new global::Fal.EndPointSecurityRequirement[] + { s_GetStorageSettingsSecurityRequirement0, + }; + partial void PrepareGetStorageSettingsArguments( + global::System.Net.Http.HttpClient httpClient); + partial void PrepareGetStorageSettingsRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage); + partial void ProcessGetStorageSettingsResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessGetStorageSettingsResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Get storage settings
+ /// Returns the account-level storage lifecycle settings applied to newly uploaded
+ /// fal CDN files:
+ /// - `expiration_duration_seconds`: how long files live before being
+ /// automatically deleted (null disables auto-expiration).
+ /// - `initial_acl`: the default ACL applied to new uploads (null means the
+ /// system default, which is public).
+ /// Both fields are null when the account has never saved settings.
+ /// **Authentication:** Required. The API key must have the `account:settings:read` permission.
+ /// + ///
+ /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task GetStorageSettingsAsync( + global::Fal.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __response = await GetStorageSettingsAsResponseAsync( + requestOptions: requestOptions, + cancellationToken: cancellationToken + ).ConfigureAwait(false); + + return __response.Body; + } + /// + /// Get storage settings
+ /// Returns the account-level storage lifecycle settings applied to newly uploaded
+ /// fal CDN files:
+ /// - `expiration_duration_seconds`: how long files live before being
+ /// automatically deleted (null disables auto-expiration).
+ /// - `initial_acl`: the default ACL applied to new uploads (null means the
+ /// system default, which is public).
+ /// Both fields are null when the account has never saved settings.
+ /// **Authentication:** Required. The API key must have the `account:settings:read` permission.
+ /// + ///
+ /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task> GetStorageSettingsAsResponseAsync( + global::Fal.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: HttpClient); + PrepareGetStorageSettingsArguments( + httpClient: HttpClient); + + + var __authorizations = global::Fal.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_GetStorageSettingsSecurityRequirements, + operationName: "GetStorageSettingsAsync"); + + using var __timeoutCancellationTokenSource = global::Fal.AutoSDKRequestOptionsSupport.CreateTimeoutCancellationTokenSource( + clientOptions: Options, + requestOptions: requestOptions, + cancellationToken: cancellationToken); + var __effectiveCancellationToken = __timeoutCancellationTokenSource?.Token ?? cancellationToken; + var __effectiveReadResponseAsString = global::Fal.AutoSDKRequestOptionsSupport.GetReadResponseAsString( + clientOptions: Options, + requestOptions: requestOptions, + fallbackValue: ReadResponseAsString); + var __maxAttempts = global::Fal.AutoSDKRequestOptionsSupport.GetMaxAttempts( + clientOptions: Options, + requestOptions: requestOptions, + supportsRetry: true); + + global::System.Net.Http.HttpRequestMessage __CreateHttpRequest() + { + + var __pathBuilder = new global::Fal.PathBuilder( + path: "/storage/settings", + baseUri: HttpClient.BaseAddress); + var __path = __pathBuilder.ToString(); + __path = global::Fal.AutoSDKRequestOptionsSupport.AppendQueryParameters( + path: __path, + clientParameters: Options.QueryParameters, + requestParameters: requestOptions?.QueryParameters); + var __httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(__path, global::System.UriKind.RelativeOrAbsolute)); +#if NET6_0_OR_GREATER + __httpRequest.Version = global::System.Net.HttpVersion.Version11; + __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher; +#endif + + foreach (var __authorization in __authorizations) + { + if (__authorization.Type == "Http" || + __authorization.Type == "OAuth2" || + __authorization.Type == "OpenIdConnect") + { + __httpRequest.Headers.Authorization = new global::System.Net.Http.Headers.AuthenticationHeaderValue( + scheme: __authorization.Name, + parameter: __authorization.Value); + } + else if (__authorization.Type == "ApiKey" && + __authorization.Location == "Header") + { + __httpRequest.Headers.Add(__authorization.Name, __authorization.Value); + } + } + global::Fal.AutoSDKRequestOptionsSupport.ApplyHeaders( + request: __httpRequest, + clientHeaders: Options.Headers, + requestHeaders: requestOptions?.Headers); + + PrepareRequest( + client: HttpClient, + request: __httpRequest); + PrepareGetStorageSettingsRequest( + httpClient: HttpClient, + httpRequestMessage: __httpRequest); + + return __httpRequest; + } + + global::System.Net.Http.HttpRequestMessage? __httpRequest = null; + global::System.Net.Http.HttpResponseMessage? __response = null; + var __attemptNumber = 0; + try + { + for (var __attempt = 1; __attempt <= __maxAttempts; __attempt++) + { + __attemptNumber = __attempt; + __httpRequest = __CreateHttpRequest(); + await global::Fal.AutoSDKRequestOptionsSupport.OnBeforeRequestAsync( + clientOptions: Options, + context: global::Fal.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetStorageSettings", + methodName: "GetStorageSettingsAsync", + pathTemplate: "\"/storage/settings\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + try + { + __response = await HttpClient.SendAsync( + request: __httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + } + catch (global::System.Net.Http.HttpRequestException __exception) + { + var __retryDelay = global::Fal.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: null, + attempt: __attempt); + var __willRetry = __attempt < __maxAttempts && !__effectiveCancellationToken.IsCancellationRequested; + await global::Fal.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Fal.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetStorageSettings", + methodName: "GetStorageSettingsAsync", + pathTemplate: "\"/storage/settings\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: __exception, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: __willRetry, + retryDelay: __willRetry ? __retryDelay : (global::System.TimeSpan?)null, + retryReason: "exception", + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + if (!__willRetry) + { + throw; + } + + __httpRequest.Dispose(); + __httpRequest = null; + await global::Fal.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + if (__response != null && + __attempt < __maxAttempts && + global::Fal.AutoSDKRequestOptionsSupport.ShouldRetryStatusCode(__response.StatusCode)) + { + var __retryDelay = global::Fal.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: __response, + attempt: __attempt); + await global::Fal.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Fal.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetStorageSettings", + methodName: "GetStorageSettingsAsync", + pathTemplate: "\"/storage/settings\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: true, + retryDelay: __retryDelay, + retryReason: "status:" + ((int)__response.StatusCode).ToString(global::System.Globalization.CultureInfo.InvariantCulture), + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + __response.Dispose(); + __response = null; + __httpRequest.Dispose(); + __httpRequest = null; + await global::Fal.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + break; + } + + if (__response == null) + { + throw new global::System.InvalidOperationException("No response received."); + } + + using (__response) + { + + ProcessResponse( + client: HttpClient, + response: __response); + ProcessGetStorageSettingsResponse( + httpClient: HttpClient, + httpResponseMessage: __response); + if (__response.IsSuccessStatusCode) + { + await global::Fal.AutoSDKRequestOptionsSupport.OnAfterSuccessAsync( + clientOptions: Options, + context: global::Fal.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetStorageSettings", + methodName: "GetStorageSettingsAsync", + pathTemplate: "\"/storage/settings\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + else + { + await global::Fal.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Fal.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetStorageSettings", + methodName: "GetStorageSettingsAsync", + pathTemplate: "\"/storage/settings\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + // Authentication required + if ((int)__response.StatusCode == 401) + { + string? __content_401 = null; + global::System.Exception? __exception_401 = null; + global::Fal.GetStorageSettingsResponse2? __value_401 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_401 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_401 = global::Fal.GetStorageSettingsResponse2.FromJson(__content_401, JsonSerializerContext); + } + else + { + __content_401 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_401 = global::Fal.GetStorageSettingsResponse2.FromJson(__content_401, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_401 = __ex; + } + + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_401 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_401, + responseBody: __content_401, + responseObject: __value_401, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Access denied + if ((int)__response.StatusCode == 403) + { + string? __content_403 = null; + global::System.Exception? __exception_403 = null; + global::Fal.GetStorageSettingsResponse3? __value_403 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_403 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_403 = global::Fal.GetStorageSettingsResponse3.FromJson(__content_403, JsonSerializerContext); + } + else + { + __content_403 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_403 = global::Fal.GetStorageSettingsResponse3.FromJson(__content_403, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_403 = __ex; + } + + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_403 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_403, + responseBody: __content_403, + responseObject: __value_403, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Rate limit exceeded + if ((int)__response.StatusCode == 429) + { + string? __content_429 = null; + global::System.Exception? __exception_429 = null; + global::Fal.GetStorageSettingsResponse4? __value_429 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_429 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_429 = global::Fal.GetStorageSettingsResponse4.FromJson(__content_429, JsonSerializerContext); + } + else + { + __content_429 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_429 = global::Fal.GetStorageSettingsResponse4.FromJson(__content_429, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_429 = __ex; + } + + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_429 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_429, + responseBody: __content_429, + responseObject: __value_429, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Internal server error + if ((int)__response.StatusCode == 500) + { + string? __content_500 = null; + global::System.Exception? __exception_500 = null; + global::Fal.GetStorageSettingsResponse5? __value_500 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_500 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_500 = global::Fal.GetStorageSettingsResponse5.FromJson(__content_500, JsonSerializerContext); + } + else + { + __content_500 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_500 = global::Fal.GetStorageSettingsResponse5.FromJson(__content_500, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_500 = __ex; + } + + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_500 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_500, + responseBody: __content_500, + responseObject: __value_500, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + + if (__effectiveReadResponseAsString) + { + var __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + ProcessResponseContent( + client: HttpClient, + response: __response, + content: ref __content); + ProcessGetStorageSettingsResponseContent( + httpClient: HttpClient, + httpResponseMessage: __response, + content: ref __content); + + try + { + __response.EnsureSuccessStatusCode(); + + var __value = global::Fal.GetStorageSettingsResponse.FromJson(__content, JsonSerializerContext) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + return new global::Fal.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Fal.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + else + { + try + { + __response.EnsureSuccessStatusCode(); + using var __content = await __response.Content.ReadAsStreamAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + var __value = await global::Fal.GetStorageSettingsResponse.FromJsonStreamAsync(__content, JsonSerializerContext).ConfigureAwait(false) ?? + throw new global::System.InvalidOperationException("Response deserialization failed."); + return new global::Fal.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Fal.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + string? __content = null; + try + { + __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + } + catch (global::System.Exception) + { + } + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + + } + } + finally + { + __httpRequest?.Dispose(); + } + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.StorageClient.SetStorageFileAcl.g.cs b/src/libs/Fal/Generated/Fal.StorageClient.SetStorageFileAcl.g.cs new file mode 100644 index 0000000..f9c0619 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.StorageClient.SetStorageFileAcl.g.cs @@ -0,0 +1,739 @@ + +#nullable enable + +namespace Fal +{ + public partial class StorageClient + { + + + private static readonly global::Fal.EndPointSecurityRequirement s_SetStorageFileAclSecurityRequirement0 = + new global::Fal.EndPointSecurityRequirement + { + Authorizations = new global::Fal.EndPointAuthorizationRequirement[] + { new global::Fal.EndPointAuthorizationRequirement + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Fal.EndPointSecurityRequirement[] s_SetStorageFileAclSecurityRequirements = + new global::Fal.EndPointSecurityRequirement[] + { s_SetStorageFileAclSecurityRequirement0, + }; + partial void PrepareSetStorageFileAclArguments( + global::System.Net.Http.HttpClient httpClient, + ref string url, + global::Fal.SetStorageFileAclRequest request); + partial void PrepareSetStorageFileAclRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string url, + global::Fal.SetStorageFileAclRequest request); + partial void ProcessSetStorageFileAclResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessSetStorageFileAclResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Set file ACL
+ /// Replaces the Access Control List of a fal CDN file.
+ /// The ACL consists of a default decision (`allow`, `forbid`, or `hide`) plus
+ /// optional per-user rules that override the default. Rule users may be specified
+ /// by nickname or user ID. Setting `default` to `allow` with no rules makes the
+ /// file public; `forbid` or `hide` restricts it to the rules you provide.
+ /// Rules referencing users that do not exist are dropped. The response reflects
+ /// the ACL actually applied, so verify it contains the rules you sent.
+ /// **Authentication:** Required. The API key must have the `assets:write` permission.
+ /// + ///
+ /// + /// Full URL of the fal CDN file, as returned by the upload APIs (https://v3.fal.media/files/b/<id>/<filename>). Must not contain query parameters.
+ /// Example: https://v3.fal.media/files/b/0a1b2c3d/output.png + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task SetStorageFileAclAsync( + string url, + + global::Fal.SetStorageFileAclRequest request, + global::Fal.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __response = await SetStorageFileAclAsResponseAsync( + url: url, + + request: request, + requestOptions: requestOptions, + cancellationToken: cancellationToken + ).ConfigureAwait(false); + + return __response.Body; + } + /// + /// Set file ACL
+ /// Replaces the Access Control List of a fal CDN file.
+ /// The ACL consists of a default decision (`allow`, `forbid`, or `hide`) plus
+ /// optional per-user rules that override the default. Rule users may be specified
+ /// by nickname or user ID. Setting `default` to `allow` with no rules makes the
+ /// file public; `forbid` or `hide` restricts it to the rules you provide.
+ /// Rules referencing users that do not exist are dropped. The response reflects
+ /// the ACL actually applied, so verify it contains the rules you sent.
+ /// **Authentication:** Required. The API key must have the `assets:write` permission.
+ /// + ///
+ /// + /// Full URL of the fal CDN file, as returned by the upload APIs (https://v3.fal.media/files/b/<id>/<filename>). Must not contain query parameters.
+ /// Example: https://v3.fal.media/files/b/0a1b2c3d/output.png + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task> SetStorageFileAclAsResponseAsync( + string url, + + global::Fal.SetStorageFileAclRequest request, + global::Fal.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + + PrepareArguments( + client: HttpClient); + PrepareSetStorageFileAclArguments( + httpClient: HttpClient, + url: ref url, + request: request); + + + var __authorizations = global::Fal.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_SetStorageFileAclSecurityRequirements, + operationName: "SetStorageFileAclAsync"); + + using var __timeoutCancellationTokenSource = global::Fal.AutoSDKRequestOptionsSupport.CreateTimeoutCancellationTokenSource( + clientOptions: Options, + requestOptions: requestOptions, + cancellationToken: cancellationToken); + var __effectiveCancellationToken = __timeoutCancellationTokenSource?.Token ?? cancellationToken; + var __effectiveReadResponseAsString = global::Fal.AutoSDKRequestOptionsSupport.GetReadResponseAsString( + clientOptions: Options, + requestOptions: requestOptions, + fallbackValue: ReadResponseAsString); + var __maxAttempts = global::Fal.AutoSDKRequestOptionsSupport.GetMaxAttempts( + clientOptions: Options, + requestOptions: requestOptions, + supportsRetry: true); + + global::System.Net.Http.HttpRequestMessage __CreateHttpRequest() + { + + var __pathBuilder = new global::Fal.PathBuilder( + path: "/storage/files/acl", + baseUri: HttpClient.BaseAddress); + __pathBuilder + .AddRequiredParameter("url", url) + ; + var __path = __pathBuilder.ToString(); + __path = global::Fal.AutoSDKRequestOptionsSupport.AppendQueryParameters( + path: __path, + clientParameters: Options.QueryParameters, + requestParameters: requestOptions?.QueryParameters); + var __httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Put, + requestUri: new global::System.Uri(__path, global::System.UriKind.RelativeOrAbsolute)); +#if NET6_0_OR_GREATER + __httpRequest.Version = global::System.Net.HttpVersion.Version11; + __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher; +#endif + + foreach (var __authorization in __authorizations) + { + if (__authorization.Type == "Http" || + __authorization.Type == "OAuth2" || + __authorization.Type == "OpenIdConnect") + { + __httpRequest.Headers.Authorization = new global::System.Net.Http.Headers.AuthenticationHeaderValue( + scheme: __authorization.Name, + parameter: __authorization.Value); + } + else if (__authorization.Type == "ApiKey" && + __authorization.Location == "Header") + { + __httpRequest.Headers.Add(__authorization.Name, __authorization.Value); + } + } + var __httpRequestContentBody = request.ToJson(JsonSerializerContext); + var __httpRequestContent = new global::System.Net.Http.StringContent( + content: __httpRequestContentBody, + encoding: global::System.Text.Encoding.UTF8, + mediaType: "application/json"); + __httpRequest.Content = __httpRequestContent; + global::Fal.AutoSDKRequestOptionsSupport.ApplyHeaders( + request: __httpRequest, + clientHeaders: Options.Headers, + requestHeaders: requestOptions?.Headers); + + PrepareRequest( + client: HttpClient, + request: __httpRequest); + PrepareSetStorageFileAclRequest( + httpClient: HttpClient, + httpRequestMessage: __httpRequest, + url: url!, + request: request); + + return __httpRequest; + } + + global::System.Net.Http.HttpRequestMessage? __httpRequest = null; + global::System.Net.Http.HttpResponseMessage? __response = null; + var __attemptNumber = 0; + try + { + for (var __attempt = 1; __attempt <= __maxAttempts; __attempt++) + { + __attemptNumber = __attempt; + __httpRequest = __CreateHttpRequest(); + await global::Fal.AutoSDKRequestOptionsSupport.OnBeforeRequestAsync( + clientOptions: Options, + context: global::Fal.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "SetStorageFileAcl", + methodName: "SetStorageFileAclAsync", + pathTemplate: "\"/storage/files/acl\"", + httpMethod: "PUT", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + try + { + __response = await HttpClient.SendAsync( + request: __httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + } + catch (global::System.Net.Http.HttpRequestException __exception) + { + var __retryDelay = global::Fal.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: null, + attempt: __attempt); + var __willRetry = __attempt < __maxAttempts && !__effectiveCancellationToken.IsCancellationRequested; + await global::Fal.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Fal.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "SetStorageFileAcl", + methodName: "SetStorageFileAclAsync", + pathTemplate: "\"/storage/files/acl\"", + httpMethod: "PUT", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: __exception, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: __willRetry, + retryDelay: __willRetry ? __retryDelay : (global::System.TimeSpan?)null, + retryReason: "exception", + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + if (!__willRetry) + { + throw; + } + + __httpRequest.Dispose(); + __httpRequest = null; + await global::Fal.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + if (__response != null && + __attempt < __maxAttempts && + global::Fal.AutoSDKRequestOptionsSupport.ShouldRetryStatusCode(__response.StatusCode)) + { + var __retryDelay = global::Fal.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: __response, + attempt: __attempt); + await global::Fal.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Fal.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "SetStorageFileAcl", + methodName: "SetStorageFileAclAsync", + pathTemplate: "\"/storage/files/acl\"", + httpMethod: "PUT", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: true, + retryDelay: __retryDelay, + retryReason: "status:" + ((int)__response.StatusCode).ToString(global::System.Globalization.CultureInfo.InvariantCulture), + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + __response.Dispose(); + __response = null; + __httpRequest.Dispose(); + __httpRequest = null; + await global::Fal.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + break; + } + + if (__response == null) + { + throw new global::System.InvalidOperationException("No response received."); + } + + using (__response) + { + + ProcessResponse( + client: HttpClient, + response: __response); + ProcessSetStorageFileAclResponse( + httpClient: HttpClient, + httpResponseMessage: __response); + if (__response.IsSuccessStatusCode) + { + await global::Fal.AutoSDKRequestOptionsSupport.OnAfterSuccessAsync( + clientOptions: Options, + context: global::Fal.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "SetStorageFileAcl", + methodName: "SetStorageFileAclAsync", + pathTemplate: "\"/storage/files/acl\"", + httpMethod: "PUT", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + else + { + await global::Fal.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Fal.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "SetStorageFileAcl", + methodName: "SetStorageFileAclAsync", + pathTemplate: "\"/storage/files/acl\"", + httpMethod: "PUT", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + // Invalid request parameters + if ((int)__response.StatusCode == 400) + { + string? __content_400 = null; + global::System.Exception? __exception_400 = null; + global::Fal.SetStorageFileAclResponse2? __value_400 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_400 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_400 = global::Fal.SetStorageFileAclResponse2.FromJson(__content_400, JsonSerializerContext); + } + else + { + __content_400 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_400 = global::Fal.SetStorageFileAclResponse2.FromJson(__content_400, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_400 = __ex; + } + + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_400 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_400, + responseBody: __content_400, + responseObject: __value_400, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Authentication required + if ((int)__response.StatusCode == 401) + { + string? __content_401 = null; + global::System.Exception? __exception_401 = null; + global::Fal.SetStorageFileAclResponse3? __value_401 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_401 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_401 = global::Fal.SetStorageFileAclResponse3.FromJson(__content_401, JsonSerializerContext); + } + else + { + __content_401 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_401 = global::Fal.SetStorageFileAclResponse3.FromJson(__content_401, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_401 = __ex; + } + + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_401 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_401, + responseBody: __content_401, + responseObject: __value_401, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Access denied + if ((int)__response.StatusCode == 403) + { + string? __content_403 = null; + global::System.Exception? __exception_403 = null; + global::Fal.SetStorageFileAclResponse4? __value_403 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_403 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_403 = global::Fal.SetStorageFileAclResponse4.FromJson(__content_403, JsonSerializerContext); + } + else + { + __content_403 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_403 = global::Fal.SetStorageFileAclResponse4.FromJson(__content_403, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_403 = __ex; + } + + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_403 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_403, + responseBody: __content_403, + responseObject: __value_403, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Resource not found + if ((int)__response.StatusCode == 404) + { + string? __content_404 = null; + global::System.Exception? __exception_404 = null; + global::Fal.SetStorageFileAclResponse5? __value_404 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_404 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_404 = global::Fal.SetStorageFileAclResponse5.FromJson(__content_404, JsonSerializerContext); + } + else + { + __content_404 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_404 = global::Fal.SetStorageFileAclResponse5.FromJson(__content_404, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_404 = __ex; + } + + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_404 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_404, + responseBody: __content_404, + responseObject: __value_404, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Rate limit exceeded + if ((int)__response.StatusCode == 429) + { + string? __content_429 = null; + global::System.Exception? __exception_429 = null; + global::Fal.SetStorageFileAclResponse6? __value_429 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_429 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_429 = global::Fal.SetStorageFileAclResponse6.FromJson(__content_429, JsonSerializerContext); + } + else + { + __content_429 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_429 = global::Fal.SetStorageFileAclResponse6.FromJson(__content_429, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_429 = __ex; + } + + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_429 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_429, + responseBody: __content_429, + responseObject: __value_429, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Internal server error + if ((int)__response.StatusCode == 500) + { + string? __content_500 = null; + global::System.Exception? __exception_500 = null; + global::Fal.SetStorageFileAclResponse7? __value_500 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_500 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_500 = global::Fal.SetStorageFileAclResponse7.FromJson(__content_500, JsonSerializerContext); + } + else + { + __content_500 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_500 = global::Fal.SetStorageFileAclResponse7.FromJson(__content_500, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_500 = __ex; + } + + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_500 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_500, + responseBody: __content_500, + responseObject: __value_500, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + + if (__effectiveReadResponseAsString) + { + var __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + ProcessResponseContent( + client: HttpClient, + response: __response, + content: ref __content); + ProcessSetStorageFileAclResponseContent( + httpClient: HttpClient, + httpResponseMessage: __response, + content: ref __content); + + try + { + __response.EnsureSuccessStatusCode(); + + var __value = global::Fal.SetStorageFileAclResponse.FromJson(__content, JsonSerializerContext) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + return new global::Fal.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Fal.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + else + { + try + { + __response.EnsureSuccessStatusCode(); + using var __content = await __response.Content.ReadAsStreamAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + var __value = await global::Fal.SetStorageFileAclResponse.FromJsonStreamAsync(__content, JsonSerializerContext).ConfigureAwait(false) ?? + throw new global::System.InvalidOperationException("Response deserialization failed."); + return new global::Fal.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Fal.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + string? __content = null; + try + { + __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + } + catch (global::System.Exception) + { + } + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + + } + } + finally + { + __httpRequest?.Dispose(); + } + } + /// + /// Set file ACL
+ /// Replaces the Access Control List of a fal CDN file.
+ /// The ACL consists of a default decision (`allow`, `forbid`, or `hide`) plus
+ /// optional per-user rules that override the default. Rule users may be specified
+ /// by nickname or user ID. Setting `default` to `allow` with no rules makes the
+ /// file public; `forbid` or `hide` restricts it to the rules you provide.
+ /// Rules referencing users that do not exist are dropped. The response reflects
+ /// the ACL actually applied, so verify it contains the rules you sent.
+ /// **Authentication:** Required. The API key must have the `assets:write` permission.
+ /// + ///
+ /// + /// Full URL of the fal CDN file, as returned by the upload APIs (https://v3.fal.media/files/b/<id>/<filename>). Must not contain query parameters.
+ /// Example: https://v3.fal.media/files/b/0a1b2c3d/output.png + /// + /// + /// Fallback decision when no user-specific rule matches
+ /// Example: allow + /// + /// + /// User-specific overrides to the default decision
+ /// Default Value: [] + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task SetStorageFileAclAsync( + string url, + global::Fal.SetStorageFileAclRequestDefault @default, + global::System.Collections.Generic.IList? rules = default, + global::Fal.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __request = new global::Fal.SetStorageFileAclRequest + { + Default = @default, + Rules = rules, + }; + + return await SetStorageFileAclAsync( + url: url, + request: __request, + requestOptions: requestOptions, + cancellationToken: cancellationToken).ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.StorageClient.SignStorageFileUrl.g.cs b/src/libs/Fal/Generated/Fal.StorageClient.SignStorageFileUrl.g.cs new file mode 100644 index 0000000..b2df596 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.StorageClient.SignStorageFileUrl.g.cs @@ -0,0 +1,721 @@ + +#nullable enable + +namespace Fal +{ + public partial class StorageClient + { + + + private static readonly global::Fal.EndPointSecurityRequirement s_SignStorageFileUrlSecurityRequirement0 = + new global::Fal.EndPointSecurityRequirement + { + Authorizations = new global::Fal.EndPointAuthorizationRequirement[] + { new global::Fal.EndPointAuthorizationRequirement + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Fal.EndPointSecurityRequirement[] s_SignStorageFileUrlSecurityRequirements = + new global::Fal.EndPointSecurityRequirement[] + { s_SignStorageFileUrlSecurityRequirement0, + }; + partial void PrepareSignStorageFileUrlArguments( + global::System.Net.Http.HttpClient httpClient, + ref string url, + global::Fal.SignStorageFileUrlRequest request); + partial void PrepareSignStorageFileUrlRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string url, + global::Fal.SignStorageFileUrlRequest request); + partial void ProcessSignStorageFileUrlResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessSignStorageFileUrlResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Sign file URL
+ /// Creates a signed URL that grants temporary access to a fal CDN file,
+ /// regardless of its ACL. Useful for sharing access-restricted files.
+ /// The signature is valid for `expiration_seconds` (up to 7 days).
+ /// **Authentication:** Required. The API key must have the `assets:read` permission.
+ /// + ///
+ /// + /// Full URL of the fal CDN file, as returned by the upload APIs (https://v3.fal.media/files/b/<id>/<filename>). Must not contain query parameters.
+ /// Example: https://v3.fal.media/files/b/0a1b2c3d/output.png + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task SignStorageFileUrlAsync( + string url, + + global::Fal.SignStorageFileUrlRequest request, + global::Fal.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __response = await SignStorageFileUrlAsResponseAsync( + url: url, + + request: request, + requestOptions: requestOptions, + cancellationToken: cancellationToken + ).ConfigureAwait(false); + + return __response.Body; + } + /// + /// Sign file URL
+ /// Creates a signed URL that grants temporary access to a fal CDN file,
+ /// regardless of its ACL. Useful for sharing access-restricted files.
+ /// The signature is valid for `expiration_seconds` (up to 7 days).
+ /// **Authentication:** Required. The API key must have the `assets:read` permission.
+ /// + ///
+ /// + /// Full URL of the fal CDN file, as returned by the upload APIs (https://v3.fal.media/files/b/<id>/<filename>). Must not contain query parameters.
+ /// Example: https://v3.fal.media/files/b/0a1b2c3d/output.png + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task> SignStorageFileUrlAsResponseAsync( + string url, + + global::Fal.SignStorageFileUrlRequest request, + global::Fal.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + + PrepareArguments( + client: HttpClient); + PrepareSignStorageFileUrlArguments( + httpClient: HttpClient, + url: ref url, + request: request); + + + var __authorizations = global::Fal.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_SignStorageFileUrlSecurityRequirements, + operationName: "SignStorageFileUrlAsync"); + + using var __timeoutCancellationTokenSource = global::Fal.AutoSDKRequestOptionsSupport.CreateTimeoutCancellationTokenSource( + clientOptions: Options, + requestOptions: requestOptions, + cancellationToken: cancellationToken); + var __effectiveCancellationToken = __timeoutCancellationTokenSource?.Token ?? cancellationToken; + var __effectiveReadResponseAsString = global::Fal.AutoSDKRequestOptionsSupport.GetReadResponseAsString( + clientOptions: Options, + requestOptions: requestOptions, + fallbackValue: ReadResponseAsString); + var __maxAttempts = global::Fal.AutoSDKRequestOptionsSupport.GetMaxAttempts( + clientOptions: Options, + requestOptions: requestOptions, + supportsRetry: true); + + global::System.Net.Http.HttpRequestMessage __CreateHttpRequest() + { + + var __pathBuilder = new global::Fal.PathBuilder( + path: "/storage/files/sign", + baseUri: HttpClient.BaseAddress); + __pathBuilder + .AddRequiredParameter("url", url) + ; + var __path = __pathBuilder.ToString(); + __path = global::Fal.AutoSDKRequestOptionsSupport.AppendQueryParameters( + path: __path, + clientParameters: Options.QueryParameters, + requestParameters: requestOptions?.QueryParameters); + var __httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Post, + requestUri: new global::System.Uri(__path, global::System.UriKind.RelativeOrAbsolute)); +#if NET6_0_OR_GREATER + __httpRequest.Version = global::System.Net.HttpVersion.Version11; + __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher; +#endif + + foreach (var __authorization in __authorizations) + { + if (__authorization.Type == "Http" || + __authorization.Type == "OAuth2" || + __authorization.Type == "OpenIdConnect") + { + __httpRequest.Headers.Authorization = new global::System.Net.Http.Headers.AuthenticationHeaderValue( + scheme: __authorization.Name, + parameter: __authorization.Value); + } + else if (__authorization.Type == "ApiKey" && + __authorization.Location == "Header") + { + __httpRequest.Headers.Add(__authorization.Name, __authorization.Value); + } + } + var __httpRequestContentBody = request.ToJson(JsonSerializerContext); + var __httpRequestContent = new global::System.Net.Http.StringContent( + content: __httpRequestContentBody, + encoding: global::System.Text.Encoding.UTF8, + mediaType: "application/json"); + __httpRequest.Content = __httpRequestContent; + global::Fal.AutoSDKRequestOptionsSupport.ApplyHeaders( + request: __httpRequest, + clientHeaders: Options.Headers, + requestHeaders: requestOptions?.Headers); + + PrepareRequest( + client: HttpClient, + request: __httpRequest); + PrepareSignStorageFileUrlRequest( + httpClient: HttpClient, + httpRequestMessage: __httpRequest, + url: url!, + request: request); + + return __httpRequest; + } + + global::System.Net.Http.HttpRequestMessage? __httpRequest = null; + global::System.Net.Http.HttpResponseMessage? __response = null; + var __attemptNumber = 0; + try + { + for (var __attempt = 1; __attempt <= __maxAttempts; __attempt++) + { + __attemptNumber = __attempt; + __httpRequest = __CreateHttpRequest(); + await global::Fal.AutoSDKRequestOptionsSupport.OnBeforeRequestAsync( + clientOptions: Options, + context: global::Fal.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "SignStorageFileUrl", + methodName: "SignStorageFileUrlAsync", + pathTemplate: "\"/storage/files/sign\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + try + { + __response = await HttpClient.SendAsync( + request: __httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + } + catch (global::System.Net.Http.HttpRequestException __exception) + { + var __retryDelay = global::Fal.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: null, + attempt: __attempt); + var __willRetry = __attempt < __maxAttempts && !__effectiveCancellationToken.IsCancellationRequested; + await global::Fal.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Fal.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "SignStorageFileUrl", + methodName: "SignStorageFileUrlAsync", + pathTemplate: "\"/storage/files/sign\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: __exception, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: __willRetry, + retryDelay: __willRetry ? __retryDelay : (global::System.TimeSpan?)null, + retryReason: "exception", + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + if (!__willRetry) + { + throw; + } + + __httpRequest.Dispose(); + __httpRequest = null; + await global::Fal.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + if (__response != null && + __attempt < __maxAttempts && + global::Fal.AutoSDKRequestOptionsSupport.ShouldRetryStatusCode(__response.StatusCode)) + { + var __retryDelay = global::Fal.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: __response, + attempt: __attempt); + await global::Fal.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Fal.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "SignStorageFileUrl", + methodName: "SignStorageFileUrlAsync", + pathTemplate: "\"/storage/files/sign\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: true, + retryDelay: __retryDelay, + retryReason: "status:" + ((int)__response.StatusCode).ToString(global::System.Globalization.CultureInfo.InvariantCulture), + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + __response.Dispose(); + __response = null; + __httpRequest.Dispose(); + __httpRequest = null; + await global::Fal.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + break; + } + + if (__response == null) + { + throw new global::System.InvalidOperationException("No response received."); + } + + using (__response) + { + + ProcessResponse( + client: HttpClient, + response: __response); + ProcessSignStorageFileUrlResponse( + httpClient: HttpClient, + httpResponseMessage: __response); + if (__response.IsSuccessStatusCode) + { + await global::Fal.AutoSDKRequestOptionsSupport.OnAfterSuccessAsync( + clientOptions: Options, + context: global::Fal.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "SignStorageFileUrl", + methodName: "SignStorageFileUrlAsync", + pathTemplate: "\"/storage/files/sign\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + else + { + await global::Fal.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Fal.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "SignStorageFileUrl", + methodName: "SignStorageFileUrlAsync", + pathTemplate: "\"/storage/files/sign\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + // Invalid request parameters + if ((int)__response.StatusCode == 400) + { + string? __content_400 = null; + global::System.Exception? __exception_400 = null; + global::Fal.SignStorageFileUrlResponse2? __value_400 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_400 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_400 = global::Fal.SignStorageFileUrlResponse2.FromJson(__content_400, JsonSerializerContext); + } + else + { + __content_400 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_400 = global::Fal.SignStorageFileUrlResponse2.FromJson(__content_400, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_400 = __ex; + } + + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_400 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_400, + responseBody: __content_400, + responseObject: __value_400, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Authentication required + if ((int)__response.StatusCode == 401) + { + string? __content_401 = null; + global::System.Exception? __exception_401 = null; + global::Fal.SignStorageFileUrlResponse3? __value_401 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_401 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_401 = global::Fal.SignStorageFileUrlResponse3.FromJson(__content_401, JsonSerializerContext); + } + else + { + __content_401 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_401 = global::Fal.SignStorageFileUrlResponse3.FromJson(__content_401, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_401 = __ex; + } + + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_401 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_401, + responseBody: __content_401, + responseObject: __value_401, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Access denied + if ((int)__response.StatusCode == 403) + { + string? __content_403 = null; + global::System.Exception? __exception_403 = null; + global::Fal.SignStorageFileUrlResponse4? __value_403 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_403 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_403 = global::Fal.SignStorageFileUrlResponse4.FromJson(__content_403, JsonSerializerContext); + } + else + { + __content_403 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_403 = global::Fal.SignStorageFileUrlResponse4.FromJson(__content_403, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_403 = __ex; + } + + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_403 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_403, + responseBody: __content_403, + responseObject: __value_403, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Resource not found + if ((int)__response.StatusCode == 404) + { + string? __content_404 = null; + global::System.Exception? __exception_404 = null; + global::Fal.SignStorageFileUrlResponse5? __value_404 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_404 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_404 = global::Fal.SignStorageFileUrlResponse5.FromJson(__content_404, JsonSerializerContext); + } + else + { + __content_404 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_404 = global::Fal.SignStorageFileUrlResponse5.FromJson(__content_404, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_404 = __ex; + } + + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_404 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_404, + responseBody: __content_404, + responseObject: __value_404, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Rate limit exceeded + if ((int)__response.StatusCode == 429) + { + string? __content_429 = null; + global::System.Exception? __exception_429 = null; + global::Fal.SignStorageFileUrlResponse6? __value_429 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_429 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_429 = global::Fal.SignStorageFileUrlResponse6.FromJson(__content_429, JsonSerializerContext); + } + else + { + __content_429 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_429 = global::Fal.SignStorageFileUrlResponse6.FromJson(__content_429, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_429 = __ex; + } + + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_429 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_429, + responseBody: __content_429, + responseObject: __value_429, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Internal server error + if ((int)__response.StatusCode == 500) + { + string? __content_500 = null; + global::System.Exception? __exception_500 = null; + global::Fal.SignStorageFileUrlResponse7? __value_500 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_500 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_500 = global::Fal.SignStorageFileUrlResponse7.FromJson(__content_500, JsonSerializerContext); + } + else + { + __content_500 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_500 = global::Fal.SignStorageFileUrlResponse7.FromJson(__content_500, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_500 = __ex; + } + + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_500 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_500, + responseBody: __content_500, + responseObject: __value_500, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + + if (__effectiveReadResponseAsString) + { + var __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + ProcessResponseContent( + client: HttpClient, + response: __response, + content: ref __content); + ProcessSignStorageFileUrlResponseContent( + httpClient: HttpClient, + httpResponseMessage: __response, + content: ref __content); + + try + { + __response.EnsureSuccessStatusCode(); + + var __value = global::Fal.SignStorageFileUrlResponse.FromJson(__content, JsonSerializerContext) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + return new global::Fal.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Fal.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + else + { + try + { + __response.EnsureSuccessStatusCode(); + using var __content = await __response.Content.ReadAsStreamAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + var __value = await global::Fal.SignStorageFileUrlResponse.FromJsonStreamAsync(__content, JsonSerializerContext).ConfigureAwait(false) ?? + throw new global::System.InvalidOperationException("Response deserialization failed."); + return new global::Fal.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Fal.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + string? __content = null; + try + { + __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + } + catch (global::System.Exception) + { + } + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + + } + } + finally + { + __httpRequest?.Dispose(); + } + } + /// + /// Sign file URL
+ /// Creates a signed URL that grants temporary access to a fal CDN file,
+ /// regardless of its ACL. Useful for sharing access-restricted files.
+ /// The signature is valid for `expiration_seconds` (up to 7 days).
+ /// **Authentication:** Required. The API key must have the `assets:read` permission.
+ /// + ///
+ /// + /// Full URL of the fal CDN file, as returned by the upload APIs (https://v3.fal.media/files/b/<id>/<filename>). Must not contain query parameters.
+ /// Example: https://v3.fal.media/files/b/0a1b2c3d/output.png + /// + /// + /// How long the signed URL stays valid, in seconds (max 7 days)
+ /// Example: 3600 + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task SignStorageFileUrlAsync( + string url, + int expirationSeconds, + global::Fal.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __request = new global::Fal.SignStorageFileUrlRequest + { + ExpirationSeconds = expirationSeconds, + }; + + return await SignStorageFileUrlAsync( + url: url, + request: __request, + requestOptions: requestOptions, + cancellationToken: cancellationToken).ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.StorageClient.UpdateStorageSettings.g.cs b/src/libs/Fal/Generated/Fal.StorageClient.UpdateStorageSettings.g.cs new file mode 100644 index 0000000..f848fbc --- /dev/null +++ b/src/libs/Fal/Generated/Fal.StorageClient.UpdateStorageSettings.g.cs @@ -0,0 +1,677 @@ + +#nullable enable + +namespace Fal +{ + public partial class StorageClient + { + + + private static readonly global::Fal.EndPointSecurityRequirement s_UpdateStorageSettingsSecurityRequirement0 = + new global::Fal.EndPointSecurityRequirement + { + Authorizations = new global::Fal.EndPointAuthorizationRequirement[] + { new global::Fal.EndPointAuthorizationRequirement + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Fal.EndPointSecurityRequirement[] s_UpdateStorageSettingsSecurityRequirements = + new global::Fal.EndPointSecurityRequirement[] + { s_UpdateStorageSettingsSecurityRequirement0, + }; + partial void PrepareUpdateStorageSettingsArguments( + global::System.Net.Http.HttpClient httpClient, + global::Fal.UpdateStorageSettingsRequest request); + partial void PrepareUpdateStorageSettingsRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + global::Fal.UpdateStorageSettingsRequest request); + partial void ProcessUpdateStorageSettingsResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessUpdateStorageSettingsResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Update storage settings
+ /// Replaces the account-level storage lifecycle settings applied to newly
+ /// uploaded fal CDN files. Omitted or null fields are cleared (reset to the
+ /// system default), so always send the full desired configuration.
+ /// ACL rules referencing users that do not exist are dropped. The response
+ /// reflects the settings actually saved, so verify it contains the rules you sent.
+ /// These are the same settings that the per-request
+ /// `X-Fal-Object-Lifecycle-Preference` header overrides on individual requests.
+ /// **Authentication:** Required. The API key must have the `account:settings:write` permission.
+ /// + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task UpdateStorageSettingsAsync( + + global::Fal.UpdateStorageSettingsRequest request, + global::Fal.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __response = await UpdateStorageSettingsAsResponseAsync( + + request: request, + requestOptions: requestOptions, + cancellationToken: cancellationToken + ).ConfigureAwait(false); + + return __response.Body; + } + /// + /// Update storage settings
+ /// Replaces the account-level storage lifecycle settings applied to newly
+ /// uploaded fal CDN files. Omitted or null fields are cleared (reset to the
+ /// system default), so always send the full desired configuration.
+ /// ACL rules referencing users that do not exist are dropped. The response
+ /// reflects the settings actually saved, so verify it contains the rules you sent.
+ /// These are the same settings that the per-request
+ /// `X-Fal-Object-Lifecycle-Preference` header overrides on individual requests.
+ /// **Authentication:** Required. The API key must have the `account:settings:write` permission.
+ /// + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task> UpdateStorageSettingsAsResponseAsync( + + global::Fal.UpdateStorageSettingsRequest request, + global::Fal.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + + PrepareArguments( + client: HttpClient); + PrepareUpdateStorageSettingsArguments( + httpClient: HttpClient, + request: request); + + + var __authorizations = global::Fal.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_UpdateStorageSettingsSecurityRequirements, + operationName: "UpdateStorageSettingsAsync"); + + using var __timeoutCancellationTokenSource = global::Fal.AutoSDKRequestOptionsSupport.CreateTimeoutCancellationTokenSource( + clientOptions: Options, + requestOptions: requestOptions, + cancellationToken: cancellationToken); + var __effectiveCancellationToken = __timeoutCancellationTokenSource?.Token ?? cancellationToken; + var __effectiveReadResponseAsString = global::Fal.AutoSDKRequestOptionsSupport.GetReadResponseAsString( + clientOptions: Options, + requestOptions: requestOptions, + fallbackValue: ReadResponseAsString); + var __maxAttempts = global::Fal.AutoSDKRequestOptionsSupport.GetMaxAttempts( + clientOptions: Options, + requestOptions: requestOptions, + supportsRetry: true); + + global::System.Net.Http.HttpRequestMessage __CreateHttpRequest() + { + + var __pathBuilder = new global::Fal.PathBuilder( + path: "/storage/settings", + baseUri: HttpClient.BaseAddress); + var __path = __pathBuilder.ToString(); + __path = global::Fal.AutoSDKRequestOptionsSupport.AppendQueryParameters( + path: __path, + clientParameters: Options.QueryParameters, + requestParameters: requestOptions?.QueryParameters); + var __httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Put, + requestUri: new global::System.Uri(__path, global::System.UriKind.RelativeOrAbsolute)); +#if NET6_0_OR_GREATER + __httpRequest.Version = global::System.Net.HttpVersion.Version11; + __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher; +#endif + + foreach (var __authorization in __authorizations) + { + if (__authorization.Type == "Http" || + __authorization.Type == "OAuth2" || + __authorization.Type == "OpenIdConnect") + { + __httpRequest.Headers.Authorization = new global::System.Net.Http.Headers.AuthenticationHeaderValue( + scheme: __authorization.Name, + parameter: __authorization.Value); + } + else if (__authorization.Type == "ApiKey" && + __authorization.Location == "Header") + { + __httpRequest.Headers.Add(__authorization.Name, __authorization.Value); + } + } + var __httpRequestContentBody = request.ToJson(JsonSerializerContext); + var __httpRequestContent = new global::System.Net.Http.StringContent( + content: __httpRequestContentBody, + encoding: global::System.Text.Encoding.UTF8, + mediaType: "application/json"); + __httpRequest.Content = __httpRequestContent; + global::Fal.AutoSDKRequestOptionsSupport.ApplyHeaders( + request: __httpRequest, + clientHeaders: Options.Headers, + requestHeaders: requestOptions?.Headers); + + PrepareRequest( + client: HttpClient, + request: __httpRequest); + PrepareUpdateStorageSettingsRequest( + httpClient: HttpClient, + httpRequestMessage: __httpRequest, + request: request); + + return __httpRequest; + } + + global::System.Net.Http.HttpRequestMessage? __httpRequest = null; + global::System.Net.Http.HttpResponseMessage? __response = null; + var __attemptNumber = 0; + try + { + for (var __attempt = 1; __attempt <= __maxAttempts; __attempt++) + { + __attemptNumber = __attempt; + __httpRequest = __CreateHttpRequest(); + await global::Fal.AutoSDKRequestOptionsSupport.OnBeforeRequestAsync( + clientOptions: Options, + context: global::Fal.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "UpdateStorageSettings", + methodName: "UpdateStorageSettingsAsync", + pathTemplate: "\"/storage/settings\"", + httpMethod: "PUT", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + try + { + __response = await HttpClient.SendAsync( + request: __httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + } + catch (global::System.Net.Http.HttpRequestException __exception) + { + var __retryDelay = global::Fal.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: null, + attempt: __attempt); + var __willRetry = __attempt < __maxAttempts && !__effectiveCancellationToken.IsCancellationRequested; + await global::Fal.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Fal.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "UpdateStorageSettings", + methodName: "UpdateStorageSettingsAsync", + pathTemplate: "\"/storage/settings\"", + httpMethod: "PUT", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: __exception, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: __willRetry, + retryDelay: __willRetry ? __retryDelay : (global::System.TimeSpan?)null, + retryReason: "exception", + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + if (!__willRetry) + { + throw; + } + + __httpRequest.Dispose(); + __httpRequest = null; + await global::Fal.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + if (__response != null && + __attempt < __maxAttempts && + global::Fal.AutoSDKRequestOptionsSupport.ShouldRetryStatusCode(__response.StatusCode)) + { + var __retryDelay = global::Fal.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: __response, + attempt: __attempt); + await global::Fal.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Fal.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "UpdateStorageSettings", + methodName: "UpdateStorageSettingsAsync", + pathTemplate: "\"/storage/settings\"", + httpMethod: "PUT", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: true, + retryDelay: __retryDelay, + retryReason: "status:" + ((int)__response.StatusCode).ToString(global::System.Globalization.CultureInfo.InvariantCulture), + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + __response.Dispose(); + __response = null; + __httpRequest.Dispose(); + __httpRequest = null; + await global::Fal.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + break; + } + + if (__response == null) + { + throw new global::System.InvalidOperationException("No response received."); + } + + using (__response) + { + + ProcessResponse( + client: HttpClient, + response: __response); + ProcessUpdateStorageSettingsResponse( + httpClient: HttpClient, + httpResponseMessage: __response); + if (__response.IsSuccessStatusCode) + { + await global::Fal.AutoSDKRequestOptionsSupport.OnAfterSuccessAsync( + clientOptions: Options, + context: global::Fal.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "UpdateStorageSettings", + methodName: "UpdateStorageSettingsAsync", + pathTemplate: "\"/storage/settings\"", + httpMethod: "PUT", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + else + { + await global::Fal.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Fal.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "UpdateStorageSettings", + methodName: "UpdateStorageSettingsAsync", + pathTemplate: "\"/storage/settings\"", + httpMethod: "PUT", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + // Invalid request parameters + if ((int)__response.StatusCode == 400) + { + string? __content_400 = null; + global::System.Exception? __exception_400 = null; + global::Fal.UpdateStorageSettingsResponse2? __value_400 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_400 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_400 = global::Fal.UpdateStorageSettingsResponse2.FromJson(__content_400, JsonSerializerContext); + } + else + { + __content_400 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_400 = global::Fal.UpdateStorageSettingsResponse2.FromJson(__content_400, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_400 = __ex; + } + + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_400 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_400, + responseBody: __content_400, + responseObject: __value_400, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Authentication required + if ((int)__response.StatusCode == 401) + { + string? __content_401 = null; + global::System.Exception? __exception_401 = null; + global::Fal.UpdateStorageSettingsResponse3? __value_401 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_401 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_401 = global::Fal.UpdateStorageSettingsResponse3.FromJson(__content_401, JsonSerializerContext); + } + else + { + __content_401 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_401 = global::Fal.UpdateStorageSettingsResponse3.FromJson(__content_401, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_401 = __ex; + } + + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_401 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_401, + responseBody: __content_401, + responseObject: __value_401, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Access denied + if ((int)__response.StatusCode == 403) + { + string? __content_403 = null; + global::System.Exception? __exception_403 = null; + global::Fal.UpdateStorageSettingsResponse4? __value_403 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_403 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_403 = global::Fal.UpdateStorageSettingsResponse4.FromJson(__content_403, JsonSerializerContext); + } + else + { + __content_403 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_403 = global::Fal.UpdateStorageSettingsResponse4.FromJson(__content_403, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_403 = __ex; + } + + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_403 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_403, + responseBody: __content_403, + responseObject: __value_403, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Rate limit exceeded + if ((int)__response.StatusCode == 429) + { + string? __content_429 = null; + global::System.Exception? __exception_429 = null; + global::Fal.UpdateStorageSettingsResponse5? __value_429 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_429 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_429 = global::Fal.UpdateStorageSettingsResponse5.FromJson(__content_429, JsonSerializerContext); + } + else + { + __content_429 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_429 = global::Fal.UpdateStorageSettingsResponse5.FromJson(__content_429, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_429 = __ex; + } + + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_429 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_429, + responseBody: __content_429, + responseObject: __value_429, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + // Internal server error + if ((int)__response.StatusCode == 500) + { + string? __content_500 = null; + global::System.Exception? __exception_500 = null; + global::Fal.UpdateStorageSettingsResponse6? __value_500 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_500 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_500 = global::Fal.UpdateStorageSettingsResponse6.FromJson(__content_500, JsonSerializerContext); + } + else + { + __content_500 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_500 = global::Fal.UpdateStorageSettingsResponse6.FromJson(__content_500, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_500 = __ex; + } + + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_500 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_500, + responseBody: __content_500, + responseObject: __value_500, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + + if (__effectiveReadResponseAsString) + { + var __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + ProcessResponseContent( + client: HttpClient, + response: __response, + content: ref __content); + ProcessUpdateStorageSettingsResponseContent( + httpClient: HttpClient, + httpResponseMessage: __response, + content: ref __content); + + try + { + __response.EnsureSuccessStatusCode(); + + var __value = global::Fal.UpdateStorageSettingsResponse.FromJson(__content, JsonSerializerContext) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + return new global::Fal.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Fal.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + else + { + try + { + __response.EnsureSuccessStatusCode(); + using var __content = await __response.Content.ReadAsStreamAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + var __value = await global::Fal.UpdateStorageSettingsResponse.FromJsonStreamAsync(__content, JsonSerializerContext).ConfigureAwait(false) ?? + throw new global::System.InvalidOperationException("Response deserialization failed."); + return new global::Fal.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Fal.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + string? __content = null; + try + { + __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + } + catch (global::System.Exception) + { + } + + throw global::Fal.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + + } + } + finally + { + __httpRequest?.Dispose(); + } + } + /// + /// Update storage settings
+ /// Replaces the account-level storage lifecycle settings applied to newly
+ /// uploaded fal CDN files. Omitted or null fields are cleared (reset to the
+ /// system default), so always send the full desired configuration.
+ /// ACL rules referencing users that do not exist are dropped. The response
+ /// reflects the settings actually saved, so verify it contains the rules you sent.
+ /// These are the same settings that the per-request
+ /// `X-Fal-Object-Lifecycle-Preference` header overrides on individual requests.
+ /// **Authentication:** Required. The API key must have the `account:settings:write` permission.
+ /// + ///
+ /// + /// Seconds after which newly uploaded files automatically expire and are deleted. Null disables auto-expiration.
+ /// Example: 86400 + /// + /// + /// Default ACL applied to newly uploaded files. Null uses the system default (public). + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task UpdateStorageSettingsAsync( + int? expirationDurationSeconds = default, + global::Fal.UpdateStorageSettingsRequestInitialAcl? initialAcl = default, + global::Fal.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __request = new global::Fal.UpdateStorageSettingsRequest + { + ExpirationDurationSeconds = expirationDurationSeconds, + InitialAcl = initialAcl, + }; + + return await UpdateStorageSettingsAsync( + request: __request, + requestOptions: requestOptions, + cancellationToken: cancellationToken).ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/Fal.StorageClient.g.cs b/src/libs/Fal/Generated/Fal.StorageClient.g.cs new file mode 100644 index 0000000..6f51c99 --- /dev/null +++ b/src/libs/Fal/Generated/Fal.StorageClient.g.cs @@ -0,0 +1,140 @@ + +#nullable enable + +namespace Fal +{ + /// + /// If no httpClient is provided, a new one will be created.
+ /// If no baseUri is provided, the default baseUri from OpenAPI spec will be used. + ///
+ public sealed partial class StorageClient : global::Fal.IStorageClient, global::System.IDisposable + { + /// + /// Production server + /// + public const string DefaultBaseUrl = "https://api.fal.ai/v1"; + + private bool _disposeHttpClient = true; + + /// + public global::System.Net.Http.HttpClient HttpClient { get; } + + /// + public System.Uri? BaseUri => HttpClient.BaseAddress; + + /// + public global::System.Collections.Generic.List Authorizations { get; } + + /// + public bool ReadResponseAsString { get; set; } +#if DEBUG + = true; +#endif + + /// + public global::Fal.AutoSDKClientOptions Options { get; } + + + /// + public global::System.Func CreateIdempotencyKey { get; set; } = () => global::System.Guid.NewGuid().ToString("D"); + /// + /// + /// + public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Fal.SourceGenerationContext.Default; + + + /// + /// Creates a new instance of the StorageClient. + /// If no httpClient is provided, a new one will be created. + /// If no baseUri is provided, the default baseUri from OpenAPI spec will be used. + /// + /// The HttpClient instance. If not provided, a new one will be created. + /// The base URL for the API. If not provided, the default baseUri from OpenAPI spec will be used. + /// The authorizations to use for the requests. + /// Dispose the HttpClient when the instance is disposed. True by default. + public StorageClient( + global::System.Net.Http.HttpClient? httpClient = null, + global::System.Uri? baseUri = null, + global::System.Collections.Generic.List? authorizations = null, + bool disposeHttpClient = true) : this( + httpClient, + baseUri, + authorizations, + options: null, + disposeHttpClient: disposeHttpClient) + { + } + + /// + /// Creates a new instance of the StorageClient with explicit options but no base URL override. + /// Skips passing baseUri so the default base URL from the OpenAPI spec applies. + /// + /// The HttpClient instance. If not provided, a new one will be created. + /// The authorizations to use for the requests. + /// Client-wide request defaults such as headers, query parameters, retries, and timeout. + /// Dispose the HttpClient when the instance is disposed. True by default. + public StorageClient( + global::System.Net.Http.HttpClient? httpClient, + global::System.Collections.Generic.List? authorizations, + global::Fal.AutoSDKClientOptions? options, + bool disposeHttpClient = true) : this( + httpClient, + baseUri: null, + authorizations, + options, + disposeHttpClient: disposeHttpClient) + { + } + + /// + /// Creates a new instance of the StorageClient. + /// If no httpClient is provided, a new one will be created. + /// If no baseUri is provided, the default baseUri from OpenAPI spec will be used. + /// + /// The HttpClient instance. If not provided, a new one will be created. + /// The base URL for the API. If not provided, the default baseUri from OpenAPI spec will be used. + /// The authorizations to use for the requests. + /// Client-wide request defaults such as headers, query parameters, retries, and timeout. + /// Dispose the HttpClient when the instance is disposed. True by default. + public StorageClient( + global::System.Net.Http.HttpClient? httpClient, + global::System.Uri? baseUri, + global::System.Collections.Generic.List? authorizations, + global::Fal.AutoSDKClientOptions? options, + bool disposeHttpClient = true) + { + + HttpClient = httpClient ?? new global::System.Net.Http.HttpClient(); + HttpClient.BaseAddress ??= baseUri ?? new global::System.Uri(DefaultBaseUrl); + Authorizations = authorizations ?? new global::System.Collections.Generic.List(); + Options = options ?? new global::Fal.AutoSDKClientOptions(); + _disposeHttpClient = disposeHttpClient; + + Initialized(HttpClient); + } + + /// + public void Dispose() + { + if (_disposeHttpClient) + { + HttpClient.Dispose(); + } + } + + partial void Initialized( + global::System.Net.Http.HttpClient client); + partial void PrepareArguments( + global::System.Net.Http.HttpClient client); + partial void PrepareRequest( + global::System.Net.Http.HttpClient client, + global::System.Net.Http.HttpRequestMessage request); + partial void ProcessResponse( + global::System.Net.Http.HttpClient client, + global::System.Net.Http.HttpResponseMessage response); + partial void ProcessResponseContent( + global::System.Net.Http.HttpClient client, + global::System.Net.Http.HttpResponseMessage response, + ref string content); + } +} \ No newline at end of file diff --git a/src/libs/Fal/Generated/autosdk.generated-examples.json b/src/libs/Fal/Generated/autosdk.generated-examples.json index eeb2423..f29a0e1 100644 --- a/src/libs/Fal/Generated/autosdk.generated-examples.json +++ b/src/libs/Fal/Generated/autosdk.generated-examples.json @@ -706,6 +706,61 @@ }, { "Order": 65, + "Title": "Get file ACL", + "Slug": "getstoragefileacl", + "Description": "Returns the Access Control List currently applied to a fal CDN file.\n\nThe ACL consists of a default decision (\u0060allow\u0060, \u0060forbid\u0060, or \u0060hide\u0060) plus\noptional per-user rules that override the default. Rule users are returned as\nnicknames where possible.\n\n**Authentication:** Required. The API key must have the \u0060assets:read\u0060 permission.", + "Language": "http", + "Code": "### Get file ACL\n# @name getStorageFileAcl\nGET {{host}}/storage/files/acl?url={{url}}\nAuthorization: Bearer {{token}}\nAccept: application/json\n\n## Responses\n# 200\n# Description: Current ACL of the file\n# Content-Type: application/json\n# 400\n# Description: Invalid request parameters\n# Content-Type: application/json\n# 401\n# Description: Authentication required\n# Content-Type: application/json\n# 403\n# Description: Access denied\n# Content-Type: application/json\n# 404\n# Description: Resource not found\n# Content-Type: application/json\n# 429\n# Description: Rate limit exceeded\n# Content-Type: application/json\n# 500\n# Description: Internal server error\n# Content-Type: application/json", + "Format": "http", + "OperationId": "getStorageFileAcl", + "Setup": null + }, + { + "Order": 66, + "Title": "Get storage settings", + "Slug": "getstoragesettings", + "Description": "Returns the account-level storage lifecycle settings applied to newly uploaded\nfal CDN files:\n\n- \u0060expiration_duration_seconds\u0060: how long files live before being\n automatically deleted (null disables auto-expiration).\n- \u0060initial_acl\u0060: the default ACL applied to new uploads (null means the\n system default, which is public).\n\nBoth fields are null when the account has never saved settings.\n\n**Authentication:** Required. The API key must have the \u0060account:settings:read\u0060 permission.", + "Language": "csharp", + "Code": "using var client = new FalClient(apiKey);\nvar response = await client.Storage.GetStorageSettingsAsync();\n\n// Example response:\n// {\n// \u0022expiration_duration_seconds\u0022: 86400,\n// \u0022initial_acl\u0022: {\n// \u0022default\u0022: \u0022forbid\u0022,\n// \u0022rules\u0022: [\n// {\n// \u0022user\u0022: \u0022my-teammate\u0022,\n// \u0022decision\u0022: \u0022allow\u0022\n// }\n// ]\n// }\n// }", + "Format": "sdk", + "OperationId": "getStorageSettings", + "Setup": "This example assumes \u0060using Fal;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." + }, + { + "Order": 67, + "Title": "Set file ACL", + "Slug": "setstoragefileacl", + "Description": "Replaces the Access Control List of a fal CDN file.\n\nThe ACL consists of a default decision (\u0060allow\u0060, \u0060forbid\u0060, or \u0060hide\u0060) plus\noptional per-user rules that override the default. Rule users may be specified\nby nickname or user ID. Setting \u0060default\u0060 to \u0060allow\u0060 with no rules makes the\nfile public; \u0060forbid\u0060 or \u0060hide\u0060 restricts it to the rules you provide.\n\nRules referencing users that do not exist are dropped. The response reflects\nthe ACL actually applied, so verify it contains the rules you sent.\n\n**Authentication:** Required. The API key must have the \u0060assets:write\u0060 permission.", + "Language": "http", + "Code": "### Set file ACL\n# @name setStorageFileAcl\nPUT {{host}}/storage/files/acl?url={{url}}\nAuthorization: Bearer {{token}}\nContent-Type: application/json\nAccept: application/json\n\n{\n \u0022default\u0022: \u0022forbid\u0022,\n \u0022rules\u0022: [\n {\n \u0022user\u0022: \u0022my-teammate\u0022,\n \u0022decision\u0022: \u0022allow\u0022\n }\n ]\n}\n\n## Responses\n# 200\n# Description: ACL applied to the file\n# Content-Type: application/json\n# 400\n# Description: Invalid request parameters\n# Content-Type: application/json\n# 401\n# Description: Authentication required\n# Content-Type: application/json\n# 403\n# Description: Access denied\n# Content-Type: application/json\n# 404\n# Description: Resource not found\n# Content-Type: application/json\n# 429\n# Description: Rate limit exceeded\n# Content-Type: application/json\n# 500\n# Description: Internal server error\n# Content-Type: application/json", + "Format": "http", + "OperationId": "setStorageFileAcl", + "Setup": null + }, + { + "Order": 68, + "Title": "Sign file URL", + "Slug": "signstoragefileurl", + "Description": "Creates a signed URL that grants temporary access to a fal CDN file,\nregardless of its ACL. Useful for sharing access-restricted files.\n\nThe signature is valid for \u0060expiration_seconds\u0060 (up to 7 days).\n\n**Authentication:** Required. The API key must have the \u0060assets:read\u0060 permission.", + "Language": "http", + "Code": "### Sign file URL\n# @name signStorageFileUrl\nPOST {{host}}/storage/files/sign?url={{url}}\nAuthorization: Bearer {{token}}\nContent-Type: application/json\nAccept: application/json\n\n{\n \u0022expiration_seconds\u0022: 3600\n}\n\n## Responses\n# 200\n# Description: Signed URL granting temporary access\n# Content-Type: application/json\n# 400\n# Description: Invalid request parameters\n# Content-Type: application/json\n# 401\n# Description: Authentication required\n# Content-Type: application/json\n# 403\n# Description: Access denied\n# Content-Type: application/json\n# 404\n# Description: Resource not found\n# Content-Type: application/json\n# 429\n# Description: Rate limit exceeded\n# Content-Type: application/json\n# 500\n# Description: Internal server error\n# Content-Type: application/json", + "Format": "http", + "OperationId": "signStorageFileUrl", + "Setup": null + }, + { + "Order": 69, + "Title": "Update storage settings", + "Slug": "updatestoragesettings", + "Description": "Replaces the account-level storage lifecycle settings applied to newly\nuploaded fal CDN files. Omitted or null fields are cleared (reset to the\nsystem default), so always send the full desired configuration.\n\nACL rules referencing users that do not exist are dropped. The response\nreflects the settings actually saved, so verify it contains the rules you sent.\n\nThese are the same settings that the per-request\n\u0060X-Fal-Object-Lifecycle-Preference\u0060 header overrides on individual requests.\n\n**Authentication:** Required. The API key must have the \u0060account:settings:write\u0060 permission.", + "Language": "csharp", + "Code": "using var client = new FalClient(apiKey);\n\nvar request = global::System.Text.Json.JsonSerializer.Deserialize\u003Cglobal::Fal.UpdateStorageSettingsRequest\u003E(\n @\u0022{\n \u0022\u0022expiration_duration_seconds\u0022\u0022: 86400,\n \u0022\u0022initial_acl\u0022\u0022: {\n \u0022\u0022default\u0022\u0022: \u0022\u0022forbid\u0022\u0022,\n \u0022\u0022rules\u0022\u0022: [\n {\n \u0022\u0022user\u0022\u0022: \u0022\u0022my-teammate\u0022\u0022,\n \u0022\u0022decision\u0022\u0022: \u0022\u0022allow\u0022\u0022\n }\n ]\n }\n}\u0022)!;\n\nvar response = await client.Storage.UpdateStorageSettingsAsync(\n request: request\n);\n\n// Example response:\n// {\n// \u0022expiration_duration_seconds\u0022: 86400,\n// \u0022initial_acl\u0022: {\n// \u0022default\u0022: \u0022forbid\u0022,\n// \u0022rules\u0022: [\n// {\n// \u0022user\u0022: \u0022my-teammate\u0022,\n// \u0022decision\u0022: \u0022allow\u0022\n// }\n// ]\n// }\n// }", + "Format": "sdk", + "OperationId": "updateStorageSettings", + "Setup": "This example assumes \u0060using Fal;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." + }, + { + "Order": 70, "Title": "Create a workflow", "Slug": "createworkflow", "Description": "Create a new workflow owned by the authenticated user.\n\n**Authentication:** Required.\n\n**Common Use Cases:**\n- Save a newly built workflow\n- Programmatically provision workflows\n\n**Note:** Workflow names must be unique within your namespace. Creating a\nworkflow with a name you already use returns a 400 validation error.", @@ -716,7 +771,7 @@ "Setup": "This example assumes \u0060using Fal;\u0060 is in scope and \u0060apiKey\u0060 contains the required credential." }, { - "Order": 66, + "Order": 71, "Title": "Get workflow details", "Slug": "getworkflow", "Description": "Get detailed information about a specific workflow, including its full contents/definition.\n\n**Authentication:** Required.\n\n**Common Use Cases:**\n- Load a workflow for editing\n- View workflow configuration\n- Export workflow definition", @@ -727,7 +782,7 @@ "Setup": null }, { - "Order": 67, + "Order": 72, "Title": "List user workflows", "Slug": "listworkflows", "Description": "List workflows for the authenticated user with optional search and filtering.\n\n**Features:**\n- Paginated results with cursor-based pagination\n- Search by workflow name or title\n- Filter by model endpoints used in the workflow\n\n**Authentication:** Required. Returns only workflows owned by the authenticated user.\n\n**Common Use Cases:**\n- Display user\u0027s workflow library\n- Search for specific workflows\n- Find workflows using particular models", diff --git a/src/libs/Fal/openapi.json b/src/libs/Fal/openapi.json index 2131514..1be7a79 100644 --- a/src/libs/Fal/openapi.json +++ b/src/libs/Fal/openapi.json @@ -1 +1 @@ -{"openapi":"3.1.0","info":{"title":"Platform APIs","version":"v1","description":"fal REST API for programmatic access to platform resources."},"servers":[{"url":"https://api.fal.ai/v1","description":"Production server"}],"components":{"securitySchemes":{"adminApiKey":{"type":"apiKey","in":"header","name":"Authorization","description":"Admin API key must be prefixed with \"Key \", e.g. Authorization: Key YOUR_ADMIN_API_KEY"},"apiKey":{"type":"apiKey","in":"header","name":"Authorization","description":"API key must be prefixed with \"Key \", e.g. Authorization: Key YOUR_API_KEY"}},"schemas":{},"parameters":{}},"paths":{"/models":{"get":{"operationId":"getModels","summary":"Model search","x-mint":{"href":"/platform-apis/v1/models","mcp":{"enabled":true},"metadata":{"sidebarTitle":"Model Search"}},"description":"\nUnified endpoint for discovering model endpoints. Supports three usage modes:\n\n**1. List Mode** (no parameters):\nPaginated list of all available model endpoints with minimal metadata.\n\n**2. Find Mode** (`endpoint_id` parameter):\nRetrieve specific model endpoint(s) by ID. Supports single or multiple IDs.\n\n**3. Search Mode** (search parameters):\nFilter models by free-text query, category, or status.\n\n**Expansion:**\nUse `expand` to include additional data in each model object:\n- `openapi-3.0` — full OpenAPI 3.0 schema in the `openapi` field\n- `enterprise_status` — enterprise readiness status (`ready` or `pending`) in the `enterprise_status` field\n\n**Examples of `endpoint_id` values:**\n- `fal-ai/flux/dev`\n- `fal-ai/wan/v2.2-a14b/text-to-video`\n- `fal-ai/minimax/video-01/image-to-video`\n- `fal-ai/hunyuan3d-v21`\n\nSee [fal.ai Model APIs](https://docs.fal.ai/model-apis) for more details.\n\n**Authentication:** Optional. Providing an API key grants higher rate limits.\n\n**Common Use Cases:**\n- Browse available models for integration\n- Retrieve metadata for specific endpoints\n- Search for models by category or keywords\n- Get OpenAPI schemas for code generation\n- Build model selection interfaces\n ","tags":["Models"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","example":50},"required":false,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor from previous response. Encodes the page number.","example":"Mg=="},"required":false,"description":"Pagination cursor from previous response. Encodes the page number.","name":"cursor","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Endpoint ID(s) to retrieve (e.g., 'fal-ai/flux/dev'). Can be a single value or multiple values (1-50 models). When combined with search params, narrows results to these IDs. Use array syntax: ?endpoint_id=model1&endpoint_id=model2","example":["fal-ai/flux/dev","fal-ai/flux-pro"]},"required":false,"description":"Endpoint ID(s) to retrieve (e.g., 'fal-ai/flux/dev'). Can be a single value or multiple values (1-50 models). When combined with search params, narrows results to these IDs. Use array syntax: ?endpoint_id=model1&endpoint_id=model2","name":"endpoint_id","style":"form","explode":true,"in":"query"},{"schema":{"type":"string","description":"Free-text search query to filter models by name, description, or category","example":"text to image"},"required":false,"description":"Free-text search query to filter models by name, description, or category","name":"q","in":"query"},{"schema":{"type":"string","description":"Filter by category (e.g., 'text-to-image', 'image-to-video', 'training')","example":"text-to-image"},"required":false,"description":"Filter by category (e.g., 'text-to-image', 'image-to-video', 'training')","name":"category","in":"query"},{"schema":{"type":"string","enum":["active","deprecated"],"description":"Filter models by status - omit to include all statuses","example":"active"},"required":false,"description":"Filter models by status - omit to include all statuses","name":"status","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Fields to expand in the response. Supported values: 'openapi-3.0' (includes full OpenAPI 3.0 schema in 'openapi' field), 'enterprise_status' (includes enterprise readiness status)","example":["openapi-3.0","enterprise_status"]},"required":false,"description":"Fields to expand in the response. Supported values: 'openapi-3.0' (includes full OpenAPI 3.0 schema in 'openapi' field), 'enterprise_status' (includes enterprise readiness status)","name":"expand","style":"form","explode":true,"in":"query"}],"responses":{"200":{"description":"Successfully retrieved model endpoints","content":{"application/json":{"schema":{"type":"object","properties":{"models":{"type":"array","items":{"type":"object","properties":{"endpoint_id":{"type":"string","description":"Stable identifier used to call the model (e.g., 'fal-ai/wan/v2.2-a14b/text-to-video', 'fal-ai/minimax/video-01/image-to-video', 'fal-ai/hunyuan3d-v21')"},"metadata":{"type":"object","properties":{"display_name":{"type":"string","description":"Human-readable label shown on Explore/Model pages"},"category":{"type":"string","description":"Model category (e.g., 'text-to-image', 'image-to-video', 'text-to-video', 'image-to-3d', 'training')"},"description":{"type":"string","description":"Brief description of the model's capabilities and use cases"},"status":{"type":"string","enum":["active","deprecated"],"description":"'active' or 'deprecated'. Newest models are surfaced in Explore and may be flagged as 'new/beta' in tags"},"tags":{"type":"array","items":{"type":"string"},"description":"Freeform tags such as 'new', 'beta', 'pro', or 'turbo' (Explore badges)"},"updated_at":{"type":"string","description":"ISO8601 timestamp of when the model was last updated"},"is_favorited":{"type":["boolean","null"],"description":"Whether the model is favorited by the authenticated user (null when unauthenticated)"},"thumbnail_url":{"type":"string","description":"Main thumbnail image URL"},"thumbnail_animated_url":{"type":"string","description":"Animated thumbnail URL (optional)"},"model_url":{"type":"string","description":"Full model endpoint URL (e.g., https://fal.run/...)"},"github_url":{"type":"string","description":"License or GitHub URL (optional)"},"license_type":{"type":"string","enum":["commercial","research","private"],"description":"License type for the model (optional)"},"date":{"type":"string","description":"ISO8601 timestamp of model creation"},"group":{"type":"object","properties":{"key":{"type":"string","description":"Group key identifier"},"label":{"type":"string","description":"Human-readable group label"}},"required":["key","label"],"description":"Model group information (optional)"},"highlighted":{"type":"boolean","description":"Whether the model is highlighted (deprecated, always false)","deprecated":true,"example":false},"kind":{"type":"string","enum":["inference","training"],"description":"Model kind - inference or training (optional)"},"training_endpoint_ids":{"type":"array","items":{"type":"string"},"description":"Related training endpoint IDs (optional, only present when non-empty, for inference models)"},"inference_endpoint_ids":{"type":"array","items":{"type":"string"},"description":"Related inference endpoint IDs (optional, only present when non-empty, for training models)"},"stream_url":{"type":"string","description":"Streaming endpoint URL (optional)"},"duration_estimate":{"type":"number","description":"Estimated duration in minutes (optional)"},"pinned":{"type":"boolean","description":"Whether the model is pinned (deprecated, always false)","deprecated":true,"example":false}},"required":["display_name","category","description","status","tags","updated_at","is_favorited","thumbnail_url","model_url","date","highlighted","pinned"],"description":"Model metadata (optional - may be absent for endpoints without registry entries)"},"openapi":{"anyOf":[{"type":"object","properties":{"openapi":{"type":"string","description":"OpenAPI version (e.g., '3.0.4')"}},"required":["openapi"],"additionalProperties":{},"description":"OpenAPI 3.0 specification for the model"},{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"Error code (e.g., 'expansion_failed')"},"message":{"type":"string","description":"Human-readable error message"}},"required":["code","message"],"description":"Error details for failed OpenAPI expansion"}},"required":["error"],"description":"Error encountered while expanding OpenAPI schema"}],"description":"OpenAPI 3.0 specification or error (present when expand=openapi-3.0 is requested)"},"enterprise_status":{"anyOf":[{"type":"string","enum":["ready","pending"],"description":"'ready' means approved for enterprise use, 'pending' means awaiting approval"},{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"Error code (e.g., 'expansion_failed')"},"message":{"type":"string","description":"Human-readable error message"}},"required":["code","message"],"description":"Error details for failed enterprise status expansion"}},"required":["error"],"description":"Error encountered while expanding enterprise status"}],"description":"Enterprise readiness status (present when expand=enterprise_status is requested)"}},"required":["endpoint_id"],"description":"Model information with optional metadata and expandable fields"},"description":"Array of model information"},"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results, null if no more pages"},"has_more":{"type":"boolean","description":"Boolean indicating if more results are available (convenience field derived from next_cursor)"}},"required":["models","has_more"],"description":"Response containing model data with pagination support"},"example":{"models":[{"endpoint_id":"fal-ai/flux/dev","metadata":{"display_name":"FLUX.1 [dev]","category":"text-to-image","description":"Fast text-to-image generation","status":"active","tags":["fast","pro"],"updated_at":"2025-01-15T12:00:00Z","is_favorited":false,"thumbnail_url":"https://fal.media/files/example.jpg","model_url":"https://fal.run/fal-ai/flux/dev","date":"2024-08-01T00:00:00Z","highlighted":false,"pinned":false}}],"next_cursor":null,"has_more":false}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/models/pricing":{"get":{"operationId":"getPricing","summary":"Pricing","x-mint":{"href":"/platform-apis/v1/models/pricing","metadata":{"sidebarTitle":"Pricing"}},"description":"\nReturns unit pricing for requested endpoint IDs. Most models use\n**output-based** pricing (e.g., per image/video with proportional\nadjustments for resolution/length). Some models use **GPU-based** pricing\ndepending on architecture. Values are expressed per model's billing unit\nin a given currency.\n\n**Authentication:** Required. Users must provide a valid API key. \nCustom pricing or discounts may be applied based on account status.\n\n**Common Use Cases:**\n- Display pricing in user interfaces\n- Compare pricing across different models\n- Build cost estimation tools\n- Check current billing rates\n\nSee [fal.ai pricing](https://fal.ai/pricing) for more details.\n ","tags":["Models","Pricing"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","example":["fal-ai/flux/dev"]},"required":true,"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","name":"endpoint_id","style":"form","explode":true,"in":"query"}],"responses":{"200":{"description":"Pricing information retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results, null if no more pages"},"has_more":{"type":"boolean","description":"Boolean indicating if more results are available (convenience field derived from next_cursor)"},"prices":{"type":"array","items":{"type":"object","properties":{"endpoint_id":{"type":"string","description":"Endpoint identifier (e.g., 'fal-ai/wan/v2.2-a14b/text-to-video', 'fal-ai/minimax/video-01/image-to-video')"},"unit_price":{"type":"number","minimum":0,"description":"Base price per billing unit (often per generated output; may be per GPU-second for some models) in the specified currency"},"unit":{"type":"string","description":"Unit of measurement for billing: 'image', 'video', or provider-specific GPU/compute unit when applicable. Most models use output-based pricing."},"currency":{"type":"string","minLength":3,"maxLength":3,"description":"Three-letter currency code (ISO 4217, e.g., 'USD')"}},"required":["endpoint_id","unit_price","unit","currency"],"description":"Pricing information for a specific model endpoint. Most models use output-based pricing (e.g., per image/video with proportional adjustments for resolution/length). Some models use GPU-based pricing depending on architecture."},"description":"Pricing information for requested endpoints"}},"required":["next_cursor","has_more","prices"],"description":"Response containing pricing information for requested endpoints"},"example":{"prices":[{"endpoint_id":"fal-ai/flux/dev","unit_price":0.025,"unit":"image","currency":"USD"}],"next_cursor":null,"has_more":false}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}}}}},"/models/pricing/estimate":{"post":{"operationId":"estimatePricing","summary":"Estimate cost","x-mint":{"href":"/platform-apis/v1/models/pricing/estimate","metadata":{"sidebarTitle":"Estimate Cost"}},"description":"\nComputes cost estimates using one of two methods:\n\n**1. Historical API Price** (`historical_api_price`):\n- Based on historical pricing per API call from past usage patterns\n- Takes `call_quantity` (number of API calls) per endpoint\n- Useful for estimating based on actual historical usage patterns\n- Example: \"How much will 100 calls to flux/dev cost?\"\n\n**2. Unit Price** (`unit_price`):\n- Based on unit price × expected billing units from pricing service\n- Takes `unit_quantity` (number of billing units like images/videos) per endpoint\n- Useful when you know the expected output quantity\n- Example: \"How much will 50 images from flux/dev cost?\"\n\n**Authentication:** Required. Users must provide a valid API key.\nCustom pricing or discounts may be applied based on account status.\n\n**Common Use Cases:**\n- Pre-calculate costs for batch operations\n- Display cost estimates in user interfaces\n- Budget planning and cost optimization\n\nSee [fal.ai pricing](https://fal.ai/pricing) for more details.\n ","tags":["Models","Pricing"],"security":[{"apiKey":[]}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"estimate_type":{"type":"string","enum":["historical_api_price"],"description":"Estimate type: historical API pricing based on past usage patterns"},"endpoints":{"type":"object","additionalProperties":{"type":"object","properties":{"call_quantity":{"type":"integer","minimum":1,"description":"Number of API calls to estimate (regardless of units per call)"}},"required":["call_quantity"]},"description":"Map of endpoint IDs to call quantities"}},"required":["estimate_type","endpoints"],"description":"Historical API price estimate: Calculates cost based on historical pricing per API call. Useful for estimating costs based on actual usage patterns."},{"type":"object","properties":{"estimate_type":{"type":"string","enum":["unit_price"],"description":"Estimate type: unit price calculation based on billing units"},"endpoints":{"type":"object","additionalProperties":{"type":"object","properties":{"unit_quantity":{"type":"number","minimum":0.000001,"description":"Number of billing units expected (e.g., number of images, videos, etc.)"}},"required":["unit_quantity"]},"description":"Map of endpoint IDs to unit quantities"}},"required":["estimate_type","endpoints"],"description":"Unit price estimate: Calculates cost based on unit price × billing units. Useful for estimating costs when you know the expected output quantity."}],"example":{"estimate_type":"historical_api_price","endpoints":{"fal-ai/flux/dev":{"call_quantity":100},"fal-ai/flux/schnell":{"call_quantity":50}}}},"examples":{"historical":{"value":{"estimate_type":"historical_api_price","endpoints":{"fal-ai/flux/dev":{"call_quantity":100},"fal-ai/flux/schnell":{"call_quantity":50}}},"summary":"Historical API price estimate"},"unit_price":{"value":{"estimate_type":"unit_price","endpoints":{"fal-ai/flux/dev":{"unit_quantity":50},"fal-ai/flux-pro":{"unit_quantity":25}}},"summary":"Unit price estimate"}}}}},"responses":{"200":{"description":"Cost estimates calculated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"estimate_type":{"type":"string","enum":["historical_api_price","unit_price"],"description":"The type of estimate that was performed"},"total_cost":{"type":"number","minimum":0,"description":"Total estimated cost across all endpoints"},"currency":{"type":"string","minLength":3,"maxLength":3,"description":"Three-letter currency code (ISO 4217, e.g., 'USD')"}},"required":["estimate_type","total_cost","currency"],"description":"Cost estimation response with total cost","example":{"estimate_type":"historical_api_price","total_cost":3.75,"currency":"USD"}},"examples":{"historical":{"value":{"estimate_type":"historical_api_price","total_cost":3.75,"currency":"USD"},"summary":"Historical API price estimate result"},"unit_price":{"value":{"estimate_type":"unit_price","total_cost":1.88,"currency":"USD"},"summary":"Unit price estimate result"}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}}}}},"/models/usage":{"get":{"operationId":"getUsage","summary":"Usage","x-mint":{"href":"/platform-apis/v1/models/usage","metadata":{"sidebarTitle":"Usage"}},"description":"\nReturns paginated usage records for your workspace with filters for endpoint,\nuser, date range, and auth method. Each item includes the billed unit\nquantity and unit price used to compute cost.\n\n**Key Features:**\n- Usage data for all endpoints or filtered by specific endpoint(s)\n- Flexible date range filtering\n- User-specific usage tracking\n- Detailed usage line items with unit quantity and price\n- Paginated results for large datasets\n\n**Common Use Cases:**\n- Generate usage reports for all endpoints or specific models\n- Track usage patterns\n- Monitor endpoint usage across different auth methods\n- Build usage dashboards and visualizations\n\nSee [fal.ai docs](https://docs.fal.ai/model-apis/faq) for more details.\n ","tags":["Models","Usage"],"security":[{"adminApiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","example":50},"required":false,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor from previous response. Encodes the page number.","example":"Mg=="},"required":false,"description":"Pagination cursor from previous response. Encodes the page number.","name":"cursor","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","example":"2025-01-01T00:00:00Z"},"required":false,"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","name":"start","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","example":"2025-02-01T00:00:00Z"},"required":false,"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","name":"end","in":"query"},{"schema":{"type":"string","default":"UTC","description":"Timezone for date aggregation and boundaries. All timestamps in responses are in UTC, but this controls how dates are bucketed.","example":"UTC"},"required":false,"description":"Timezone for date aggregation and boundaries. All timestamps in responses are in UTC, but this controls how dates are bucketed.","name":"timezone","in":"query"},{"schema":{"type":"string","enum":["minute","hour","day","week","month"],"description":"Aggregation timeframe for timeseries data (auto-detected from date range if not specified). Auto-detection uses: minute (<2h), hour (<2d), day (<64d), week (<183d), month (>=183d).","example":"day"},"required":false,"description":"Aggregation timeframe for timeseries data (auto-detected from date range if not specified). Auto-detection uses: minute (<2h), hour (<2d), day (<64d), week (<183d), month (>=183d).","name":"timeframe","in":"query"},{"schema":{"type":"string","enum":["true","false"],"default":"true","description":"Whether to adjust start/end dates to align with timeframe boundaries and use exclusive end. Defaults to true. When true, dates are aligned to the start of the timeframe period (e.g., start of day) and end is made exclusive (e.g., start of next day). When false, uses exact dates provided.","example":"true"},"required":false,"description":"Whether to adjust start/end dates to align with timeframe boundaries and use exclusive end. Defaults to true. When true, dates are aligned to the start of the timeframe period (e.g., start of day) and end is made exclusive (e.g., start of next day). When false, uses exact dates provided.","name":"bound_to_timeframe","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","example":["fal-ai/flux/dev"]},"required":false,"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","name":"endpoint_id","style":"form","explode":true,"in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"default":["time_series"],"description":"Data to include in the response. Use 'time_series' for time-bucketed data, 'summary' for aggregate statistics, and 'auth_method' to include authentication method information (formatted with user key aliases). At least one of 'time_series' or 'summary' is required.","example":["time_series","auth_method"]},"required":false,"description":"Data to include in the response. Use 'time_series' for time-bucketed data, 'summary' for aggregate statistics, and 'auth_method' to include authentication method information (formatted with user key aliases). At least one of 'time_series' or 'summary' is required.","name":"expand","style":"form","explode":true,"in":"query"}],"responses":{"200":{"description":"Usage data retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results, null if no more pages"},"has_more":{"type":"boolean","description":"Boolean indicating if more results are available (convenience field derived from next_cursor)"},"time_series":{"type":"array","items":{"type":"object","properties":{"bucket":{"type":"string","description":"Time bucket timestamp in user's timezone with offset (ISO8601 datetime)"},"results":{"type":"array","items":{"type":"object","properties":{"endpoint_id":{"type":"string","description":"Endpoint identifier that was used (e.g., 'fal-ai/flux/dev')"},"unit":{"type":"string","description":"The billing unit (e.g., 'image', 'video', or a GPU/compute unit for some models)"},"quantity":{"type":"number","minimum":0,"description":"Quantity of usage in the specified billing unit"},"unit_price":{"type":"number","minimum":0,"description":"Unit price used to compute charges for this line item"},"cost":{"type":"number","minimum":0,"description":"Computed cost (quantity × unit_price)"},"currency":{"type":"string","minLength":3,"maxLength":3,"description":"Three-letter currency code (ISO 4217, e.g., 'USD')"},"auth_method":{"type":"string","description":"Authentication method label (e.g., 'Key 1', 'Key 2', 'User token'). Only populated when 'auth_method' is included in expand parameter."}},"required":["endpoint_id","unit","quantity","unit_price","cost","currency"],"description":"Usage line item with billing details"},"description":"Usage records for this time bucket"}},"required":["bucket","results"],"description":"Time bucket with grouped usage records"},"description":"Time series usage data grouped by time bucket (when expand includes 'time_series'). Each bucket contains all usage records for that time period."},"summary":{"type":"array","items":{"type":"object","properties":{"endpoint_id":{"type":"string","description":"Endpoint identifier that was used (e.g., 'fal-ai/flux/dev')"},"unit":{"type":"string","description":"The billing unit (e.g., 'image', 'video', or a GPU/compute unit for some models)"},"quantity":{"type":"number","minimum":0,"description":"Quantity of usage in the specified billing unit"},"unit_price":{"type":"number","minimum":0,"description":"Unit price used to compute charges for this line item"},"cost":{"type":"number","minimum":0,"description":"Computed cost (quantity × unit_price)"},"currency":{"type":"string","minLength":3,"maxLength":3,"description":"Three-letter currency code (ISO 4217, e.g., 'USD')"},"auth_method":{"type":"string","description":"Authentication method label (e.g., 'Key 1', 'Key 2', 'User token'). Only populated when 'auth_method' is included in expand parameter."}},"required":["endpoint_id","unit","quantity","unit_price","cost","currency"],"description":"Aggregate usage statistics for the entire date range"},"description":"Aggregate statistics (when expand includes 'summary')"}},"required":["next_cursor","has_more"],"description":"Response containing usage data with pagination support"},"example":{"time_series":[{"bucket":"2025-01-15T00:00:00-05:00","results":[{"endpoint_id":"fal-ai/flux/dev","unit":"image","quantity":4,"unit_price":0.1,"cost":0.4,"currency":"USD","auth_method":"Production Key"}]}],"next_cursor":null,"has_more":false}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}}}}},"/models/analytics":{"get":{"operationId":"getAnalytics","summary":"Analytics","x-mint":{"href":"/platform-apis/v1/models/analytics","metadata":{"sidebarTitle":"Analytics"}},"description":"\nTime-bucketed metrics per model endpoint, including request counts, success/error\nrates, and latency percentiles. `prepare_duration` reflects queue/prepare\ntime before execution; `duration` is request execution time. Use with the\nQueue/Webhooks flow to monitor SLAs.\n\n**Metric Selection:**\nYou must specify which metrics to include using the `expand` query\nparameter. Only requested metrics will be populated in the response,\nallowing you to optimize query performance and data transfer.\n\n**Available Metrics:**\n\nThe `expand` parameter accepts these values, grouped by category:\n\n*Volume*\n- `request_count`: Total number of requests in the time bucket\n- `success_count`: Successful requests (2xx responses)\n- `user_error_count`: User errors (4xx responses)\n- `error_count`: Server errors (5xx responses)\n\n*Error type breakdown*\n- `startup_error_count`: Startup errors (startup timeout, scheduling failure)\n- `connection_error_count`: Connection errors (timeout, disconnected, refused)\n- `timeout_error_count`: Request timeout errors\n- `runtime_error_count`: Runtime errors (internal error, server error)\n\n*Queue / prepare latency*\n- `p50_prepare_duration`, `p75_prepare_duration`, `p90_prepare_duration`, `p95_prepare_duration`, `p99_prepare_duration`: Time from request submission until execution starts\n\n*Request execution latency*\n- `p25_duration`, `p50_duration`, `p75_duration`, `p90_duration`, `p95_duration`, `p99_duration`: Time spent processing the request\n\n*Cold boot*\n- `cold_boot_count`: Requests with cold boot (startup > 1s)\n- `p50_cold_boot_duration`, `p75_cold_boot_duration`, `p90_cold_boot_duration`: Cold boot duration percentiles\n\n*Billing*\n- `total_billable_duration`: Aggregate billed execution time\n\n**Key Features:**\n- Selective metric inclusion via expand parameter\n- Performance metrics (latency percentiles, duration stats)\n- Reliability metrics (success/error rates, request counts)\n- Error type breakdown (startup, connection, timeout, runtime)\n- Cold boot metrics (count, latency percentiles)\n- Billing duration tracking\n- Time-bucketed data for trend analysis\n- Single or multi-model analytics\n- Flexible date range and timeframe options\n\n**Common Use Cases:**\n- Monitor model performance and reliability\n- Generate performance dashboards\n- Analyze latency trends and patterns\n- Track error rates and success metrics\n\nSee [Queue API docs](https://docs.fal.ai/model-apis/model-endpoints/queue) for more details.\n ","tags":["Models","Analytics"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","example":50},"required":false,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor from previous response. Encodes the page number.","example":"Mg=="},"required":false,"description":"Pagination cursor from previous response. Encodes the page number.","name":"cursor","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","example":"2025-01-01T00:00:00Z"},"required":false,"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","name":"start","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","example":"2025-02-01T00:00:00Z"},"required":false,"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","name":"end","in":"query"},{"schema":{"type":"string","default":"UTC","description":"Timezone for date aggregation and boundaries. All timestamps in responses are in UTC, but this controls how dates are bucketed.","example":"UTC"},"required":false,"description":"Timezone for date aggregation and boundaries. All timestamps in responses are in UTC, but this controls how dates are bucketed.","name":"timezone","in":"query"},{"schema":{"type":"string","enum":["minute","hour","day","week","month"],"description":"Aggregation timeframe for timeseries data (auto-detected from date range if not specified). Auto-detection uses: minute (<2h), hour (<2d), day (<64d), week (<183d), month (>=183d).","example":"day"},"required":false,"description":"Aggregation timeframe for timeseries data (auto-detected from date range if not specified). Auto-detection uses: minute (<2h), hour (<2d), day (<64d), week (<183d), month (>=183d).","name":"timeframe","in":"query"},{"schema":{"type":"string","enum":["true","false"],"default":"true","description":"Whether to adjust start/end dates to align with timeframe boundaries and use exclusive end. Defaults to true. When true, dates are aligned to the start of the timeframe period (e.g., start of day) and end is made exclusive (e.g., start of next day). When false, uses exact dates provided.","example":"true"},"required":false,"description":"Whether to adjust start/end dates to align with timeframe boundaries and use exclusive end. Defaults to true. When true, dates are aligned to the start of the timeframe period (e.g., start of day) and end is made exclusive (e.g., start of next day). When false, uses exact dates provided.","name":"bound_to_timeframe","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","example":["fal-ai/flux/dev"]},"required":true,"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","name":"endpoint_id","style":"form","explode":true,"in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"default":["time_series","request_count"],"description":"Data and metrics to include in the response. Use 'time_series' for time-bucketed data, metric names for specific metrics in time series, and 'summary' for aggregate statistics. At least one of 'time_series' or 'summary' and at least one metric are required.","example":["request_count","success_count"]},"required":false,"description":"Data and metrics to include in the response. Use 'time_series' for time-bucketed data, metric names for specific metrics in time series, and 'summary' for aggregate statistics. At least one of 'time_series' or 'summary' and at least one metric are required.","name":"expand","style":"form","explode":true,"in":"query"}],"responses":{"200":{"description":"Analytics data retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results, null if no more pages"},"has_more":{"type":"boolean","description":"Boolean indicating if more results are available (convenience field derived from next_cursor)"},"time_series":{"type":"array","items":{"type":"object","properties":{"bucket":{"type":"string","description":"Time bucket timestamp in user's timezone with offset (ISO8601 datetime)"},"results":{"type":"array","items":{"type":"object","properties":{"endpoint_id":{"type":"string","description":"Endpoint identifier for these statistics"},"request_count":{"type":"integer","minimum":0,"description":"Total number of requests"},"success_count":{"type":"integer","minimum":0,"description":"Number of successful requests (2xx responses)"},"user_error_count":{"type":"integer","minimum":0,"description":"Number of user errors (4xx responses)"},"error_count":{"type":"integer","minimum":0,"description":"Number of server errors (5xx responses)"},"p50_prepare_duration":{"type":"number","minimum":0,"description":"50th percentile queue/prepare time before execution in seconds"},"p75_prepare_duration":{"type":"number","minimum":0,"description":"75th percentile queue/prepare time before execution in seconds"},"p90_prepare_duration":{"type":"number","minimum":0,"description":"90th percentile queue/prepare time before execution in seconds"},"p95_prepare_duration":{"type":"number","minimum":0,"description":"95th percentile queue/prepare time before execution in seconds"},"p99_prepare_duration":{"type":"number","minimum":0,"description":"99th percentile queue/prepare time before execution in seconds"},"p50_duration":{"type":"number","minimum":0,"description":"50th percentile request execution duration in seconds"},"p75_duration":{"type":"number","minimum":0,"description":"75th percentile request execution duration in seconds"},"p90_duration":{"type":"number","minimum":0,"description":"90th percentile request execution duration in seconds"},"p25_duration":{"type":"number","minimum":0,"description":"25th percentile request execution duration in seconds"},"p95_duration":{"type":"number","minimum":0,"description":"95th percentile request execution duration in seconds"},"p99_duration":{"type":"number","minimum":0,"description":"99th percentile request execution duration in seconds"},"startup_error_count":{"type":"integer","minimum":0,"description":"Number of startup errors (startup timeout, scheduling failure)"},"connection_error_count":{"type":"integer","minimum":0,"description":"Number of connection errors (connection timeout, disconnected, refused)"},"timeout_error_count":{"type":"integer","minimum":0,"description":"Number of request timeout errors"},"runtime_error_count":{"type":"integer","minimum":0,"description":"Number of runtime errors (internal error, server error)"},"cold_boot_count":{"type":"integer","minimum":0,"description":"Number of requests with cold boot (startup time > 1 second)"},"p50_cold_boot_duration":{"type":"number","minimum":0,"description":"50th percentile cold boot duration in seconds (only cold starts)"},"p75_cold_boot_duration":{"type":"number","minimum":0,"description":"75th percentile cold boot duration in seconds (only cold starts)"},"p90_cold_boot_duration":{"type":"number","minimum":0,"description":"90th percentile cold boot duration in seconds (only cold starts)"},"total_billable_duration":{"type":"number","minimum":0,"description":"Total billable execution duration in seconds (sum of all request durations)"}},"required":["endpoint_id"],"description":"Performance and reliability analytics. Only requested metrics (via expand parameter) will be present in the response. 'prepare_duration' reflects queue/prepare time before execution; 'duration' is request execution time."},"description":"Analytics records for this time bucket"}},"required":["bucket","results"],"description":"Time bucket with grouped analytics records"},"description":"Time series analytics data grouped by time bucket (when expand includes 'time_series'). Each bucket contains all analytics records for that time period."},"summary":{"type":"array","items":{"type":"object","properties":{"endpoint_id":{"type":"string","description":"Endpoint identifier for these statistics"},"request_count":{"type":"integer","minimum":0,"description":"Total number of requests"},"success_count":{"type":"integer","minimum":0,"description":"Number of successful requests (2xx responses)"},"user_error_count":{"type":"integer","minimum":0,"description":"Number of user errors (4xx responses)"},"error_count":{"type":"integer","minimum":0,"description":"Number of server errors (5xx responses)"},"p50_prepare_duration":{"type":"number","minimum":0,"description":"50th percentile queue/prepare time before execution in seconds"},"p75_prepare_duration":{"type":"number","minimum":0,"description":"75th percentile queue/prepare time before execution in seconds"},"p90_prepare_duration":{"type":"number","minimum":0,"description":"90th percentile queue/prepare time before execution in seconds"},"p95_prepare_duration":{"type":"number","minimum":0,"description":"95th percentile queue/prepare time before execution in seconds"},"p99_prepare_duration":{"type":"number","minimum":0,"description":"99th percentile queue/prepare time before execution in seconds"},"p50_duration":{"type":"number","minimum":0,"description":"50th percentile request execution duration in seconds"},"p75_duration":{"type":"number","minimum":0,"description":"75th percentile request execution duration in seconds"},"p90_duration":{"type":"number","minimum":0,"description":"90th percentile request execution duration in seconds"},"p25_duration":{"type":"number","minimum":0,"description":"25th percentile request execution duration in seconds"},"p95_duration":{"type":"number","minimum":0,"description":"95th percentile request execution duration in seconds"},"p99_duration":{"type":"number","minimum":0,"description":"99th percentile request execution duration in seconds"},"startup_error_count":{"type":"integer","minimum":0,"description":"Number of startup errors (startup timeout, scheduling failure)"},"connection_error_count":{"type":"integer","minimum":0,"description":"Number of connection errors (connection timeout, disconnected, refused)"},"timeout_error_count":{"type":"integer","minimum":0,"description":"Number of request timeout errors"},"runtime_error_count":{"type":"integer","minimum":0,"description":"Number of runtime errors (internal error, server error)"},"cold_boot_count":{"type":"integer","minimum":0,"description":"Number of requests with cold boot (startup time > 1 second)"},"p50_cold_boot_duration":{"type":"number","minimum":0,"description":"50th percentile cold boot duration in seconds (only cold starts)"},"p75_cold_boot_duration":{"type":"number","minimum":0,"description":"75th percentile cold boot duration in seconds (only cold starts)"},"p90_cold_boot_duration":{"type":"number","minimum":0,"description":"90th percentile cold boot duration in seconds (only cold starts)"},"total_billable_duration":{"type":"number","minimum":0,"description":"Total billable execution duration in seconds (sum of all request durations)"}},"required":["endpoint_id"],"description":"Aggregate performance statistics for the entire date range"},"description":"Aggregate statistics (when expand includes 'summary')"}},"required":["next_cursor","has_more"],"description":"Response containing performance analytics with pagination support"},"example":{"time_series":[{"bucket":"2025-01-15T12:00:00-05:00","results":[{"endpoint_id":"fal-ai/flux/dev","request_count":1500,"success_count":1450,"p50_duration":2.5,"p90_duration":4.8}]}],"next_cursor":null,"has_more":false}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/models/billing-events":{"get":{"operationId":"getBillingEvents","summary":"Billing Events","x-mint":{"href":"/platform-apis/v1/models/billing-events","metadata":{"sidebarTitle":"Billing Events"}},"description":"\nReturns paginated individual billing event records with filters\nfor endpoint and date range. Each record includes the request ID, timestamp,\nendpoint, and output units billed.\n\n**Key Features:**\n- Individual billing event records for each API request\n- Flexible date range filtering\n- Optional endpoint filtering\n- Cursor-based pagination for efficient large dataset queries\n- Limited to 10000 records per page for performance\n- Date range capped at 90 days per request\n\n**Common Use Cases:**\n- Audit individual billing events\n- Track request patterns and volumes\n- Debug specific requests by ID\n- Monitor billing unit consumption per request\n\nSee [fal.ai docs](https://docs.fal.ai/model-apis/faq) for more details.\n ","tags":["Models","Usage"],"security":[{"adminApiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","example":50},"required":false,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor from previous response. Encodes the page number.","example":"Mg=="},"required":false,"description":"Pagination cursor from previous response. Encodes the page number.","name":"cursor","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","example":"2025-01-01T00:00:00Z"},"required":false,"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","name":"start","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","example":"2025-02-01T00:00:00Z"},"required":false,"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","name":"end","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","example":["fal-ai/flux/dev"]},"required":false,"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","name":"endpoint_id","style":"form","explode":true,"in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter by specific request ID(s). Accepts 1-50 request IDs. Supports comma-separated values: ?request_id=req1,req2 or array syntax: ?request_id=req1&request_id=req2","example":["req-abc123"]},"required":false,"description":"Filter by specific request ID(s). Accepts 1-50 request IDs. Supports comma-separated values: ?request_id=req1,req2 or array syntax: ?request_id=req1&request_id=req2","name":"request_id","style":"form","explode":true,"in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Data to include in the response. Use 'auth_method' to include authentication method information (formatted with user key aliases).","example":"auth_method"},"required":false,"description":"Data to include in the response. Use 'auth_method' to include authentication method information (formatted with user key aliases).","name":"expand","style":"form","explode":true,"in":"query"}],"responses":{"200":{"description":"Billing event data retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results, null if no more pages"},"has_more":{"type":"boolean","description":"Boolean indicating if more results are available (convenience field derived from next_cursor)"},"billing_events":{"type":"array","items":{"type":"object","properties":{"request_id":{"type":"string","description":"Unique identifier for the request"},"endpoint_id":{"type":"string","description":"Endpoint identifier that was used (e.g., 'fal-ai/flux/dev')"},"timestamp":{"type":"string","description":"Request timestamp in ISO8601 format"},"output_units":{"type":["number","null"],"minimum":0,"description":"Custom billing units for this request"},"unit_price":{"type":["number","null"],"minimum":0,"description":"Unit price for this request"},"percent_discount":{"type":["number","null"],"description":"Discount percentage applied to this request (e.g., 10 = 10% discount)"},"cost_estimate_nano_usd":{"type":"number","minimum":0,"description":"Estimated cost in nano USD (1 USD = 1,000,000,000 nano USD)"},"auth_method":{"type":"string","description":"Authentication method label (e.g., 'Key 1', 'API Key', 'User token'). Only populated when 'auth_method' is included in expand parameter."}},"required":["request_id","endpoint_id","timestamp","output_units","unit_price","percent_discount","cost_estimate_nano_usd"],"description":"Individual billing event record with details"},"description":"List of billing event records"}},"required":["next_cursor","has_more","billing_events"],"description":"Response containing billing event data with pagination support"},"example":{"billing_events":[{"request_id":"abc123","endpoint_id":"fal-ai/flux/dev","timestamp":"2025-01-15T10:30:45Z","output_units":1.5,"unit_price":0.001,"percent_discount":null,"cost_estimate_nano_usd":1500000},{"request_id":"def456","endpoint_id":"fal-ai/flux/dev","timestamp":"2025-01-15T10:25:30Z","output_units":2,"unit_price":0.001,"percent_discount":10,"cost_estimate_nano_usd":1800000}],"next_cursor":"MjAyNS0wMS0xNVQxMDoyNTozMFo=","has_more":true}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}}}}},"/models/requests/{request_id}/payloads":{"delete":{"operationId":"deleteRequestPayloads","summary":"Delete request payloads","x-mint":{"href":"/platform-apis/v1/models/requests/payloads","metadata":{"sidebarTitle":"Delete Request Payloads"}},"description":"Deletes the IO payloads and associated CDN output files for a specific request.\n\n**Important:**\n- Only **output** CDN files are deleted (input files may be used by other requests)\n- This action is irreversible\n- Requires authentication with an admin API key\n\n**What gets deleted:**\n- Request input/output payload data\n- CDN-hosted output files (images, videos, etc.)\n\n**What is NOT deleted:**\n- Input CDN files (may be referenced by other requests)\n\n**Response:**\n- Returns deletion status for each CDN file\n- Each result includes the file link and any error that occurred\n\n**Idempotency:**\n- Optional Idempotency-Key header prevents duplicate deletions on retries\n- Responses cached for 10 minutes per unique key\n\nSee [fal.ai docs](https://docs.fal.ai/model-apis/payloads) for more details about request payloads.","tags":["Models","Requests"],"security":[{"adminApiKey":[]}],"parameters":[{"schema":{"type":"string","format":"uuid","description":"Unique identifier for the request (UUID format)","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"},"required":true,"description":"Unique identifier for the request (UUID format)","name":"request_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"responses":{"200":{"description":"Request payloads deleted successfully","content":{"application/json":{"schema":{"type":"object","properties":{"cdn_delete_results":{"type":"array","items":{"type":"object","properties":{"link":{"type":"string","description":"CDN URL of the file that was targeted for deletion","example":"https://v3.fal.media/files/example/output.png"},"exception":{"type":["string","null"],"description":"Error message if deletion failed for this file, null if successful","example":null}},"required":["link","exception"],"description":"Result of deleting a single CDN file"},"description":"Array of deletion results for each CDN file associated with the request output"}},"required":["cdn_delete_results"],"description":"Response containing the results of deleting request payloads and CDN output files"},"example":{"cdn_delete_results":[{"link":"https://v3.fal.media/files/abc123/output.png","exception":null},{"link":"https://v3.fal.media/files/def456/output.mp4","exception":null}]}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/models/requests/by-endpoint":{"get":{"operationId":"listRequestsByEndpoint","summary":"List requests by endpoint(s)","x-mint":{"href":"/platform-apis/v1/models/requests/by-endpoint","metadata":{"sidebarTitle":"List Requests by Endpoint"}},"description":"Lists requests for one or more endpoints (same `endpoint_id` style as usage/explore:\ncomma-separated or repeated query params, up to 50 IDs).\n\n**Authentication:** Requires API key (user or enterprise).\n\n**Filters:**\n- Time range via start / end. If `start` is omitted, defaults to the last 24 hours — unless `request_id` is provided, in which case the default start bound is widened to 90 days.\n- Status (success, error, user_error)\n- Request ID\n- Pagination via cursor/limit (limit defaults to 50, max 100)\n\n**Sorting:**\n- By end time (default) or duration\n\n**Expansions:**\n- Include payloads by adding expand=payloads","tags":["Models","Requests"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"maximum":100,"default":50,"description":"Number of items to return per page (max 100)","example":20},"required":false,"description":"Number of items to return per page (max 100)","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor encoding the page number","example":"Mg=="},"required":false,"description":"Pagination cursor encoding the page number","name":"cursor","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","example":["fal-ai/flux/dev"]},"required":true,"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","name":"endpoint_id","style":"form","explode":true,"in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","example":"2025-01-01T00:00:00Z"},"required":false,"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","name":"start","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","example":"2025-02-01T00:00:00Z"},"required":false,"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","name":"end","in":"query"},{"schema":{"type":"string","enum":["success","error","user_error"],"description":"Filter by request status","example":"success"},"required":false,"description":"Filter by request status","name":"status","in":"query"},{"schema":{"type":"string","format":"uuid","description":"Filter by specific request ID","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"},"required":false,"description":"Filter by specific request ID","name":"request_id","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Fields to expand in the response. Use payloads to include input and output payloads.","example":["payloads"]},"required":false,"description":"Fields to expand in the response. Use payloads to include input and output payloads.","name":"expand","style":"form","explode":true,"in":"query"},{"schema":{"type":"string","enum":["ended_at","duration"],"default":"ended_at","description":"Sort results by end time or duration","example":"ended_at"},"required":false,"description":"Sort results by end time or duration","name":"sort_by","in":"query"}],"responses":{"200":{"description":"Requests listed successfully","content":{"application/json":{"schema":{"type":"object","properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results, null if no more pages"},"has_more":{"type":"boolean","description":"Boolean indicating if more results are available (convenience field derived from next_cursor)"},"items":{"type":"array","items":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid","description":"Unique identifier for the request","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"},"endpoint_id":{"type":"string","description":"Endpoint that was executed for this request","example":"fal-ai/flux/dev"},"started_at":{"type":"string","format":"date-time","description":"Time when request processing started","example":"2025-01-01T00:00:05Z"},"sent_at":{"type":"string","format":"date-time","description":"Time when request was sent to the backend","example":"2025-01-01T00:00:01Z"},"ended_at":{"type":["string","null"],"format":"date-time","description":"Time when request finished processing","example":"2025-01-01T00:00:08Z"},"status_code":{"type":["integer","null"],"description":"HTTP status code returned by the request","example":200},"duration":{"type":["number","null"],"description":"Total request duration in seconds","example":7.8},"json_input":{"description":"Input payload for the request"},"json_output":{"description":"Output payload for the request"}},"required":["request_id","endpoint_id","started_at","sent_at"],"description":"Request item"},"description":"List of requests matching the filter"}},"required":["next_cursor","has_more","items"],"description":"Paginated list of requests for the specified endpoint"},"example":{"items":[{"request_id":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","endpoint_id":"fal-ai/flux/dev","started_at":"2025-01-01T00:00:05Z","sent_at":"2025-01-01T00:00:01Z","ended_at":"2025-01-01T00:00:08Z","status_code":200,"duration":7.8,"json_input":{"prompt":"cat astronaut"},"json_output":{"status":"ok"}}],"next_cursor":"Mg==","has_more":true}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/models/requests/search":{"get":{"operationId":"searchRequests","summary":"Search Requests","x-mint":{"href":"/platform-apis/v1/models/requests/search","mcp":{"enabled":true},"metadata":{"sidebarTitle":"Search Requests"}},"description":"Search, filter, and browse your request history. Supports three modes:\n\n**1. Semantic Search** (`query`, `image_url`, or `video_url` parameter):\nFind visually or conceptually similar results using AI embeddings. Provide a text\nquery for text-to-image search, an image URL for image-to-image similarity search,\nor a video URL for video-to-image similarity search.\n\n**2. Filtered Browse** (no `query`, `image_url`, or `video_url`):\nBrowse request history with hard filters. Returns results ordered by creation date (newest first).\n\n**3. Semantic + Filters** (search params AND filter params):\nCombine semantic search with hard filters. Filters narrow the candidate set before\nranking by similarity.\n\n**Filter Options:**\n- `endpoint_id`: Filter by one or more fal endpoints (comma-separated or repeated, up to 50 IDs)\n- `exclude_api_requests` / `only_api_requests`: Filter by request source\n\n**Examples:**\n- Semantic text search: `?query=sunset+landscape`\n- Image similarity: `?image_url=https://...&min_similarity=0.5`\n- Filtered search: `?query=portrait&endpoint_id=fal-ai/flux/dev`\n- Browse across multiple endpoints: `?endpoint_id=fal-ai/flux/dev,fal-ai/flux/schnell`","tags":["Models","Requests"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","example":50},"required":false,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor from previous response. Encodes the page number.","example":"Mg=="},"required":false,"description":"Pagination cursor from previous response. Encodes the page number.","name":"cursor","in":"query"},{"schema":{"type":"string","description":"Text search query for semantic search. Mutually exclusive with image_url and video_url.","example":"sunset landscape"},"required":false,"description":"Text search query for semantic search. Mutually exclusive with image_url and video_url.","name":"query","in":"query"},{"schema":{"type":"string","description":"Image URL for similarity search. Mutually exclusive with query and video_url.","example":"https://v3.fal.media/files/abc123/output.png"},"required":false,"description":"Image URL for similarity search. Mutually exclusive with query and video_url.","name":"image_url","in":"query"},{"schema":{"type":"string","description":"Video URL for similarity search. Mutually exclusive with query and image_url.","example":"https://v3.fal.media/files/abc123/output.mp4"},"required":false,"description":"Video URL for similarity search. Mutually exclusive with query and image_url.","name":"video_url","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter by one or more fal endpoints to scope request history. Accepts comma-separated or repeated values (1-50 IDs).","example":["fal-ai/flux/dev"]},"required":false,"description":"Filter by one or more fal endpoints to scope request history. Accepts comma-separated or repeated values (1-50 IDs).","name":"endpoint_id","style":"form","explode":true,"in":"query"},{"schema":{"type":"string","description":"Deprecated: use `endpoint_id`. Single-endpoint filter retained for backward compatibility. If both are provided, `endpoint_id` wins.","deprecated":true,"example":"fal-ai/flux/dev"},"required":false,"description":"Deprecated: use `endpoint_id`. Single-endpoint filter retained for backward compatibility. If both are provided, `endpoint_id` wins.","name":"endpoint","in":"query"},{"schema":{"type":"boolean","description":"Exclude requests made via API keys (only show playground/UI requests). Mutually exclusive with only_api_requests.","example":true},"required":false,"description":"Exclude requests made via API keys (only show playground/UI requests). Mutually exclusive with only_api_requests.","name":"exclude_api_requests","in":"query"},{"schema":{"type":"boolean","description":"Only include requests made via API keys. Mutually exclusive with exclude_api_requests.","example":true},"required":false,"description":"Only include requests made via API keys. Mutually exclusive with exclude_api_requests.","name":"only_api_requests","in":"query"},{"schema":{"type":["number","null"],"minimum":0,"maximum":1,"description":"Minimum similarity score (0-1) for semantic search results. Only applies when query or image_url is provided.","example":0.3},"required":false,"description":"Minimum similarity score (0-1) for semantic search results. Only applies when query or image_url is provided.","name":"min_similarity","in":"query"}],"responses":{"200":{"description":"Successfully retrieved request search results","content":{"application/json":{"schema":{"type":"object","properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results, null if no more pages"},"has_more":{"type":"boolean","description":"Boolean indicating if more results are available (convenience field derived from next_cursor)"},"results":{"type":"array","items":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid","description":"Unique identifier for the request","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"},"endpoint_id":{"type":"string","description":"Endpoint that was executed for this request","example":"fal-ai/flux/dev"},"started_at":{"type":"string","format":"date-time","description":"Time when request processing started","example":"2025-01-01T00:00:05Z"},"sent_at":{"type":"string","format":"date-time","description":"Time when request was sent to the backend","example":"2025-01-01T00:00:01Z"},"ended_at":{"type":["string","null"],"format":"date-time","description":"Time when request finished processing","example":"2025-01-01T00:00:08Z"},"status_code":{"type":["integer","null"],"description":"HTTP status code returned by the request","example":200},"duration":{"type":["number","null"],"description":"Total request duration in seconds","example":7.8},"json_input":{"description":"Input payload for the request"},"json_output":{"description":"Output payload for the request"},"similarity":{"type":"number","minimum":0,"maximum":1,"description":"Similarity score (0-1) when semantic search is used","example":0.87}},"required":["request_id","endpoint_id","started_at","sent_at"],"description":"Request search result"},"description":"Array of matching request results, ordered by relevance or recency"}},"required":["next_cursor","has_more","results"],"description":"Request search results with pagination"},"example":{"results":[{"request_id":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","endpoint_id":"fal-ai/flux/dev","started_at":"2025-01-15T11:59:55Z","sent_at":"2025-01-15T11:59:50Z","ended_at":"2025-01-15T12:00:00Z","status_code":200,"duration":5,"similarity":0.95}],"next_cursor":null,"has_more":false}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/workflows":{"get":{"operationId":"listWorkflows","summary":"List user workflows","x-mint":{"href":"/platform-apis/v1/workflows","metadata":{"sidebarTitle":"List User Workflows"}},"description":"\nList workflows for the authenticated user with optional search and filtering.\n\n**Features:**\n- Paginated results with cursor-based pagination\n- Search by workflow name or title\n- Filter by model endpoints used in the workflow\n\n**Authentication:** Required. Returns only workflows owned by the authenticated user.\n\n**Common Use Cases:**\n- Display user's workflow library\n- Search for specific workflows\n- Find workflows using particular models\n ","tags":["Workflows"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","example":50},"required":false,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor from previous response. Encodes the page number.","example":"Mg=="},"required":false,"description":"Pagination cursor from previous response. Encodes the page number.","name":"cursor","in":"query"},{"schema":{"type":"string","description":"Search by workflow name or title","example":"image generation"},"required":false,"description":"Search by workflow name or title","name":"search","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter by model endpoint IDs used in the workflow. Can be a single value or comma-separated values.","example":["fal-ai/flux/dev"]},"required":false,"description":"Filter by model endpoint IDs used in the workflow. Can be a single value or comma-separated values.","name":"used_endpoint_ids","style":"form","explode":true,"in":"query"}],"responses":{"200":{"description":"Successfully retrieved workflows","content":{"application/json":{"schema":{"type":"object","properties":{"workflows":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Unique workflow name/slug within the user's namespace","example":"my-image-workflow"},"title":{"type":"string","description":"Human-readable workflow title","example":"My Image Generation Workflow"},"user_nickname":{"type":"string","description":"Display name/username of the owner","example":"johndoe"},"created_at":{"type":"string","description":"ISO8601 timestamp of workflow creation","example":"2024-01-15T10:30:00Z"},"thumbnail_url":{"type":"string","description":"URL to the workflow thumbnail image","example":"https://fal.ai/workflows/thumb_abc123.png"},"description":{"type":"string","description":"Brief description of what the workflow does","example":"Generate high-quality images using FLUX model"},"tags":{"type":"array","items":{"type":"string","example":"image-generation"},"description":"Tags associated with the workflow","example":["image-generation","ai","flux"]},"endpoint_ids":{"type":"array","items":{"type":"string","example":"fal-ai/flux/dev"},"description":"List of model endpoint IDs used in this workflow","example":["fal-ai/flux/dev","fal-ai/face-swap"]}},"required":["name","title","user_nickname","created_at","tags","endpoint_ids"],"description":"Workflow information"},"description":"Array of workflow items","example":[{"name":"my-image-workflow","title":"My Image Generation Workflow","user_nickname":"johndoe","created_at":"2024-01-15T10:30:00Z","thumbnail_url":"https://fal.ai/workflows/thumb_abc123.png","description":"Generate high-quality images using FLUX model","tags":["image-generation","ai","flux"],"endpoint_ids":["fal-ai/flux/dev","fal-ai/face-swap"]}]},"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results, null if no more pages","example":"eyJvZmZzZXQiOjEwfQ=="},"has_more":{"type":"boolean","description":"Whether more results are available","example":true},"total":{"type":"integer","description":"Total number of workflows matching the query","example":42}},"required":["workflows","next_cursor","has_more"],"description":"Response containing workflow data with pagination support"},"example":{"workflows":[{"name":"my-image-workflow","title":"My Image Generation Workflow","user_nickname":"johndoe","created_at":"2025-01-15T12:00:00Z","thumbnail_url":"https://fal.media/files/example.jpg","description":"A workflow for generating images","tags":["image","generation"],"endpoint_ids":["fal-ai/flux/dev"]}],"next_cursor":null,"has_more":false,"total":1}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}},"post":{"operationId":"createWorkflow","summary":"Create a workflow","x-mint":{"href":"/platform-apis/v1/workflows/create"},"description":"\nCreate a new workflow owned by the authenticated user.\n\n**Authentication:** Required.\n\n**Common Use Cases:**\n- Save a newly built workflow\n- Programmatically provision workflows\n\n**Note:** Workflow names must be unique within your namespace. Creating a\nworkflow with a name you already use returns a 400 validation error.\n ","tags":["Workflows"],"security":[{"apiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","maxLength":128,"pattern":"^[a-zA-Z0-9_-]+$","description":"Unique workflow name/slug within the user's namespace","example":"my-image-workflow"},"title":{"type":"string","minLength":1,"maxLength":256,"description":"Human-readable workflow title","example":"My Image Generation Workflow"},"contents":{"type":"object","properties":{"name":{"type":"string","description":"Internal name of the workflow definition","example":"my-image-workflow"},"version":{"type":"string","description":"Workflow definition format version","example":"1.0.0"},"nodes":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{}},"description":"Workflow nodes keyed by node id"},"output":{"type":"object","additionalProperties":{"type":"string"},"description":"Output field mappings keyed by output name"},"schema":{"type":"object","properties":{"input":{"type":"object","additionalProperties":{},"description":"Input fields schema"},"output":{"type":"object","additionalProperties":{},"description":"Output fields schema"}},"required":["input","output"],"description":"Input/output schema for the workflow"},"metadata":{"type":"object","additionalProperties":{},"description":"Optional workflow metadata"}},"required":["name","version","nodes","output","schema"],"description":"The workflow definition/configuration object","example":{"name":"my-image-workflow","version":"1.0.0","nodes":{"node_a1b2c3":{"id":"node_a1b2c3","type":"run","app":"fal-ai/flux/dev","depends":[],"input":{"prompt":"$input.prompt"},"metadata":{"position":{"x":300,"y":100}}}},"output":{"image":"$node_a1b2c3.images.0.url"},"schema":{"input":{"prompt":{"type":"string"}},"output":{"image":{"type":"string"}}}}},"is_public":{"type":"boolean","default":false,"description":"Whether the workflow is publicly visible","example":false}},"required":["name","title","contents"],"description":"Request body for creating a new workflow"},"example":{"name":"my-image-workflow","title":"My Image Generation Workflow","is_public":false,"contents":{"name":"my-image-workflow","version":"1.0.0","nodes":{"node_a1b2c3":{"id":"node_a1b2c3","type":"run","app":"fal-ai/flux/dev","depends":[],"input":{"prompt":"$input.prompt"},"metadata":{"position":{"x":300,"y":100}}}},"output":{"image":"$node_a1b2c3.images.0.url"},"schema":{"input":{"prompt":{"type":"string"}},"output":{"image":{"type":"string"}}}}}}}},"responses":{"201":{"description":"Successfully created workflow","content":{"application/json":{"schema":{"type":"object","properties":{"workflow":{"type":"object","properties":{"name":{"type":"string","description":"Unique workflow name/slug within the user's namespace","example":"my-image-workflow"},"title":{"type":"string","description":"Human-readable workflow title","example":"My Image Generation Workflow"},"user_nickname":{"type":"string","description":"Display name/username of the owner","example":"johndoe"},"created_at":{"type":"string","description":"ISO8601 timestamp of workflow creation","example":"2024-01-15T10:30:00Z"},"is_public":{"type":"boolean","description":"Whether the workflow is publicly visible","example":true},"contents":{"type":"object","additionalProperties":{},"description":"The workflow definition/configuration object","example":{"nodes":{"node_a1b2c3":{"id":"node_a1b2c3","type":"model","app":"fal-ai/flux/dev","depends":[],"input":{"prompt":"$input.prompt"},"metadata":{"position":{"x":300,"y":100}}},"output":{"id":"output","type":"output","depends":["node_a1b2c3"],"fields":{"image":"$node_a1b2c3.images.0.url"},"metadata":{"position":{"x":600,"y":100}}}}}}},"required":["name","title","user_nickname","created_at","is_public","contents"],"description":"The workflow details","example":{"name":"my-image-workflow","title":"My Image Generation Workflow","user_nickname":"johndoe","created_at":"2024-01-15T10:30:00Z","is_public":true,"contents":{"nodes":{"node_a1b2c3":{"id":"node_a1b2c3","type":"model","app":"fal-ai/flux/dev","depends":[],"input":{"prompt":"$input.prompt"},"metadata":{"position":{"x":300,"y":100}}},"output":{"id":"output","type":"output","depends":["node_a1b2c3"],"fields":{"image":"$node_a1b2c3.images.0.url"},"metadata":{"position":{"x":600,"y":100}}}}}}}},"required":["workflow"],"description":"Response containing a single workflow's details"},"example":{"workflow":{"name":"my-image-workflow","title":"My Image Generation Workflow","user_nickname":"johndoe","created_at":"2025-01-15T12:00:00Z","is_public":false,"contents":{"name":"my-image-workflow","version":"1.0.0","nodes":{"node_a1b2c3":{"id":"node_a1b2c3","type":"run","app":"fal-ai/flux/dev","depends":[],"input":{"prompt":"$input.prompt"},"metadata":{"position":{"x":300,"y":100}}}},"output":{"image":"$node_a1b2c3.images.0.url"},"schema":{"input":{"prompt":{"type":"string"}},"output":{"image":{"type":"string"}}}}}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/workflows/{username}/{workflow_name}":{"get":{"operationId":"getWorkflow","summary":"Get workflow details","x-mint":{"href":"/platform-apis/v1/workflows/get"},"description":"\nGet detailed information about a specific workflow, including its full contents/definition.\n\n**Authentication:** Required.\n\n**Common Use Cases:**\n- Load a workflow for editing\n- View workflow configuration\n- Export workflow definition\n ","tags":["Workflows"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","maxLength":128,"pattern":"^[a-zA-Z0-9_-]+$","description":"The username of the workflow owner","example":"johndoe"},"required":true,"description":"The username of the workflow owner","name":"username","in":"path"},{"schema":{"type":"string","maxLength":128,"pattern":"^[a-zA-Z0-9_-]+$","description":"The workflow name/slug","example":"my-image-workflow"},"required":true,"description":"The workflow name/slug","name":"workflow_name","in":"path"}],"responses":{"200":{"description":"Successfully retrieved workflow details","content":{"application/json":{"schema":{"type":"object","properties":{"workflow":{"type":"object","properties":{"name":{"type":"string","description":"Unique workflow name/slug within the user's namespace","example":"my-image-workflow"},"title":{"type":"string","description":"Human-readable workflow title","example":"My Image Generation Workflow"},"user_nickname":{"type":"string","description":"Display name/username of the owner","example":"johndoe"},"created_at":{"type":"string","description":"ISO8601 timestamp of workflow creation","example":"2024-01-15T10:30:00Z"},"is_public":{"type":"boolean","description":"Whether the workflow is publicly visible","example":true},"contents":{"type":"object","additionalProperties":{},"description":"The workflow definition/configuration object","example":{"nodes":{"node_a1b2c3":{"id":"node_a1b2c3","type":"model","app":"fal-ai/flux/dev","depends":[],"input":{"prompt":"$input.prompt"},"metadata":{"position":{"x":300,"y":100}}},"output":{"id":"output","type":"output","depends":["node_a1b2c3"],"fields":{"image":"$node_a1b2c3.images.0.url"},"metadata":{"position":{"x":600,"y":100}}}}}}},"required":["name","title","user_nickname","created_at","is_public","contents"],"description":"The workflow details","example":{"name":"my-image-workflow","title":"My Image Generation Workflow","user_nickname":"johndoe","created_at":"2024-01-15T10:30:00Z","is_public":true,"contents":{"nodes":{"node_a1b2c3":{"id":"node_a1b2c3","type":"model","app":"fal-ai/flux/dev","depends":[],"input":{"prompt":"$input.prompt"},"metadata":{"position":{"x":300,"y":100}}},"output":{"id":"output","type":"output","depends":["node_a1b2c3"],"fields":{"image":"$node_a1b2c3.images.0.url"},"metadata":{"position":{"x":600,"y":100}}}}}}}},"required":["workflow"],"description":"Response containing a single workflow's details"},"example":{"workflow":{"name":"my-image-workflow","title":"My Image Generation Workflow","user_nickname":"johndoe","created_at":"2025-01-15T12:00:00Z","is_public":false,"contents":{"nodes":[],"edges":[]}}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/assets":{"get":{"operationId":"listAssets","summary":"Browse assets","x-mint":{"href":"/platform-apis/v1/assets","metadata":{"sidebarTitle":"Browse Assets"}},"description":"Browse and semantically search fal Assets across all media, uploads, favorites, collections, tags, and character references.","tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","example":50},"required":false,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor from previous response. Encodes the page number.","example":"Mg=="},"required":false,"description":"Pagination cursor from previous response. Encodes the page number.","name":"cursor","in":"query"},{"schema":{"type":"string","description":"Text query for hybrid semantic search","example":"cinematic portrait"},"required":false,"description":"Text query for hybrid semantic search","name":"q","in":"query"},{"schema":{"type":"string","format":"uri","description":"fal-hosted image URL to use for semantic image search","example":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png"},"required":false,"description":"fal-hosted image URL to use for semantic image search","name":"search_image_url","in":"query"},{"schema":{"type":"string","format":"uri","description":"fal-hosted video URL to use for semantic video search","example":"https://fal.media/files/example.mp4"},"required":false,"description":"fal-hosted video URL to use for semantic video search","name":"search_video_url","in":"query"},{"schema":{"type":["array","null"],"items":{"type":"string","enum":["image","video","audio","3d"],"description":"Asset media type"},"default":[],"description":"Filter by one or more media types","example":["image","video"]},"required":false,"description":"Filter by one or more media types","name":"media_type","in":"query"},{"schema":{"type":["array","null"],"items":{"type":"string","enum":["upload","response","request"],"description":"Indexed asset source"},"default":[],"description":"Filter by one or more indexed sources","example":["upload","response"]},"required":false,"description":"Filter by one or more indexed sources","name":"source","in":"query"},{"schema":{"type":"string","enum":["all-media","uploads","favorites"],"default":"all-media","description":"Asset library section to browse","example":"all-media"},"required":false,"description":"Asset library section to browse","name":"section","in":"query"},{"schema":{"type":"string","description":"Collection scope to browse","example":"d8b6elcregj72v34jr8g"},"required":false,"description":"Collection scope to browse","name":"collection_id","in":"query"},{"schema":{"type":["array","null"],"items":{"type":"string"},"default":[],"description":"Character identifiers to use as @mention semantic filters","example":["alice"]},"required":false,"description":"Character identifiers to use as @mention semantic filters","name":"character_identifier","in":"query"},{"schema":{"type":["array","null"],"items":{"type":"string"},"default":[],"description":"Tag IDs to filter by","example":["43ce3411-1a25-4d14-875e-3562d341b090"]},"required":false,"description":"Tag IDs to filter by","name":"tag_id","in":"query"},{"schema":{"type":"string","enum":["any","all"],"default":"any","description":"Whether tag filters match any tag or all tags","example":"any"},"required":false,"description":"Whether tag filters match any tag or all tags","name":"tag_mode","in":"query"}],"responses":{"200":{"description":"Successfully browsed assets","content":{"application/json":{"schema":{"type":"object","properties":{"assets":{"type":"array","items":{"type":"object","properties":{"vector_id":{"type":"string","description":"Vector ID","example":"b1a2b4a5-cb89-51dc-a108-6dbfd8e742fc"},"request_id":{"type":["string","null"],"description":"Request ID","example":"019e6d0a-e5be-7b82-b329-35ae64296902"},"url":{"type":["string","null"],"description":"Media URL","example":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png"},"type":{"type":"string","enum":["image","video","audio","3d"],"description":"Asset media type"},"title":{"type":"string","description":"Display title","example":"Portrait"},"endpoint":{"type":["string","null"],"description":"Model endpoint that produced the asset","example":"fal-ai/flux/dev"},"created_at":{"type":["string","null"],"description":"Asset creation time","example":"2026-05-23T20:00:00.000Z"},"source":{"type":["string","null"],"description":"Asset source","example":"upload"},"prompt":{"type":["string","null"],"description":"Saved prompt or description","example":"cinematic portrait"},"width":{"type":["number","null"],"description":"Width in pixels","example":1024},"height":{"type":["number","null"],"description":"Height in pixels","example":1024},"content_type":{"type":["string","null"],"description":"Media content type","example":"image/png"},"is_favorited":{"type":"boolean","description":"Whether the asset is favorited","example":false},"collection_ids":{"type":"array","items":{"type":"string"},"description":"Collections containing this asset","example":["d8b6elcregj72v34jr8g"]},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Tag ID","example":"43ce3411-1a25-4d14-875e-3562d341b090"},"name":{"type":"string","description":"Tag name","example":"moodboard"},"created_at":{"type":["string","null"],"description":"Tag creation time","example":"2026-05-23T20:00:00.000Z"}},"required":["id","name","created_at"],"description":"Asset tag"},"description":"Assigned tags"},"similarity":{"type":["number","null"],"description":"Semantic similarity score when applicable","example":0.92}},"required":["vector_id","request_id","url","type","title","endpoint","created_at","source","prompt","width","height","content_type","is_favorited","collection_ids","tags","similarity"],"description":"Asset item"},"description":"Asset results"},"next_cursor":{"type":["string","null"],"description":"Cursor for the next page"},"has_more":{"type":"boolean","description":"Whether more results are available"},"total_count":{"type":["number","null"],"description":"Exact total when available; null when unavailable"}},"required":["assets","next_cursor","has_more","total_count"],"description":"Paginated asset browse response"},"example":{"assets":[{"vector_id":"b1a2b4a5-cb89-51dc-a108-6dbfd8e742fc","request_id":"019e6d0a-e5be-7b82-b329-35ae64296902","url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","type":"image","title":"Cinematic portrait","endpoint":"fal-ai/flux/dev","created_at":"2026-05-23T20:00:00.000Z","source":"upload","prompt":"cinematic portrait of a character","width":1024,"height":1024,"content_type":"image/png","is_favorited":false,"collection_ids":["d8b6elcregj72v34jr8g"],"tags":[{"id":"43ce3411-1a25-4d14-875e-3562d341b090","name":"moodboard","created_at":"2026-05-23T20:00:00.000Z"}],"similarity":0.92}],"next_cursor":null,"has_more":false,"total_count":1}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/collections":{"get":{"operationId":"listAssetCollections","summary":"List asset collections","description":"List asset collections for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/collections","metadata":{"sidebarTitle":"List Asset Collections"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"maximum":100,"default":50,"description":"Maximum number of collections to return","example":50},"required":false,"description":"Maximum number of collections to return","name":"limit","in":"query"},{"schema":{"type":["integer","null"],"minimum":0,"default":0,"description":"Number of collections to skip","example":0},"required":false,"description":"Number of collections to skip","name":"offset","in":"query"}],"responses":{"200":{"description":"Successfully listed collections","content":{"application/json":{"schema":{"type":"object","properties":{"collections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Collection ID"},"type":{"type":"string","enum":["manual","smart","character"],"description":"Collection type"},"name":{"type":"string","description":"Collection display name"},"description":{"type":["string","null"],"description":"Collection description"},"icon":{"type":["string","null"],"description":"Optional collection icon"},"color":{"type":["string","null"],"description":"Optional collection color"},"cover_image_url":{"type":["string","null"],"description":"Optional cover image URL for the collection"},"character_identifier":{"type":["string","null"],"description":"Character @mention identifier for character collections"},"is_favorited":{"type":"boolean","description":"Whether the collection is favorited"},"filters":{"description":"Filter DSL backing smart and character collections"},"asset_count":{"type":["number","null"],"description":"Exact asset count when available; null for smart/character collections"},"created_at":{"type":"string","description":"Collection creation time"},"updated_at":{"type":"string","description":"Collection update time"}},"required":["id","type","name","description","icon","color","cover_image_url","character_identifier","is_favorited","created_at","updated_at"]},"description":"Asset collections visible to the authenticated user"}},"required":["collections"]},"example":{"collections":[{"id":"d8b6elcregj72v34jr8g","type":"manual","name":"Campaign concepts","description":"Reusable campaign imagery","icon":"folder","color":"blue","cover_image_url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","character_identifier":null,"is_favorited":false,"filters":null,"created_at":"2026-05-23T20:00:00.000Z","updated_at":"2026-05-23T20:00:00.000Z","asset_count":1}]}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}},"post":{"operationId":"createAssetCollection","summary":"Create asset collection","description":"Create asset collection for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/collections/create","metadata":{"sidebarTitle":"Create Asset Collection"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255,"description":"Collection display name"},"description":{"type":["string","null"],"description":"Optional collection description"},"icon":{"type":["string","null"],"description":"Optional collection icon"},"color":{"type":["string","null"],"description":"Optional collection color"},"cover_image_url":{"type":["string","null"],"format":"uri","description":"Optional fal-hosted cover image URL for the collection"},"filters":{"description":"Assets filter DSL"}},"required":["name"]},"example":{"name":"Campaign concepts","description":"Reusable campaign imagery","icon":"folder","color":"blue","cover_image_url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","filters":null}}}},"responses":{"201":{"description":"Collection created","content":{"application/json":{"schema":{"type":"object","properties":{"collection":{"type":"object","properties":{"id":{"type":"string","description":"Collection ID"},"type":{"type":"string","enum":["manual","smart","character"],"description":"Collection type"},"name":{"type":"string","description":"Collection display name"},"description":{"type":["string","null"],"description":"Collection description"},"icon":{"type":["string","null"],"description":"Optional collection icon"},"color":{"type":["string","null"],"description":"Optional collection color"},"cover_image_url":{"type":["string","null"],"description":"Optional cover image URL for the collection"},"character_identifier":{"type":["string","null"],"description":"Character @mention identifier for character collections"},"is_favorited":{"type":"boolean","description":"Whether the collection is favorited"},"filters":{"description":"Filter DSL backing smart and character collections"},"asset_count":{"type":["number","null"],"description":"Exact asset count when available; null for smart/character collections"},"created_at":{"type":"string","description":"Collection creation time"},"updated_at":{"type":"string","description":"Collection update time"}},"required":["id","type","name","description","icon","color","cover_image_url","character_identifier","is_favorited","created_at","updated_at"],"description":"Asset collection"}},"required":["collection"]},"example":{"collection":{"id":"d8b6elcregj72v34jr8g","type":"manual","name":"Campaign concepts","description":"Reusable campaign imagery","icon":"folder","color":"blue","cover_image_url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","character_identifier":null,"is_favorited":false,"filters":null,"created_at":"2026-05-23T20:00:00.000Z","updated_at":"2026-05-23T20:00:00.000Z"}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/collections/{collection_id}":{"get":{"operationId":"getAssetCollection","summary":"Get asset collection","description":"Get asset collection for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/collections/get","metadata":{"sidebarTitle":"Get Asset Collection"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Collection ID","example":"d8b6elcregj72v34jr8g"},"required":true,"description":"Collection ID","name":"collection_id","in":"path"}],"responses":{"200":{"description":"Collection details","content":{"application/json":{"schema":{"type":"object","properties":{"collection":{"type":"object","properties":{"id":{"type":"string","description":"Collection ID"},"type":{"type":"string","enum":["manual","smart","character"],"description":"Collection type"},"name":{"type":"string","description":"Collection display name"},"description":{"type":["string","null"],"description":"Collection description"},"icon":{"type":["string","null"],"description":"Optional collection icon"},"color":{"type":["string","null"],"description":"Optional collection color"},"cover_image_url":{"type":["string","null"],"description":"Optional cover image URL for the collection"},"character_identifier":{"type":["string","null"],"description":"Character @mention identifier for character collections"},"is_favorited":{"type":"boolean","description":"Whether the collection is favorited"},"filters":{"description":"Filter DSL backing smart and character collections"},"asset_count":{"type":["number","null"],"description":"Exact asset count when available; null for smart/character collections"},"created_at":{"type":"string","description":"Collection creation time"},"updated_at":{"type":"string","description":"Collection update time"}},"required":["id","type","name","description","icon","color","cover_image_url","character_identifier","is_favorited","created_at","updated_at"],"description":"Asset collection"}},"required":["collection"]},"example":{"collection":{"id":"d8b6elcregj72v34jr8g","type":"manual","name":"Campaign concepts","description":"Reusable campaign imagery","icon":"folder","color":"blue","cover_image_url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","character_identifier":null,"is_favorited":false,"filters":null,"created_at":"2026-05-23T20:00:00.000Z","updated_at":"2026-05-23T20:00:00.000Z"}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}},"patch":{"operationId":"updateAssetCollection","summary":"Update asset collection","description":"Update asset collection for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/collections/update","metadata":{"sidebarTitle":"Update Asset Collection"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Collection ID","example":"d8b6elcregj72v34jr8g"},"required":true,"description":"Collection ID","name":"collection_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255,"description":"Collection display name"},"description":{"type":["string","null"],"description":"Optional collection description"},"icon":{"type":["string","null"],"description":"Optional collection icon"},"color":{"type":["string","null"],"description":"Optional collection color"},"cover_image_url":{"type":["string","null"],"format":"uri","description":"Optional fal-hosted cover image URL for the collection"},"filters":{"description":"Assets filter DSL"}}},"example":{"name":"Updated campaign concepts","description":"Updated reusable campaign imagery"}}}},"responses":{"200":{"description":"Collection updated","content":{"application/json":{"schema":{"type":"object","properties":{"collection":{"type":"object","properties":{"id":{"type":"string","description":"Collection ID"},"type":{"type":"string","enum":["manual","smart","character"],"description":"Collection type"},"name":{"type":"string","description":"Collection display name"},"description":{"type":["string","null"],"description":"Collection description"},"icon":{"type":["string","null"],"description":"Optional collection icon"},"color":{"type":["string","null"],"description":"Optional collection color"},"cover_image_url":{"type":["string","null"],"description":"Optional cover image URL for the collection"},"character_identifier":{"type":["string","null"],"description":"Character @mention identifier for character collections"},"is_favorited":{"type":"boolean","description":"Whether the collection is favorited"},"filters":{"description":"Filter DSL backing smart and character collections"},"asset_count":{"type":["number","null"],"description":"Exact asset count when available; null for smart/character collections"},"created_at":{"type":"string","description":"Collection creation time"},"updated_at":{"type":"string","description":"Collection update time"}},"required":["id","type","name","description","icon","color","cover_image_url","character_identifier","is_favorited","created_at","updated_at"],"description":"Asset collection"}},"required":["collection"]},"example":{"collection":{"id":"d8b6elcregj72v34jr8g","type":"manual","name":"Campaign concepts","description":"Reusable campaign imagery","icon":"folder","color":"blue","cover_image_url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","character_identifier":null,"is_favorited":false,"filters":null,"created_at":"2026-05-23T20:00:00.000Z","updated_at":"2026-05-23T20:00:00.000Z"}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}},"delete":{"operationId":"deleteAssetCollection","summary":"Delete asset collection","description":"Delete asset collection for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/collections/delete","metadata":{"sidebarTitle":"Delete Asset Collection"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Collection ID","example":"d8b6elcregj72v34jr8g"},"required":true,"description":"Collection ID","name":"collection_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"responses":{"204":{"description":"Collection deleted"},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/collections/{collection_id}/favorite":{"post":{"operationId":"favoriteAssetCollection","summary":"Favorite asset collection","description":"Favorite an asset collection for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/collections/favorite","metadata":{"sidebarTitle":"Favorite Asset Collection"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Collection ID","example":"d8b6elcregj72v34jr8g"},"required":true,"description":"Collection ID","name":"collection_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"responses":{"200":{"description":"Collection favorited","content":{"application/json":{"schema":{"type":"object","properties":{"collection":{"type":"object","properties":{"id":{"type":"string","description":"Collection ID"},"type":{"type":"string","enum":["manual","smart","character"],"description":"Collection type"},"name":{"type":"string","description":"Collection display name"},"description":{"type":["string","null"],"description":"Collection description"},"icon":{"type":["string","null"],"description":"Optional collection icon"},"color":{"type":["string","null"],"description":"Optional collection color"},"cover_image_url":{"type":["string","null"],"description":"Optional cover image URL for the collection"},"character_identifier":{"type":["string","null"],"description":"Character @mention identifier for character collections"},"is_favorited":{"type":"boolean","description":"Whether the collection is favorited"},"filters":{"description":"Filter DSL backing smart and character collections"},"asset_count":{"type":["number","null"],"description":"Exact asset count when available; null for smart/character collections"},"created_at":{"type":"string","description":"Collection creation time"},"updated_at":{"type":"string","description":"Collection update time"}},"required":["id","type","name","description","icon","color","cover_image_url","character_identifier","is_favorited","created_at","updated_at"],"description":"Asset collection"}},"required":["collection"]},"example":{"collection":{"id":"d8b6elcregj72v34jr8g","type":"manual","name":"Campaign concepts","description":"Reusable campaign imagery","icon":"folder","color":"blue","cover_image_url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","character_identifier":null,"is_favorited":true,"filters":null,"created_at":"2026-05-23T20:00:00.000Z","updated_at":"2026-05-23T20:00:00.000Z"}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/collections/{collection_id}/unfavorite":{"post":{"operationId":"unfavoriteAssetCollection","summary":"Unfavorite asset collection","description":"Unfavorite an asset collection for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/collections/unfavorite","metadata":{"sidebarTitle":"Unfavorite Asset Collection"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Collection ID","example":"d8b6elcregj72v34jr8g"},"required":true,"description":"Collection ID","name":"collection_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"responses":{"200":{"description":"Collection unfavorited","content":{"application/json":{"schema":{"type":"object","properties":{"collection":{"type":"object","properties":{"id":{"type":"string","description":"Collection ID"},"type":{"type":"string","enum":["manual","smart","character"],"description":"Collection type"},"name":{"type":"string","description":"Collection display name"},"description":{"type":["string","null"],"description":"Collection description"},"icon":{"type":["string","null"],"description":"Optional collection icon"},"color":{"type":["string","null"],"description":"Optional collection color"},"cover_image_url":{"type":["string","null"],"description":"Optional cover image URL for the collection"},"character_identifier":{"type":["string","null"],"description":"Character @mention identifier for character collections"},"is_favorited":{"type":"boolean","description":"Whether the collection is favorited"},"filters":{"description":"Filter DSL backing smart and character collections"},"asset_count":{"type":["number","null"],"description":"Exact asset count when available; null for smart/character collections"},"created_at":{"type":"string","description":"Collection creation time"},"updated_at":{"type":"string","description":"Collection update time"}},"required":["id","type","name","description","icon","color","cover_image_url","character_identifier","is_favorited","created_at","updated_at"],"description":"Asset collection"}},"required":["collection"]},"example":{"collection":{"id":"d8b6elcregj72v34jr8g","type":"manual","name":"Campaign concepts","description":"Reusable campaign imagery","icon":"folder","color":"blue","cover_image_url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","character_identifier":null,"is_favorited":false,"filters":null,"created_at":"2026-05-23T20:00:00.000Z","updated_at":"2026-05-23T20:00:00.000Z"}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/collections/{collection_id}/assets":{"get":{"operationId":"listAssetCollectionAssets","summary":"Browse assets in a collection","description":"Browse assets in a collection for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/collections/assets","metadata":{"sidebarTitle":"Browse Collection Assets"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Collection ID","example":"d8b6elcregj72v34jr8g"},"required":true,"description":"Collection ID","name":"collection_id","in":"path"},{"schema":{"type":"integer","minimum":1,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","example":50},"required":false,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor from previous response. Encodes the page number.","example":"Mg=="},"required":false,"description":"Pagination cursor from previous response. Encodes the page number.","name":"cursor","in":"query"},{"schema":{"type":"string","description":"Text query for hybrid semantic search","example":"cinematic portrait"},"required":false,"description":"Text query for hybrid semantic search","name":"q","in":"query"},{"schema":{"type":"string","format":"uri","description":"fal-hosted image URL to use for semantic image search","example":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png"},"required":false,"description":"fal-hosted image URL to use for semantic image search","name":"search_image_url","in":"query"},{"schema":{"type":"string","format":"uri","description":"fal-hosted video URL to use for semantic video search","example":"https://fal.media/files/example.mp4"},"required":false,"description":"fal-hosted video URL to use for semantic video search","name":"search_video_url","in":"query"},{"schema":{"type":["array","null"],"items":{"type":"string","enum":["image","video","audio","3d"],"description":"Asset media type"},"default":[],"description":"Filter by one or more media types","example":["image","video"]},"required":false,"description":"Filter by one or more media types","name":"media_type","in":"query"},{"schema":{"type":["array","null"],"items":{"type":"string","enum":["upload","response","request"],"description":"Indexed asset source"},"default":[],"description":"Filter by one or more indexed sources","example":["upload","response"]},"required":false,"description":"Filter by one or more indexed sources","name":"source","in":"query"},{"schema":{"type":"string","enum":["all-media","uploads","favorites"],"default":"all-media","description":"Asset library section to browse","example":"all-media"},"required":false,"description":"Asset library section to browse","name":"section","in":"query"},{"schema":{"type":["array","null"],"items":{"type":"string"},"default":[],"description":"Character identifiers to use as @mention semantic filters","example":["alice"]},"required":false,"description":"Character identifiers to use as @mention semantic filters","name":"character_identifier","in":"query"},{"schema":{"type":["array","null"],"items":{"type":"string"},"default":[],"description":"Tag IDs to filter by","example":["43ce3411-1a25-4d14-875e-3562d341b090"]},"required":false,"description":"Tag IDs to filter by","name":"tag_id","in":"query"},{"schema":{"type":"string","enum":["any","all"],"default":"any","description":"Whether tag filters match any tag or all tags","example":"any"},"required":false,"description":"Whether tag filters match any tag or all tags","name":"tag_mode","in":"query"}],"responses":{"200":{"description":"Collection assets","content":{"application/json":{"schema":{"type":"object","properties":{"assets":{"type":"array","items":{"type":"object","properties":{"vector_id":{"type":"string","description":"Vector ID","example":"b1a2b4a5-cb89-51dc-a108-6dbfd8e742fc"},"request_id":{"type":["string","null"],"description":"Request ID","example":"019e6d0a-e5be-7b82-b329-35ae64296902"},"url":{"type":["string","null"],"description":"Media URL","example":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png"},"type":{"type":"string","enum":["image","video","audio","3d"],"description":"Asset media type"},"title":{"type":"string","description":"Display title","example":"Portrait"},"endpoint":{"type":["string","null"],"description":"Model endpoint that produced the asset","example":"fal-ai/flux/dev"},"created_at":{"type":["string","null"],"description":"Asset creation time","example":"2026-05-23T20:00:00.000Z"},"source":{"type":["string","null"],"description":"Asset source","example":"upload"},"prompt":{"type":["string","null"],"description":"Saved prompt or description","example":"cinematic portrait"},"width":{"type":["number","null"],"description":"Width in pixels","example":1024},"height":{"type":["number","null"],"description":"Height in pixels","example":1024},"content_type":{"type":["string","null"],"description":"Media content type","example":"image/png"},"is_favorited":{"type":"boolean","description":"Whether the asset is favorited","example":false},"collection_ids":{"type":"array","items":{"type":"string"},"description":"Collections containing this asset","example":["d8b6elcregj72v34jr8g"]},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Tag ID","example":"43ce3411-1a25-4d14-875e-3562d341b090"},"name":{"type":"string","description":"Tag name","example":"moodboard"},"created_at":{"type":["string","null"],"description":"Tag creation time","example":"2026-05-23T20:00:00.000Z"}},"required":["id","name","created_at"],"description":"Asset tag"},"description":"Assigned tags"},"similarity":{"type":["number","null"],"description":"Semantic similarity score when applicable","example":0.92}},"required":["vector_id","request_id","url","type","title","endpoint","created_at","source","prompt","width","height","content_type","is_favorited","collection_ids","tags","similarity"],"description":"Asset item"},"description":"Asset results"},"next_cursor":{"type":["string","null"],"description":"Cursor for the next page"},"has_more":{"type":"boolean","description":"Whether more results are available"},"total_count":{"type":["number","null"],"description":"Exact total when available; null when unavailable"}},"required":["assets","next_cursor","has_more","total_count"],"description":"Paginated asset browse response"},"example":{"assets":[{"vector_id":"b1a2b4a5-cb89-51dc-a108-6dbfd8e742fc","request_id":"019e6d0a-e5be-7b82-b329-35ae64296902","url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","type":"image","title":"Cinematic portrait","endpoint":"fal-ai/flux/dev","created_at":"2026-05-23T20:00:00.000Z","source":"upload","prompt":"cinematic portrait of a character","width":1024,"height":1024,"content_type":"image/png","is_favorited":false,"collection_ids":["d8b6elcregj72v34jr8g"],"tags":[{"id":"43ce3411-1a25-4d14-875e-3562d341b090","name":"moodboard","created_at":"2026-05-23T20:00:00.000Z"}],"similarity":0.92}],"next_cursor":null,"has_more":false,"total_count":1}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}},"post":{"operationId":"addAssetToCollection","summary":"Add asset to collection","description":"Add an asset to a manual or character collection. Provide a request ID or vector ID; unresolved references are materialized before local collection state is added. For character collections, the asset is added by applying the character tag.","x-mint":{"href":"/platform-apis/v1/assets/collections/assets/add","metadata":{"sidebarTitle":"Add Asset to Collection"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Collection ID","example":"d8b6elcregj72v34jr8g"},"required":true,"description":"Collection ID","name":"collection_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1,"description":"Request ID to save as an asset before mutating"},"vector_id":{"type":"string","minLength":1,"description":"Vector ID to save as an asset before mutating"}}},"example":{"request_id":"019e6d0a-e5be-7b82-b329-35ae64296902"}}}},"responses":{"200":{"description":"Asset added","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded","example":true}},"required":["success"]},"example":{"success":true}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}},"delete":{"operationId":"removeAssetFromCollection","summary":"Remove asset from collection","description":"Remove an asset from a manual or character collection by request ID or vector ID.","x-mint":{"href":"/platform-apis/v1/assets/collections/assets/remove","metadata":{"sidebarTitle":"Remove Asset from Collection"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Collection ID","example":"d8b6elcregj72v34jr8g"},"required":true,"description":"Collection ID","name":"collection_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1,"description":"Request ID to save as an asset before mutating"},"vector_id":{"type":"string","minLength":1,"description":"Vector ID to save as an asset before mutating"}}},"example":{"vector_id":"b1a2b4a5-cb89-51dc-a108-6dbfd8e742fc"}}}},"responses":{"204":{"description":"Asset removed"},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/characters":{"get":{"operationId":"listAssetCharacters","summary":"List asset characters","description":"List asset characters for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/characters","metadata":{"sidebarTitle":"List Asset Characters"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"maximum":100,"default":50,"description":"Maximum number of collections to return","example":50},"required":false,"description":"Maximum number of collections to return","name":"limit","in":"query"},{"schema":{"type":["integer","null"],"minimum":0,"default":0,"description":"Number of collections to skip","example":0},"required":false,"description":"Number of collections to skip","name":"offset","in":"query"}],"responses":{"200":{"description":"Characters","content":{"application/json":{"schema":{"type":"object","properties":{"characters":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Collection ID"},"type":{"type":"string","enum":["character"],"description":"Collection type"},"name":{"type":"string","description":"Collection display name"},"description":{"type":["string","null"],"description":"Collection description"},"icon":{"type":["string","null"],"description":"Optional collection icon"},"color":{"type":["string","null"],"description":"Optional collection color"},"cover_image_url":{"type":["string","null"],"description":"Optional cover image URL for the collection"},"character_identifier":{"type":["string","null"],"description":"Character @mention identifier for character collections"},"is_favorited":{"type":"boolean","description":"Whether the collection is favorited"},"asset_count":{"type":["number","null"],"description":"Exact asset count when available; null for smart/character collections"},"created_at":{"type":"string","description":"Collection creation time"},"updated_at":{"type":"string","description":"Collection update time"},"reference_images":{"type":"array","items":{"type":"string"},"description":"Reference images used for character matching"}},"required":["id","type","name","description","icon","color","cover_image_url","character_identifier","is_favorited","created_at","updated_at","reference_images"],"description":"Asset character"},"description":"Asset characters visible to the authenticated user"}},"required":["characters"]},"example":{"characters":[{"id":"d7tatpsregjaga2cf3d0","type":"character","name":"Alice","description":"A character with red hair and a blue jacket","icon":"folder","color":"blue","cover_image_url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","character_identifier":"alice","is_favorited":false,"created_at":"2026-05-23T20:00:00.000Z","updated_at":"2026-05-23T20:00:00.000Z","asset_count":null,"reference_images":["https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png"]}]}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}},"post":{"operationId":"createAssetCharacter","summary":"Create asset character","description":"Create an asset character for the authenticated user's fal Assets library. Prefer vector IDs or request IDs in reference_images for existing fal-generated assets; use fal-hosted image URLs only for standalone images. Unresolved ID references are materialized before character state is added.","x-mint":{"href":"/platform-apis/v1/assets/characters/create","metadata":{"sidebarTitle":"Create Asset Character"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255,"description":"Character display name"},"identifier":{"type":["string","null"],"maxLength":64,"description":"Optional @mention identifier for the character"},"description":{"type":"string","minLength":1,"maxLength":2000,"description":"Text description used for character semantic matching"},"reference_images":{"type":"array","items":{"type":"string","minLength":1},"minItems":1,"maxItems":20,"description":"Reference images for the character. Prefer vector IDs or request IDs for existing fal-generated assets. Use fal-hosted image URLs only for standalone images."},"cover_image_url":{"type":["string","null"],"format":"uri","description":"Optional fal-hosted cover image URL for the character"}},"required":["name","description","reference_images"]},"example":{"name":"Alice","identifier":"alice","description":"A character with red hair and a blue jacket","reference_images":["https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","019e6d0a-e5be-7b82-b329-35ae64296902"],"cover_image_url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png"}}}},"responses":{"201":{"description":"Character created","content":{"application/json":{"schema":{"type":"object","properties":{"character":{"type":"object","properties":{"id":{"type":"string","description":"Collection ID"},"type":{"type":"string","enum":["character"],"description":"Collection type"},"name":{"type":"string","description":"Collection display name"},"description":{"type":["string","null"],"description":"Collection description"},"icon":{"type":["string","null"],"description":"Optional collection icon"},"color":{"type":["string","null"],"description":"Optional collection color"},"cover_image_url":{"type":["string","null"],"description":"Optional cover image URL for the collection"},"character_identifier":{"type":["string","null"],"description":"Character @mention identifier for character collections"},"is_favorited":{"type":"boolean","description":"Whether the collection is favorited"},"asset_count":{"type":["number","null"],"description":"Exact asset count when available; null for smart/character collections"},"created_at":{"type":"string","description":"Collection creation time"},"updated_at":{"type":"string","description":"Collection update time"},"reference_images":{"type":"array","items":{"type":"string"},"description":"Reference images used for character matching"}},"required":["id","type","name","description","icon","color","cover_image_url","character_identifier","is_favorited","created_at","updated_at","reference_images"],"description":"Asset character"}},"required":["character"]},"example":{"character":{"id":"d7tatpsregjaga2cf3d0","type":"character","name":"Alice","description":"A character with red hair and a blue jacket","icon":"folder","color":"blue","cover_image_url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","character_identifier":"alice","is_favorited":false,"created_at":"2026-05-23T20:00:00.000Z","updated_at":"2026-05-23T20:00:00.000Z","asset_count":null,"reference_images":["https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png"]}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/characters/{character_id}":{"patch":{"operationId":"updateAssetCharacter","summary":"Update asset character","description":"Update an asset character for the authenticated user's fal Assets library. Prefer vector IDs or request IDs in reference_images for existing fal-generated assets; use fal-hosted image URLs only for standalone images. Unresolved ID references are materialized before character state is added.","x-mint":{"href":"/platform-apis/v1/assets/characters/update","metadata":{"sidebarTitle":"Update Asset Character"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Character collection ID","example":"d7tatpsregjaga2cf3d0"},"required":true,"description":"Character collection ID","name":"character_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255,"description":"Character display name"},"description":{"type":"string","minLength":1,"maxLength":2000,"description":"Text description used for character semantic matching"},"reference_images":{"type":"array","items":{"type":"string","minLength":1},"minItems":1,"maxItems":20,"description":"Reference images for the character. Prefer vector IDs or request IDs for existing fal-generated assets. Use fal-hosted image URLs only for standalone images."},"cover_image_url":{"type":["string","null"],"format":"uri","description":"Optional fal-hosted cover image URL for the character"}}},"example":{"name":"Alice","reference_images":["019e6d0a-e5be-7b82-b329-35ae64296902"]}}}},"responses":{"200":{"description":"Character updated","content":{"application/json":{"schema":{"type":"object","properties":{"character":{"type":"object","properties":{"id":{"type":"string","description":"Collection ID"},"type":{"type":"string","enum":["character"],"description":"Collection type"},"name":{"type":"string","description":"Collection display name"},"description":{"type":["string","null"],"description":"Collection description"},"icon":{"type":["string","null"],"description":"Optional collection icon"},"color":{"type":["string","null"],"description":"Optional collection color"},"cover_image_url":{"type":["string","null"],"description":"Optional cover image URL for the collection"},"character_identifier":{"type":["string","null"],"description":"Character @mention identifier for character collections"},"is_favorited":{"type":"boolean","description":"Whether the collection is favorited"},"asset_count":{"type":["number","null"],"description":"Exact asset count when available; null for smart/character collections"},"created_at":{"type":"string","description":"Collection creation time"},"updated_at":{"type":"string","description":"Collection update time"},"reference_images":{"type":"array","items":{"type":"string"},"description":"Reference images used for character matching"}},"required":["id","type","name","description","icon","color","cover_image_url","character_identifier","is_favorited","created_at","updated_at","reference_images"],"description":"Asset character"}},"required":["character"]},"example":{"character":{"id":"d7tatpsregjaga2cf3d0","type":"character","name":"Alice","description":"A character with red hair and a blue jacket","icon":"folder","color":"blue","cover_image_url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","character_identifier":"alice","is_favorited":false,"created_at":"2026-05-23T20:00:00.000Z","updated_at":"2026-05-23T20:00:00.000Z","asset_count":null,"reference_images":["https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png"]}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}},"get":{"operationId":"getAssetCharacter","summary":"Get asset character","description":"Get asset character for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/characters/get","metadata":{"sidebarTitle":"Get Asset Character"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Character collection ID","example":"d7tatpsregjaga2cf3d0"},"required":true,"description":"Character collection ID","name":"character_id","in":"path"}],"responses":{"200":{"description":"Character details","content":{"application/json":{"schema":{"type":"object","properties":{"character":{"type":"object","properties":{"id":{"type":"string","description":"Collection ID"},"type":{"type":"string","enum":["character"],"description":"Collection type"},"name":{"type":"string","description":"Collection display name"},"description":{"type":["string","null"],"description":"Collection description"},"icon":{"type":["string","null"],"description":"Optional collection icon"},"color":{"type":["string","null"],"description":"Optional collection color"},"cover_image_url":{"type":["string","null"],"description":"Optional cover image URL for the collection"},"character_identifier":{"type":["string","null"],"description":"Character @mention identifier for character collections"},"is_favorited":{"type":"boolean","description":"Whether the collection is favorited"},"asset_count":{"type":["number","null"],"description":"Exact asset count when available; null for smart/character collections"},"created_at":{"type":"string","description":"Collection creation time"},"updated_at":{"type":"string","description":"Collection update time"},"reference_images":{"type":"array","items":{"type":"string"},"description":"Reference images used for character matching"}},"required":["id","type","name","description","icon","color","cover_image_url","character_identifier","is_favorited","created_at","updated_at","reference_images"],"description":"Asset character"}},"required":["character"]},"example":{"character":{"id":"d7tatpsregjaga2cf3d0","type":"character","name":"Alice","description":"A character with red hair and a blue jacket","icon":"folder","color":"blue","cover_image_url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","character_identifier":"alice","is_favorited":false,"created_at":"2026-05-23T20:00:00.000Z","updated_at":"2026-05-23T20:00:00.000Z","asset_count":null,"reference_images":["https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png"]}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}},"delete":{"operationId":"deleteAssetCharacter","summary":"Delete asset character","description":"Delete asset character for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/characters/delete","metadata":{"sidebarTitle":"Delete Asset Character"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Character collection ID","example":"d7tatpsregjaga2cf3d0"},"required":true,"description":"Character collection ID","name":"character_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"responses":{"204":{"description":"Character deleted"},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/characters/{character_id}/favorite":{"post":{"operationId":"favoriteAssetCharacter","summary":"Favorite asset character","description":"Favorite an asset character for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/characters/favorite","metadata":{"sidebarTitle":"Favorite Asset Character"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Character collection ID","example":"d7tatpsregjaga2cf3d0"},"required":true,"description":"Character collection ID","name":"character_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"responses":{"200":{"description":"Character favorited","content":{"application/json":{"schema":{"type":"object","properties":{"character":{"type":"object","properties":{"id":{"type":"string","description":"Collection ID"},"type":{"type":"string","enum":["character"],"description":"Collection type"},"name":{"type":"string","description":"Collection display name"},"description":{"type":["string","null"],"description":"Collection description"},"icon":{"type":["string","null"],"description":"Optional collection icon"},"color":{"type":["string","null"],"description":"Optional collection color"},"cover_image_url":{"type":["string","null"],"description":"Optional cover image URL for the collection"},"character_identifier":{"type":["string","null"],"description":"Character @mention identifier for character collections"},"is_favorited":{"type":"boolean","description":"Whether the collection is favorited"},"asset_count":{"type":["number","null"],"description":"Exact asset count when available; null for smart/character collections"},"created_at":{"type":"string","description":"Collection creation time"},"updated_at":{"type":"string","description":"Collection update time"},"reference_images":{"type":"array","items":{"type":"string"},"description":"Reference images used for character matching"}},"required":["id","type","name","description","icon","color","cover_image_url","character_identifier","is_favorited","created_at","updated_at","reference_images"],"description":"Asset character"}},"required":["character"]},"example":{"character":{"id":"d7tatpsregjaga2cf3d0","type":"character","name":"Alice","description":"A character with red hair and a blue jacket","icon":"folder","color":"blue","cover_image_url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","character_identifier":"alice","is_favorited":true,"created_at":"2026-05-23T20:00:00.000Z","updated_at":"2026-05-23T20:00:00.000Z","asset_count":null,"reference_images":["https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png"]}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/characters/{character_id}/unfavorite":{"post":{"operationId":"unfavoriteAssetCharacter","summary":"Unfavorite asset character","description":"Unfavorite an asset character for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/characters/unfavorite","metadata":{"sidebarTitle":"Unfavorite Asset Character"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Character collection ID","example":"d7tatpsregjaga2cf3d0"},"required":true,"description":"Character collection ID","name":"character_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"responses":{"200":{"description":"Character unfavorited","content":{"application/json":{"schema":{"type":"object","properties":{"character":{"type":"object","properties":{"id":{"type":"string","description":"Collection ID"},"type":{"type":"string","enum":["character"],"description":"Collection type"},"name":{"type":"string","description":"Collection display name"},"description":{"type":["string","null"],"description":"Collection description"},"icon":{"type":["string","null"],"description":"Optional collection icon"},"color":{"type":["string","null"],"description":"Optional collection color"},"cover_image_url":{"type":["string","null"],"description":"Optional cover image URL for the collection"},"character_identifier":{"type":["string","null"],"description":"Character @mention identifier for character collections"},"is_favorited":{"type":"boolean","description":"Whether the collection is favorited"},"asset_count":{"type":["number","null"],"description":"Exact asset count when available; null for smart/character collections"},"created_at":{"type":"string","description":"Collection creation time"},"updated_at":{"type":"string","description":"Collection update time"},"reference_images":{"type":"array","items":{"type":"string"},"description":"Reference images used for character matching"}},"required":["id","type","name","description","icon","color","cover_image_url","character_identifier","is_favorited","created_at","updated_at","reference_images"],"description":"Asset character"}},"required":["character"]},"example":{"character":{"id":"d7tatpsregjaga2cf3d0","type":"character","name":"Alice","description":"A character with red hair and a blue jacket","icon":"folder","color":"blue","cover_image_url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","character_identifier":"alice","is_favorited":false,"created_at":"2026-05-23T20:00:00.000Z","updated_at":"2026-05-23T20:00:00.000Z","asset_count":null,"reference_images":["https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png"]}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/tags":{"get":{"operationId":"listAssetTags","summary":"List asset tags","description":"List asset tags for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/tags","metadata":{"sidebarTitle":"List Asset Tags"}},"tags":["Assets"],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Tags","content":{"application/json":{"schema":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Tag ID","example":"43ce3411-1a25-4d14-875e-3562d341b090"},"name":{"type":"string","description":"Tag name","example":"moodboard"},"created_at":{"type":["string","null"],"description":"Tag creation time","example":"2026-05-23T20:00:00.000Z"}},"required":["id","name","created_at"],"description":"Asset tag"},"description":"Asset tags"}},"required":["tags"]},"example":{"tags":[{"id":"43ce3411-1a25-4d14-875e-3562d341b090","name":"moodboard","created_at":"2026-05-23T20:00:00.000Z"}]}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}},"post":{"operationId":"createAssetTag","summary":"Create asset tag","description":"Create asset tag for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/tags/create","metadata":{"sidebarTitle":"Create Asset Tag"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"Tag name"}},"required":["name"]},"example":{"name":"moodboard"}}}},"responses":{"201":{"description":"Tag created","content":{"application/json":{"schema":{"type":"object","properties":{"tag":{"type":"object","properties":{"id":{"type":"string","description":"Tag ID","example":"43ce3411-1a25-4d14-875e-3562d341b090"},"name":{"type":"string","description":"Tag name","example":"moodboard"},"created_at":{"type":["string","null"],"description":"Tag creation time","example":"2026-05-23T20:00:00.000Z"}},"required":["id","name","created_at"],"description":"Asset tag"}},"required":["tag"]},"example":{"tag":{"id":"43ce3411-1a25-4d14-875e-3562d341b090","name":"moodboard","created_at":"2026-05-23T20:00:00.000Z"}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}},"put":{"operationId":"setAssetTagsForAsset","summary":"Set tags for an asset","description":"Set tags for an asset. Provide a request ID or vector ID; unresolved references are materialized before tag state is added.","x-mint":{"href":"/platform-apis/v1/assets/tags/set-for-asset","metadata":{"sidebarTitle":"Set Asset Tags"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1,"description":"Request ID to save as an asset before mutating"},"vector_id":{"type":"string","minLength":1,"description":"Vector ID to save as an asset before mutating"},"tag_ids":{"type":"array","items":{"type":"string"},"description":"Full replacement set of tag IDs"}},"required":["tag_ids"]},"example":{"request_id":"019e6d0a-e5be-7b82-b329-35ae64296902","tag_ids":["43ce3411-1a25-4d14-875e-3562d341b090"]}}}},"responses":{"200":{"description":"Asset tags","content":{"application/json":{"schema":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Tag ID","example":"43ce3411-1a25-4d14-875e-3562d341b090"},"name":{"type":"string","description":"Tag name","example":"moodboard"},"created_at":{"type":["string","null"],"description":"Tag creation time","example":"2026-05-23T20:00:00.000Z"}},"required":["id","name","created_at"],"description":"Asset tag"},"description":"Asset tags"}},"required":["tags"]},"example":{"tags":[{"id":"43ce3411-1a25-4d14-875e-3562d341b090","name":"moodboard","created_at":"2026-05-23T20:00:00.000Z"}]}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/tags/{tag_id}":{"patch":{"operationId":"updateAssetTag","summary":"Update asset tag","description":"Update asset tag for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/tags/update","metadata":{"sidebarTitle":"Update Asset Tag"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Tag ID","example":"43ce3411-1a25-4d14-875e-3562d341b090"},"required":true,"description":"Tag ID","name":"tag_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"Tag name"}}},"example":{"name":"campaign"}}}},"responses":{"200":{"description":"Tag updated","content":{"application/json":{"schema":{"type":"object","properties":{"tag":{"type":"object","properties":{"id":{"type":"string","description":"Tag ID","example":"43ce3411-1a25-4d14-875e-3562d341b090"},"name":{"type":"string","description":"Tag name","example":"moodboard"},"created_at":{"type":["string","null"],"description":"Tag creation time","example":"2026-05-23T20:00:00.000Z"}},"required":["id","name","created_at"],"description":"Asset tag"}},"required":["tag"]},"example":{"tag":{"id":"43ce3411-1a25-4d14-875e-3562d341b090","name":"moodboard","created_at":"2026-05-23T20:00:00.000Z"}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}},"delete":{"operationId":"deleteAssetTag","summary":"Delete asset tag","description":"Delete asset tag for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/tags/delete","metadata":{"sidebarTitle":"Delete Asset Tag"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Tag ID","example":"43ce3411-1a25-4d14-875e-3562d341b090"},"required":true,"description":"Tag ID","name":"tag_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"responses":{"204":{"description":"Tag deleted"},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/uploads":{"post":{"operationId":"uploadAsset","summary":"Upload asset","description":"Upload asset for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/uploads","metadata":{"sidebarTitle":"Upload Asset"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"fal-hosted media URL to ingest into the asset library"},"type":{"type":"string","enum":["image","video","audio","3d"],"description":"Media type for the uploaded asset"},"prompt":{"type":["string","null"],"minLength":1,"maxLength":2000,"description":"Optional caller-provided caption or description to index with the uploaded asset"},"collection_id":{"type":["string","null"],"description":"Optional manual collection ID to add the uploaded asset to"},"favorite":{"type":"boolean","default":false,"description":"Whether to favorite the uploaded asset immediately"},"tag_ids":{"type":"array","items":{"type":"string"},"default":[],"description":"Tag IDs to assign to the uploaded asset"}},"required":["url","type"]},"example":{"url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","type":"image","prompt":"Cinematic portrait of a character","collection_id":"d8b6elcregj72v34jr8g","favorite":true,"tag_ids":["43ce3411-1a25-4d14-875e-3562d341b090"]}}}},"responses":{"201":{"description":"Upload ingested","content":{"application/json":{"schema":{"type":"object","properties":{"asset":{"type":"object","properties":{"vector_id":{"type":"string","description":"Vector ID","example":"b1a2b4a5-cb89-51dc-a108-6dbfd8e742fc"},"request_id":{"type":["string","null"],"description":"Request ID","example":"019e6d0a-e5be-7b82-b329-35ae64296902"},"url":{"type":["string","null"],"description":"Media URL","example":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png"},"type":{"type":"string","enum":["image","video","audio","3d"],"description":"Asset media type"},"title":{"type":"string","description":"Display title","example":"Portrait"},"endpoint":{"type":["string","null"],"description":"Model endpoint that produced the asset","example":"fal-ai/flux/dev"},"created_at":{"type":["string","null"],"description":"Asset creation time","example":"2026-05-23T20:00:00.000Z"},"source":{"type":["string","null"],"description":"Asset source","example":"upload"},"prompt":{"type":["string","null"],"description":"Saved prompt or description","example":"cinematic portrait"},"width":{"type":["number","null"],"description":"Width in pixels","example":1024},"height":{"type":["number","null"],"description":"Height in pixels","example":1024},"content_type":{"type":["string","null"],"description":"Media content type","example":"image/png"},"is_favorited":{"type":"boolean","description":"Whether the asset is favorited","example":false},"collection_ids":{"type":"array","items":{"type":"string"},"description":"Collections containing this asset","example":["d8b6elcregj72v34jr8g"]},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Tag ID","example":"43ce3411-1a25-4d14-875e-3562d341b090"},"name":{"type":"string","description":"Tag name","example":"moodboard"},"created_at":{"type":["string","null"],"description":"Tag creation time","example":"2026-05-23T20:00:00.000Z"}},"required":["id","name","created_at"],"description":"Asset tag"},"description":"Assigned tags"},"similarity":{"type":["number","null"],"description":"Semantic similarity score when applicable","example":0.92}},"required":["vector_id","request_id","url","type","title","endpoint","created_at","source","prompt","width","height","content_type","is_favorited","collection_ids","tags","similarity"],"description":"Asset details"}},"required":["asset"]},"example":{"asset":{"vector_id":"b1a2b4a5-cb89-51dc-a108-6dbfd8e742fc","request_id":"019e6d0a-e5be-7b82-b329-35ae64296902","url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","type":"image","title":"Cinematic portrait","endpoint":"fal-ai/flux/dev","created_at":"2026-05-23T20:00:00.000Z","source":"upload","prompt":"cinematic portrait of a character","width":1024,"height":1024,"content_type":"image/png","is_favorited":false,"collection_ids":["d8b6elcregj72v34jr8g"],"tags":[{"id":"43ce3411-1a25-4d14-875e-3562d341b090","name":"moodboard","created_at":"2026-05-23T20:00:00.000Z"}],"similarity":0.92}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/{vector_id}":{"get":{"operationId":"getAsset","summary":"Get asset","description":"Get an asset document by vector ID from the authenticated user's fal Assets library. The vector may exist only in Turbopuffer; in that case the response returns the Turbopuffer document with empty local state.","x-mint":{"href":"/platform-apis/v1/assets/get","metadata":{"sidebarTitle":"Get Asset"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Vector ID","example":"b1a2b4a5-cb89-51dc-a108-6dbfd8e742fc"},"required":true,"description":"Vector ID","name":"vector_id","in":"path"}],"responses":{"200":{"description":"Asset details","content":{"application/json":{"schema":{"type":"object","properties":{"asset":{"type":"object","properties":{"vector_id":{"type":"string","description":"Vector ID","example":"b1a2b4a5-cb89-51dc-a108-6dbfd8e742fc"},"request_id":{"type":["string","null"],"description":"Request ID","example":"019e6d0a-e5be-7b82-b329-35ae64296902"},"url":{"type":["string","null"],"description":"Media URL","example":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png"},"type":{"type":"string","enum":["image","video","audio","3d"],"description":"Asset media type"},"title":{"type":"string","description":"Display title","example":"Portrait"},"endpoint":{"type":["string","null"],"description":"Model endpoint that produced the asset","example":"fal-ai/flux/dev"},"created_at":{"type":["string","null"],"description":"Asset creation time","example":"2026-05-23T20:00:00.000Z"},"source":{"type":["string","null"],"description":"Asset source","example":"upload"},"prompt":{"type":["string","null"],"description":"Saved prompt or description","example":"cinematic portrait"},"width":{"type":["number","null"],"description":"Width in pixels","example":1024},"height":{"type":["number","null"],"description":"Height in pixels","example":1024},"content_type":{"type":["string","null"],"description":"Media content type","example":"image/png"},"is_favorited":{"type":"boolean","description":"Whether the asset is favorited","example":false},"collection_ids":{"type":"array","items":{"type":"string"},"description":"Collections containing this asset","example":["d8b6elcregj72v34jr8g"]},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Tag ID","example":"43ce3411-1a25-4d14-875e-3562d341b090"},"name":{"type":"string","description":"Tag name","example":"moodboard"},"created_at":{"type":["string","null"],"description":"Tag creation time","example":"2026-05-23T20:00:00.000Z"}},"required":["id","name","created_at"],"description":"Asset tag"},"description":"Assigned tags"},"similarity":{"type":["number","null"],"description":"Semantic similarity score when applicable","example":0.92}},"required":["vector_id","request_id","url","type","title","endpoint","created_at","source","prompt","width","height","content_type","is_favorited","collection_ids","tags","similarity"],"description":"Asset details"}},"required":["asset"]},"example":{"asset":{"vector_id":"b1a2b4a5-cb89-51dc-a108-6dbfd8e742fc","request_id":"019e6d0a-e5be-7b82-b329-35ae64296902","url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","type":"image","title":"Cinematic portrait","endpoint":"fal-ai/flux/dev","created_at":"2026-05-23T20:00:00.000Z","source":"upload","prompt":"cinematic portrait of a character","width":1024,"height":1024,"content_type":"image/png","is_favorited":false,"collection_ids":["d8b6elcregj72v34jr8g"],"tags":[{"id":"43ce3411-1a25-4d14-875e-3562d341b090","name":"moodboard","created_at":"2026-05-23T20:00:00.000Z"}],"similarity":0.92}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/favorite":{"post":{"operationId":"favoriteAsset","summary":"Favorite asset","description":"Favorite an asset. Provide a request ID or vector ID; unresolved references are materialized before favorite state is added.","x-mint":{"href":"/platform-apis/v1/assets/favorite","metadata":{"sidebarTitle":"Favorite Asset"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1,"description":"Request ID to save as an asset before mutating"},"vector_id":{"type":"string","minLength":1,"description":"Vector ID to save as an asset before mutating"}}},"example":{"request_id":"019e6d0a-e5be-7b82-b329-35ae64296902"}}}},"responses":{"200":{"description":"Asset favorited","content":{"application/json":{"schema":{"type":"object","properties":{"is_favorited":{"type":"boolean","description":"Whether the asset is now favorited"}},"required":["is_favorited"]},"example":{"is_favorited":true}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/unfavorite":{"post":{"operationId":"unfavoriteAsset","summary":"Unfavorite asset","description":"Unfavorite an asset by request ID or vector ID.","x-mint":{"href":"/platform-apis/v1/assets/unfavorite","metadata":{"sidebarTitle":"Unfavorite Asset"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1,"description":"Request ID to save as an asset before mutating"},"vector_id":{"type":"string","minLength":1,"description":"Vector ID to save as an asset before mutating"}}},"example":{"vector_id":"b1a2b4a5-cb89-51dc-a108-6dbfd8e742fc"}}}},"responses":{"200":{"description":"Asset unfavorited","content":{"application/json":{"schema":{"type":"object","properties":{"is_favorited":{"type":"boolean","description":"Whether the asset is now favorited"}},"required":["is_favorited"]},"example":{"is_favorited":false}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/{vector_id}/tags":{"get":{"operationId":"listAssetTagsForAsset","summary":"List tags for an asset","description":"List tags for an asset by vector ID. Vectors that have not been saved as assets return an empty tag list.","x-mint":{"href":"/platform-apis/v1/assets/tags/list-for-asset","metadata":{"sidebarTitle":"List Asset Tags"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Vector ID","example":"b1a2b4a5-cb89-51dc-a108-6dbfd8e742fc"},"required":true,"description":"Vector ID","name":"vector_id","in":"path"}],"responses":{"200":{"description":"Asset tags","content":{"application/json":{"schema":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Tag ID","example":"43ce3411-1a25-4d14-875e-3562d341b090"},"name":{"type":"string","description":"Tag name","example":"moodboard"},"created_at":{"type":["string","null"],"description":"Tag creation time","example":"2026-05-23T20:00:00.000Z"}},"required":["id","name","created_at"],"description":"Asset tag"},"description":"Asset tags"}},"required":["tags"]},"example":{"tags":[{"id":"43ce3411-1a25-4d14-875e-3562d341b090","name":"moodboard","created_at":"2026-05-23T20:00:00.000Z"}]}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/tags/{tag_id}/assign":{"post":{"operationId":"assignAssetTag","summary":"Assign tag to asset","description":"Assign a tag to an asset. Provide a request ID or vector ID; unresolved references are materialized before tag state is added.","x-mint":{"href":"/platform-apis/v1/assets/tags/assign","metadata":{"sidebarTitle":"Assign Asset Tag"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Tag ID","example":"43ce3411-1a25-4d14-875e-3562d341b090"},"required":true,"description":"Tag ID","name":"tag_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1,"description":"Request ID to save as an asset before mutating"},"vector_id":{"type":"string","minLength":1,"description":"Vector ID to save as an asset before mutating"}}},"example":{"request_id":"019e6d0a-e5be-7b82-b329-35ae64296902"}}}},"responses":{"200":{"description":"Tag assigned","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded","example":true}},"required":["success"]},"example":{"success":true}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}},"delete":{"operationId":"unassignAssetTag","summary":"Unassign tag from asset","description":"Unassign a tag from an asset by request ID or vector ID.","x-mint":{"href":"/platform-apis/v1/assets/tags/unassign","metadata":{"sidebarTitle":"Unassign Asset Tag"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Tag ID","example":"43ce3411-1a25-4d14-875e-3562d341b090"},"required":true,"description":"Tag ID","name":"tag_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1,"description":"Request ID to save as an asset before mutating"},"vector_id":{"type":"string","minLength":1,"description":"Vector ID to save as an asset before mutating"}}},"example":{"vector_id":"b1a2b4a5-cb89-51dc-a108-6dbfd8e742fc"}}}},"responses":{"204":{"description":"Tag unassigned"},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/serverless/analytics":{"get":{"operationId":"serverlessGetAnalytics","summary":"Analytics","x-mint":{"href":"/platform-apis/v1/serverless/analytics","metadata":{"sidebarTitle":"Analytics"}},"description":"\nTime-bucketed metrics for your serverless app endpoints, including request counts,\nsuccess/error rates, and latency percentiles across all inbound traffic.\n`prepare_duration` reflects queue/prepare time before execution;\n`duration` is request execution time.\n\nThis endpoint shows all inbound requests to endpoints you own — not just\nyour own calls. This is ideal for monitoring your deployed apps, tracking\nSLAs, and exporting data to tools like BigQuery or Grafana. You must own\nall requested endpoints; returns 403 otherwise.\n\n**Metric Selection:**\nYou must specify which metrics to include using the `expand` query\nparameter. Only requested metrics will be populated in the response,\nallowing you to optimize query performance and data transfer.\n\n**Available Metrics:**\n\nThe `expand` parameter accepts these values, grouped by category:\n\n*Volume*\n- `request_count`: Total number of requests in the time bucket\n- `success_count`: Successful requests (2xx responses)\n- `user_error_count`: User errors (4xx responses)\n- `error_count`: Server errors (5xx responses)\n\n*Error type breakdown*\n- `startup_error_count`: Startup errors (startup timeout, scheduling failure)\n- `connection_error_count`: Connection errors (timeout, disconnected, refused)\n- `timeout_error_count`: Request timeout errors\n- `runtime_error_count`: Runtime errors (internal error, server error)\n\n*Queue / prepare latency*\n- `p50_prepare_duration`, `p75_prepare_duration`, `p90_prepare_duration`, `p95_prepare_duration`, `p99_prepare_duration`: Time from request submission until execution starts\n\n*Request execution latency*\n- `p25_duration`, `p50_duration`, `p75_duration`, `p90_duration`, `p95_duration`, `p99_duration`: Time spent processing the request\n\n*Cold boot*\n- `cold_boot_count`: Requests with cold boot (startup > 1s)\n- `p50_cold_boot_duration`, `p75_cold_boot_duration`, `p90_cold_boot_duration`: Cold boot duration percentiles\n\n*Billing*\n- `total_billable_duration`: Aggregate billed execution time\n\n**Key Features:**\n- See all traffic to your apps across all callers\n- Selective metric inclusion via expand parameter\n- Performance metrics (latency percentiles, duration stats)\n- Reliability metrics (success/error rates, request counts)\n- Error type breakdown (startup, connection, timeout, runtime)\n- Cold boot metrics (count, latency percentiles)\n- Billing duration tracking\n- Time-bucketed data for trend analysis\n- Flexible date range and timeframe options\n\n**Common Use Cases:**\n- Monitor your serverless app performance and reliability\n- Export analytics to your own observability tools\n- Analyze latency trends across all callers\n- Track error rates and SLA compliance\n ","tags":["Serverless","Analytics"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","example":50},"required":false,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor from previous response. Encodes the page number.","example":"Mg=="},"required":false,"description":"Pagination cursor from previous response. Encodes the page number.","name":"cursor","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","example":"2025-01-01T00:00:00Z"},"required":false,"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","name":"start","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","example":"2025-02-01T00:00:00Z"},"required":false,"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","name":"end","in":"query"},{"schema":{"type":"string","default":"UTC","description":"Timezone for date aggregation and boundaries. All timestamps in responses are in UTC, but this controls how dates are bucketed.","example":"UTC"},"required":false,"description":"Timezone for date aggregation and boundaries. All timestamps in responses are in UTC, but this controls how dates are bucketed.","name":"timezone","in":"query"},{"schema":{"type":"string","enum":["minute","hour","day","week","month"],"description":"Aggregation timeframe for timeseries data (auto-detected from date range if not specified). Auto-detection uses: minute (<2h), hour (<2d), day (<64d), week (<183d), month (>=183d).","example":"day"},"required":false,"description":"Aggregation timeframe for timeseries data (auto-detected from date range if not specified). Auto-detection uses: minute (<2h), hour (<2d), day (<64d), week (<183d), month (>=183d).","name":"timeframe","in":"query"},{"schema":{"type":"string","enum":["true","false"],"default":"true","description":"Whether to adjust start/end dates to align with timeframe boundaries and use exclusive end. Defaults to true. When true, dates are aligned to the start of the timeframe period (e.g., start of day) and end is made exclusive (e.g., start of next day). When false, uses exact dates provided.","example":"true"},"required":false,"description":"Whether to adjust start/end dates to align with timeframe boundaries and use exclusive end. Defaults to true. When true, dates are aligned to the start of the timeframe period (e.g., start of day) and end is made exclusive (e.g., start of next day). When false, uses exact dates provided.","name":"bound_to_timeframe","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","example":["fal-ai/flux/dev"]},"required":true,"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","name":"endpoint_id","style":"form","explode":true,"in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"default":["time_series","request_count"],"description":"Data and metrics to include in the response. Use 'time_series' for time-bucketed data, metric names for specific metrics in time series, and 'summary' for aggregate statistics. At least one of 'time_series' or 'summary' and at least one metric are required.","example":["request_count","success_count"]},"required":false,"description":"Data and metrics to include in the response. Use 'time_series' for time-bucketed data, metric names for specific metrics in time series, and 'summary' for aggregate statistics. At least one of 'time_series' or 'summary' and at least one metric are required.","name":"expand","style":"form","explode":true,"in":"query"}],"responses":{"200":{"description":"Analytics data retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results, null if no more pages"},"has_more":{"type":"boolean","description":"Boolean indicating if more results are available (convenience field derived from next_cursor)"},"time_series":{"type":"array","items":{"type":"object","properties":{"bucket":{"type":"string","description":"Time bucket timestamp in user's timezone with offset (ISO8601 datetime)"},"results":{"type":"array","items":{"type":"object","properties":{"endpoint_id":{"type":"string","description":"Endpoint identifier for these statistics"},"request_count":{"type":"integer","minimum":0,"description":"Total number of requests"},"success_count":{"type":"integer","minimum":0,"description":"Number of successful requests (2xx responses)"},"user_error_count":{"type":"integer","minimum":0,"description":"Number of user errors (4xx responses)"},"error_count":{"type":"integer","minimum":0,"description":"Number of server errors (5xx responses)"},"p50_prepare_duration":{"type":"number","minimum":0,"description":"50th percentile queue/prepare time before execution in seconds"},"p75_prepare_duration":{"type":"number","minimum":0,"description":"75th percentile queue/prepare time before execution in seconds"},"p90_prepare_duration":{"type":"number","minimum":0,"description":"90th percentile queue/prepare time before execution in seconds"},"p95_prepare_duration":{"type":"number","minimum":0,"description":"95th percentile queue/prepare time before execution in seconds"},"p99_prepare_duration":{"type":"number","minimum":0,"description":"99th percentile queue/prepare time before execution in seconds"},"p50_duration":{"type":"number","minimum":0,"description":"50th percentile request execution duration in seconds"},"p75_duration":{"type":"number","minimum":0,"description":"75th percentile request execution duration in seconds"},"p90_duration":{"type":"number","minimum":0,"description":"90th percentile request execution duration in seconds"},"p25_duration":{"type":"number","minimum":0,"description":"25th percentile request execution duration in seconds"},"p95_duration":{"type":"number","minimum":0,"description":"95th percentile request execution duration in seconds"},"p99_duration":{"type":"number","minimum":0,"description":"99th percentile request execution duration in seconds"},"startup_error_count":{"type":"integer","minimum":0,"description":"Number of startup errors (startup timeout, scheduling failure)"},"connection_error_count":{"type":"integer","minimum":0,"description":"Number of connection errors (connection timeout, disconnected, refused)"},"timeout_error_count":{"type":"integer","minimum":0,"description":"Number of request timeout errors"},"runtime_error_count":{"type":"integer","minimum":0,"description":"Number of runtime errors (internal error, server error)"},"cold_boot_count":{"type":"integer","minimum":0,"description":"Number of requests with cold boot (startup time > 1 second)"},"p50_cold_boot_duration":{"type":"number","minimum":0,"description":"50th percentile cold boot duration in seconds (only cold starts)"},"p75_cold_boot_duration":{"type":"number","minimum":0,"description":"75th percentile cold boot duration in seconds (only cold starts)"},"p90_cold_boot_duration":{"type":"number","minimum":0,"description":"90th percentile cold boot duration in seconds (only cold starts)"},"total_billable_duration":{"type":"number","minimum":0,"description":"Total billable execution duration in seconds (sum of all request durations)"}},"required":["endpoint_id"],"description":"Performance and reliability analytics. Only requested metrics (via expand parameter) will be present in the response. 'prepare_duration' reflects queue/prepare time before execution; 'duration' is request execution time."},"description":"Analytics records for this time bucket"}},"required":["bucket","results"],"description":"Time bucket with grouped analytics records"},"description":"Time series analytics data grouped by time bucket (when expand includes 'time_series'). Each bucket contains all analytics records for that time period."},"summary":{"type":"array","items":{"type":"object","properties":{"endpoint_id":{"type":"string","description":"Endpoint identifier for these statistics"},"request_count":{"type":"integer","minimum":0,"description":"Total number of requests"},"success_count":{"type":"integer","minimum":0,"description":"Number of successful requests (2xx responses)"},"user_error_count":{"type":"integer","minimum":0,"description":"Number of user errors (4xx responses)"},"error_count":{"type":"integer","minimum":0,"description":"Number of server errors (5xx responses)"},"p50_prepare_duration":{"type":"number","minimum":0,"description":"50th percentile queue/prepare time before execution in seconds"},"p75_prepare_duration":{"type":"number","minimum":0,"description":"75th percentile queue/prepare time before execution in seconds"},"p90_prepare_duration":{"type":"number","minimum":0,"description":"90th percentile queue/prepare time before execution in seconds"},"p95_prepare_duration":{"type":"number","minimum":0,"description":"95th percentile queue/prepare time before execution in seconds"},"p99_prepare_duration":{"type":"number","minimum":0,"description":"99th percentile queue/prepare time before execution in seconds"},"p50_duration":{"type":"number","minimum":0,"description":"50th percentile request execution duration in seconds"},"p75_duration":{"type":"number","minimum":0,"description":"75th percentile request execution duration in seconds"},"p90_duration":{"type":"number","minimum":0,"description":"90th percentile request execution duration in seconds"},"p25_duration":{"type":"number","minimum":0,"description":"25th percentile request execution duration in seconds"},"p95_duration":{"type":"number","minimum":0,"description":"95th percentile request execution duration in seconds"},"p99_duration":{"type":"number","minimum":0,"description":"99th percentile request execution duration in seconds"},"startup_error_count":{"type":"integer","minimum":0,"description":"Number of startup errors (startup timeout, scheduling failure)"},"connection_error_count":{"type":"integer","minimum":0,"description":"Number of connection errors (connection timeout, disconnected, refused)"},"timeout_error_count":{"type":"integer","minimum":0,"description":"Number of request timeout errors"},"runtime_error_count":{"type":"integer","minimum":0,"description":"Number of runtime errors (internal error, server error)"},"cold_boot_count":{"type":"integer","minimum":0,"description":"Number of requests with cold boot (startup time > 1 second)"},"p50_cold_boot_duration":{"type":"number","minimum":0,"description":"50th percentile cold boot duration in seconds (only cold starts)"},"p75_cold_boot_duration":{"type":"number","minimum":0,"description":"75th percentile cold boot duration in seconds (only cold starts)"},"p90_cold_boot_duration":{"type":"number","minimum":0,"description":"90th percentile cold boot duration in seconds (only cold starts)"},"total_billable_duration":{"type":"number","minimum":0,"description":"Total billable execution duration in seconds (sum of all request durations)"}},"required":["endpoint_id"],"description":"Aggregate performance statistics for the entire date range"},"description":"Aggregate statistics (when expand includes 'summary')"}},"required":["next_cursor","has_more"],"description":"Response containing performance analytics with pagination support"},"example":{"time_series":[{"bucket":"2025-01-15T12:00:00-05:00","results":[{"endpoint_id":"your-username/your-app","request_count":1500,"success_count":1450,"p50_duration":2.5,"p90_duration":4.8}]}],"next_cursor":null,"has_more":false}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/serverless/apps/{owner}/{name}/queue":{"get":{"operationId":"serverlessGetAppQueueInfo","summary":"Queue Size","x-mint":{"href":"/platform-apis/v1/serverless/apps/queue","metadata":{"sidebarTitle":"Queue Size"}},"description":"Retrieves the current queue size for a specific application.","tags":["Serverless","Apps"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","description":"Username of the app owner","example":"user_123"},"required":true,"description":"Username of the app owner","name":"owner","in":"path"},{"schema":{"type":"string","description":"Application name","example":"my-app"},"required":true,"description":"Application name","name":"name","in":"path"}],"responses":{"200":{"description":"Successfully retrieved queue information","content":{"application/json":{"schema":{"type":"object","properties":{"queue_size":{"type":"integer","minimum":0,"description":"Current number of requests in the queue","example":5}},"required":["queue_size"],"additionalProperties":false,"description":"Status of the app queue"},"example":{"queue_size":5}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}},"delete":{"operationId":"serverlessFlushAppQueue","summary":"Flush Application Queue","x-mint":{"href":"/platform-apis/v1/serverless/apps/flush-queue"},"description":"Flushes all pending requests from an application's queue.\n\n**Authentication:** Required via API key\n\n**Idempotency:**\n- Optional `Idempotency-Key` header prevents duplicate flushes on retries\n- Responses cached for 10 minutes per unique key\n\n**Use Cases:**\n- Clear stuck or outdated requests from the queue\n- Reset queue state during development or testing\n- Cancel all pending requests for an application\n\n**Important:**\n- This operation is irreversible\n- All pending requests in the queue will be cancelled\n- Requests already being processed will not be affected","tags":["Serverless","Apps"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","description":"Username of the app owner","example":"user_123"},"required":true,"description":"Username of the app owner","name":"owner","in":"path"},{"schema":{"type":"string","description":"Application name","example":"my-app"},"required":true,"description":"Application name","name":"name","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"responses":{"204":{"description":"Queue flushed successfully"},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/serverless/files/list":{"get":{"operationId":"serverlessListRoot","summary":"List files (root)","x-mint":{"href":"/platform-apis/v1/serverless/files/list","metadata":{"sidebarTitle":"List Files (Root)"}},"description":"Lists files and folders in the root of your project storage.","tags":["Serverless","Files"],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Successfully listed files","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","description":"Full file or folder path","example":"datasets/images/cat.jpg"},"name":{"type":"string","description":"Base name of the file or folder","example":"cat.jpg"},"created_time":{"type":"string","format":"date-time","description":"Creation timestamp (UTC ISO 8601)","example":"2024-11-08T00:00:00.000Z"},"updated_time":{"type":"string","format":"date-time","description":"Last update timestamp (UTC ISO 8601)","example":"2024-11-09T00:00:00.000Z"},"is_file":{"type":"boolean","description":"True if this item is a file, false if it is a folder","example":true},"size":{"type":"number","description":"File size in bytes (0 for folders)","example":1250023},"checksum_sha256":{"type":"string","description":"Optional SHA256 checksum","example":"b1946ac92492d2347c6235b4d2611184d5c3f1f0f44aa7b27d3b1d5b0f5a6a11"},"checksum_md5":{"type":"string","description":"Optional MD5 checksum","example":"9e107d9d372bb6826bd81d3542a419d6"}},"required":["path","name","created_time","updated_time","is_file","size"],"additionalProperties":false,"description":"File or folder specification"},"description":"Array of files and folders for the requested directory"},"example":[{"path":"datasets","name":"datasets","created_time":"2024-11-08T00:00:00.000Z","updated_time":"2024-11-09T00:00:00.000Z","is_file":false,"size":0}]}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/serverless/files/list/{dir}":{"get":{"operationId":"serverlessListDirectory","summary":"List files (directory)","x-mint":{"href":"/platform-apis/v1/serverless/files/list/directory"},"description":"Lists files and folders within the specified directory path.","tags":["Serverless","Files"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","description":"Directory path to list","example":"datasets/images"},"required":true,"description":"Directory path to list","name":"dir","in":"path"}],"responses":{"200":{"description":"Successfully listed files","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","description":"Full file or folder path","example":"datasets/images/cat.jpg"},"name":{"type":"string","description":"Base name of the file or folder","example":"cat.jpg"},"created_time":{"type":"string","format":"date-time","description":"Creation timestamp (UTC ISO 8601)","example":"2024-11-08T00:00:00.000Z"},"updated_time":{"type":"string","format":"date-time","description":"Last update timestamp (UTC ISO 8601)","example":"2024-11-09T00:00:00.000Z"},"is_file":{"type":"boolean","description":"True if this item is a file, false if it is a folder","example":true},"size":{"type":"number","description":"File size in bytes (0 for folders)","example":1250023},"checksum_sha256":{"type":"string","description":"Optional SHA256 checksum","example":"b1946ac92492d2347c6235b4d2611184d5c3f1f0f44aa7b27d3b1d5b0f5a6a11"},"checksum_md5":{"type":"string","description":"Optional MD5 checksum","example":"9e107d9d372bb6826bd81d3542a419d6"}},"required":["path","name","created_time","updated_time","is_file","size"],"additionalProperties":false,"description":"File or folder specification"},"description":"Array of files and folders for the requested directory"},"examples":{"success":{"value":[{"path":"datasets/images/cat.jpg","name":"cat.jpg","created_time":"2024-11-08T00:00:00.000Z","updated_time":"2024-11-09T00:00:00.000Z","is_file":true,"size":1250023,"checksum_sha256":"b1946ac92492d2347c6235b4d2611184d5c3f1f0f44aa7b27d3b1d5b0f5a6a11"}],"summary":"Directory listing"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/serverless/files/file/{file}":{"get":{"operationId":"serverlessDownloadFile","summary":"Download file","x-mint":{"href":"/platform-apis/v1/serverless/files/file/download"},"description":"Downloads a file by its path. Proxies the underlying storage response.","tags":["Serverless","Files"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","description":"Path of the file to download","example":"datasets/images/cat.jpg"},"required":true,"description":"Path of the file to download","name":"file","in":"path"}],"responses":{"200":{"description":"File stream","content":{"application/octet-stream":{"schema":{}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/serverless/files/file/url/{file}":{"post":{"operationId":"serverlessUploadFromUrl","summary":"Upload file from URL","x-mint":{"href":"/platform-apis/v1/serverless/files/file/upload-from-url"},"description":"Creates a new file at the target path by downloading it from the provided URL.","tags":["Serverless","Files"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","description":"Target file path (including filename)","example":"datasets/images/cat.jpg"},"required":true,"description":"Target file path (including filename)","name":"file","in":"path"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Publicly accessible URL for the file"}},"required":["url"],"additionalProperties":false,"description":"Upload a file from a URL into the target path"},"example":{"url":"https://example.com/cat.jpg"}}}},"responses":{"200":{"description":"Upload initiated","content":{"application/json":{"schema":{"type":"boolean","description":"Indicates whether the operation was successful"},"example":true}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/serverless/files/file/local/{target_path}":{"post":{"operationId":"serverlessUploadLocalFile","summary":"Upload local file (multipart/form-data)","x-mint":{"href":"/platform-apis/v1/serverless/files/file/upload-local"},"description":"Uploads a local file using multipart/form-data. The file field name must be `file_upload`.","tags":["Serverless","Files"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","description":"Target path (including filename)","example":"datasets/images/cat.jpg"},"required":true,"description":"Target path (including filename)","name":"target_path","in":"path"},{"schema":{"type":["boolean","null"],"default":false,"description":"If true and the uploaded file is a ZIP, it will be extracted","example":false},"required":false,"description":"If true and the uploaded file is a ZIP, it will be extracted","name":"unzip","in":"query"}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file_upload":{"description":"Binary file content"}},"additionalProperties":false}}}},"responses":{"200":{"description":"Upload completed","content":{"application/json":{"schema":{"type":"boolean","description":"Indicates whether the operation was successful"},"example":true}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/serverless/metrics":{"get":{"operationId":"serverlessGetMetrics","summary":"Metrics","x-mint":{"href":"/platform-apis/v1/serverless/metrics","metadata":{"sidebarTitle":"Prometheus Metrics"}},"description":"\nReturns Prometheus-compatible metrics in text format for integration into your\nobservability stack\n\n**Authentication:** Required - Uses API key authentication\n\n**Format:** Returns text/plain in Prometheus exposition format\n\n**Common Use Cases:**\n- Export app stats to your observability provider (grafana, datadog etc)\n- Track runner health and performance\n- Set up alerts and monitoring\n\nSee [Prometheus documentation](https://prometheus.io/docs/instrumenting/exposition_formats/) for format details.\n ","tags":["Serverless","Metrics","Observability"],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Prometheus-compatible metrics retrieved successfully","content":{"text/plain":{"schema":{"type":"string","description":"Prometheus-compatible metrics in text format","example":"# HELP fal_app_queue_size Current size of the fal app queue\n# TYPE fal_app_queue_size gauge\nfal_requests_total{application=\"my/app\"} 10"},"example":"# HELP fal_app_runners Number of fal app runners\n# TYPE fal_app_runners gauge\nfal_app_runners{application=\"my/app\",machine_type=\"NVIDIA B200\",state=\"running\"} 21\n# HELP fal_app_queue_size Current size of the fal app queue\n# TYPE fal_app_queue_size gauge\nfal_app_queue_size{application=\"my/app\"} 7\n# HELP fal_app_concurrent_requests Current number of concurrent requests being processed\n# TYPE fal_app_concurrent_requests gauge\nfal_app_concurrent_requests{application=\"my/app\"} 3\n# HELP fal_app_requests_completed Number of requests completed in the last minute\n# TYPE fal_app_requests_completed gauge\nfal_app_requests_completed{application=\"my/app\",method=\"POST\",status=\"200\"} 18\n# HELP fal_app_requests_received Number of requests received in the last minute\n# TYPE fal_app_requests_received gauge\nfal_app_requests_received{application=\"my/app\",method=\"POST\"} 24\n# HELP fal_app_request_latency Number of requests completed, bucketed by latency in seconds\n# TYPE fal_app_request_latency gauge\nfal_app_request_latency{application=\"my/app\",le=\"1.0\"} 5\nfal_app_request_latency{application=\"my/app\",le=\"+Inf\"} 24"}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/serverless/logs/history":{"post":{"operationId":"serverlessLogsHistory","summary":"Logs history (paginated)","x-mint":{"href":"/platform-apis/v1/serverless/logs/history","metadata":{"sidebarTitle":"Logs History"}},"description":"Returns paginated historical logs that match the provided filters.","tags":["Serverless","Logs"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"maximum":1000,"description":"Number of results per page","example":100},"required":false,"description":"Number of results per page","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor from previous response (timestamp-based). Use as 'until' parameter for next page.","example":"2024-11-09T00:00:00.000Z"},"required":false,"description":"Pagination cursor from previous response (timestamp-based). Use as 'until' parameter for next page.","name":"cursor","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","example":"2025-01-01T00:00:00Z"},"required":false,"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","name":"start","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","example":"2025-02-01T00:00:00Z"},"required":false,"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","name":"end","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter by specific app ID(s) in '/' format (e.g. 'fal-ai/my-app'). Accepts 1-50 app IDs. Supports comma-separated values: ?app_id=fal-ai/foo,fal-ai/bar or array syntax: ?app_id=fal-ai/foo&app_id=fal-ai/bar","example":["fal-ai/my-app"]},"required":false,"description":"Filter by specific app ID(s) in '/' format (e.g. 'fal-ai/my-app'). Accepts 1-50 app IDs. Supports comma-separated values: ?app_id=fal-ai/foo,fal-ai/bar or array syntax: ?app_id=fal-ai/foo&app_id=fal-ai/bar","name":"app_id","style":"form","explode":true,"in":"query"},{"schema":{"type":"string","description":"Filter by revision","example":"rev_abc123"},"required":false,"description":"Filter by revision","name":"revision","in":"query"},{"schema":{"type":"string","enum":["grpc-run","grpc-register","gateway","cron"],"description":"Filter by run source","example":"grpc-run"},"required":false,"description":"Filter by run source","name":"run_source","in":"query"},{"schema":{"type":["boolean","null"],"default":false,"description":"Include tracebacks","example":false},"required":false,"description":"Include tracebacks","name":"traceback","in":"query"},{"schema":{"type":"string","description":"Free-text search","example":"error"},"required":false,"description":"Free-text search","name":"search","in":"query"},{"schema":{"type":"string","description":"Minimum log level","example":"error"},"required":false,"description":"Minimum log level","name":"level","in":"query"},{"schema":{"type":"string","description":"Filter by job id","example":"job_123"},"required":false,"description":"Filter by job id","name":"job_id","in":"query"},{"schema":{"type":"string","description":"Filter by request id","example":"019e6d0a-e5be-7b82-b329-35ae64296902"},"required":false,"description":"Filter by request id","name":"request_id","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"Label key to filter"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter value"},"condition_type":{"type":"string","enum":["equals","in","not_equals","not_in"],"description":"Condition type for label filtering"}},"required":["key","value"],"additionalProperties":false,"description":"Filter for log labels"}},"examples":{"single":{"value":[{"key":"fal_job_id","value":"job_123"}],"summary":"Filter by a single label"}}}}},"responses":{"200":{"description":"Logs history retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results, null if no more pages"},"has_more":{"type":"boolean","description":"Boolean indicating if more results are available (convenience field derived from next_cursor)"},"items":{"type":"array","items":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO timestamp of the log line"},"level":{"type":"string","description":"Log level"},"message":{"type":"string","description":"Log message"},"app":{"type":"string","description":"App identifier"},"revision":{"type":"string","description":"Revision identifier"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional labels"}},"required":["timestamp","level","message","app","revision"],"additionalProperties":false,"description":"A single log entry"},"description":"Array of log entries matching the query"}},"required":["next_cursor","has_more","items"],"description":"Paginated logs response"},"examples":{"success":{"value":{"items":[{"timestamp":"2024-11-09T10:30:45.123Z","level":"info","message":"Application started","app":"my-app","revision":"rev_abc123","labels":{"fal_job_id":"job_123"}}],"next_cursor":"2024-11-09T10:30:44.000Z","has_more":true},"summary":"Paginated logs response"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/serverless/logs/stream":{"post":{"operationId":"serverlessLogsStream","summary":"Logs stream (SSE)","x-mint":{"href":"/platform-apis/v1/serverless/logs/stream","metadata":{"sidebarTitle":"Logs Stream (SSE)"}},"description":"Streams live logs that match the provided filters using Server-Sent Events.","tags":["Serverless","Logs"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","example":"2025-01-01T00:00:00Z"},"required":false,"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","name":"start","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","example":"2025-02-01T00:00:00Z"},"required":false,"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","name":"end","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter by specific app ID(s) in '/' format (e.g. 'fal-ai/my-app'). Accepts 1-50 app IDs. Supports comma-separated values: ?app_id=fal-ai/foo,fal-ai/bar or array syntax: ?app_id=fal-ai/foo&app_id=fal-ai/bar","example":["fal-ai/my-app"]},"required":false,"description":"Filter by specific app ID(s) in '/' format (e.g. 'fal-ai/my-app'). Accepts 1-50 app IDs. Supports comma-separated values: ?app_id=fal-ai/foo,fal-ai/bar or array syntax: ?app_id=fal-ai/foo&app_id=fal-ai/bar","name":"app_id","style":"form","explode":true,"in":"query"},{"schema":{"type":"string","description":"Filter by revision","example":"rev_abc123"},"required":false,"description":"Filter by revision","name":"revision","in":"query"},{"schema":{"type":"string","enum":["grpc-run","grpc-register","gateway","cron"],"description":"Filter by run source","example":"grpc-run"},"required":false,"description":"Filter by run source","name":"run_source","in":"query"},{"schema":{"type":["boolean","null"],"default":false,"description":"Include tracebacks","example":false},"required":false,"description":"Include tracebacks","name":"traceback","in":"query"},{"schema":{"type":"string","description":"Free-text search","example":"error"},"required":false,"description":"Free-text search","name":"search","in":"query"},{"schema":{"type":"string","description":"Minimum log level","example":"error"},"required":false,"description":"Minimum log level","name":"level","in":"query"},{"schema":{"type":"string","description":"Filter by job id","example":"job_123"},"required":false,"description":"Filter by job id","name":"job_id","in":"query"},{"schema":{"type":"string","description":"Filter by request id","example":"019e6d0a-e5be-7b82-b329-35ae64296902"},"required":false,"description":"Filter by request id","name":"request_id","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"Label key to filter"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter value"},"condition_type":{"type":"string","enum":["equals","in","not_equals","not_in"],"description":"Condition type for label filtering"}},"required":["key","value"],"additionalProperties":false,"description":"Filter for log labels"}},"examples":{"single":{"value":[{"key":"fal_job_id","value":"job_123"}],"summary":"Filter by a single label"}}}}},"responses":{"200":{"description":"SSE stream started","content":{"text/event-stream":{"schema":{}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/serverless/requests/by-endpoint":{"get":{"operationId":"serverlessListRequestsByEndpoint","summary":"List requests by endpoint(s)","x-mint":{"href":"/platform-apis/v1/serverless/requests/by-endpoint","metadata":{"sidebarTitle":"List Requests by Endpoint"}},"description":"Lists requests for one or more endpoints owned by the authenticated user.\nUse repeated or comma-separated `endpoint_id` (same as other platform list APIs).\n\n**Authentication:** Requires API key.\n\n**Filters:**\n- Time range via start / end. If `start` is omitted, defaults to the last 24 hours — unless `request_id` is provided, in which case the default start bound is widened to 90 days.\n- Status (success, error, user_error)\n- Request ID\n- Pagination via cursor/limit (limit defaults to 50, max 100)\n\n**Sorting:**\n- By end time (default) or duration\n\n**Expansions:**\n- Include payloads by adding expand=payloads\n- Include per-request `billable_units` by adding expand=billing (endpoint owner only)","tags":["Serverless","Requests"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"maximum":100,"default":50,"description":"Number of items to return per page (max 100)","example":20},"required":false,"description":"Number of items to return per page (max 100)","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor encoding the page number","example":"Mg=="},"required":false,"description":"Pagination cursor encoding the page number","name":"cursor","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","example":["fal-ai/flux/dev"]},"required":true,"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","name":"endpoint_id","style":"form","explode":true,"in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","example":"2025-01-01T00:00:00Z"},"required":false,"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","name":"start","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","example":"2025-02-01T00:00:00Z"},"required":false,"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","name":"end","in":"query"},{"schema":{"type":"string","enum":["success","error","user_error"],"description":"Filter by request status","example":"success"},"required":false,"description":"Filter by request status","name":"status","in":"query"},{"schema":{"type":"string","format":"uuid","description":"Filter by specific request ID","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"},"required":false,"description":"Filter by specific request ID","name":"request_id","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Fields to expand in the response. Use payloads to include input and output payloads. Use billing to include billable_units per request.","example":["payloads","billing"]},"required":false,"description":"Fields to expand in the response. Use payloads to include input and output payloads. Use billing to include billable_units per request.","name":"expand","style":"form","explode":true,"in":"query"},{"schema":{"type":"string","enum":["ended_at","duration"],"default":"ended_at","description":"Sort results by end time or duration","example":"ended_at"},"required":false,"description":"Sort results by end time or duration","name":"sort_by","in":"query"}],"responses":{"200":{"description":"Requests listed successfully","content":{"application/json":{"schema":{"type":"object","properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results, null if no more pages"},"has_more":{"type":"boolean","description":"Boolean indicating if more results are available (convenience field derived from next_cursor)"},"items":{"type":"array","items":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid","description":"Unique identifier for the request","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"},"endpoint_id":{"type":"string","description":"Endpoint that was executed for this request","example":"fal-ai/flux/dev"},"started_at":{"type":"string","format":"date-time","description":"Time when request processing started","example":"2025-01-01T00:00:05Z"},"sent_at":{"type":"string","format":"date-time","description":"Time when request was sent to the backend","example":"2025-01-01T00:00:01Z"},"ended_at":{"type":["string","null"],"format":"date-time","description":"Time when request finished processing","example":"2025-01-01T00:00:08Z"},"status_code":{"type":["integer","null"],"description":"HTTP status code returned by the request","example":200},"duration":{"type":["number","null"],"description":"Total request duration in seconds","example":7.8},"json_input":{"description":"Input payload for the request"},"json_output":{"description":"Output payload for the request"},"runner_id":{"type":["string","null"],"format":"uuid","description":"Unique identifier for the runner execution instance. Null if no runner was assigned (e.g. the request failed before dispatch).","example":"f1e2d3c4-b5a6-7890-dcba-0987654321fe"},"billable_units":{"type":["number","null"],"description":"Billable units for this request (only present when expand=billing). Null if a billing event has not yet been recorded for this request.","example":1.5}},"required":["request_id","endpoint_id","started_at","sent_at","runner_id"],"description":"Serverless request item"},"description":"List of requests matching the filter"}},"required":["next_cursor","has_more","items"],"description":"Paginated list of serverless requests for the specified endpoint"},"example":{"items":[{"request_id":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","endpoint_id":"fal-ai/flux/dev","runner_id":"f1e2d3c4-b5a6-7890-dcba-0987654321fe","started_at":"2025-01-01T00:00:05Z","sent_at":"2025-01-01T00:00:01Z","ended_at":"2025-01-01T00:00:08Z","status_code":200,"duration":7.8,"json_input":{"prompt":"cat astronaut"},"json_output":{"status":"ok"},"billable_units":1.5}],"next_cursor":"Mg==","has_more":true}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/compute/instances":{"get":{"operationId":"listComputeInstances","summary":"List Compute Instances","x-mint":{"href":"/platform-apis/v1/compute/instances/list","metadata":{"sidebarTitle":"List Compute Instances"}},"description":"Returns a list of all compute instances belonging to the authenticated user's workspace.\n\n**Requirements:**\n- Requires compute permissions (extra_permissions.compute = true)\n- Authentication required via admin API key\n\n**Key Features:**\n- View all instances regardless of status\n- Includes instance configuration, region, and current status\n- Paginated results for large instance lists\n\n**Common Use Cases:**\n- Monitor all active compute resources\n- Check instance status and availability\n- Audit compute resource usage\n- Build compute management dashboards\n\nSee [fal.ai docs](https://docs.fal.ai/compute) for more details.","tags":["Compute"],"security":[{"adminApiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","example":50},"required":false,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor from previous response. Encodes the page number.","example":"Mg=="},"required":false,"description":"Pagination cursor from previous response. Encodes the page number.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Successfully retrieved compute instances","content":{"application/json":{"schema":{"type":"object","properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results, null if no more pages"},"has_more":{"type":"boolean","description":"Boolean indicating if more results are available (convenience field derived from next_cursor)"},"instances":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the compute instance","example":"inst_abc123xyz"},"instance_type":{"type":"string","enum":["gpu_8x_h100_sxm5","gpu_1x_h100_sxm5"],"description":"Type of compute instance (GPU configuration)","example":"gpu_1x_h100_sxm5"},"region":{"type":"string","enum":["us-west","us-central","us-east","eu-north","eu-west","other"],"description":"Geographical region where the instance is located","example":"us-west"},"sector":{"type":"string","enum":["sector_1","sector_2","sector_3"],"description":"Sector identifier for instance placement within the region (if applicable)","example":"sector_1"},"ip":{"type":"string","description":"IP address of the instance (available when instance is ready)","example":"203.0.113.42"},"status":{"type":"string","enum":["ready","init","pending","provisioning","stopped","unknown"],"description":"Current operational status of the instance","example":"ready"},"creator_user_nickname":{"type":"string","description":"Nickname of the user who created this instance","example":"developer"}},"required":["id","instance_type","region","status"],"description":"Compute instance details including configuration, location, and status"},"description":"Array of compute instances belonging to the authenticated user"}},"required":["next_cursor","has_more","instances"],"description":"Response containing a list of compute instances with pagination support"},"example":{"instances":[{"id":"inst_abc123xyz","instance_type":"gpu_1x_h100_sxm5","region":"us-west","sector":"sector_1","ip":"203.0.113.42","status":"ready","creator_user_nickname":"developer"},{"id":"inst_def456uvw","instance_type":"gpu_8x_h100_sxm5","region":"us-east","status":"provisioning","creator_user_nickname":"developer"}],"next_cursor":null,"has_more":false}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}},"post":{"operationId":"createComputeInstance","summary":"Create Compute Instance","x-mint":{"href":"/platform-apis/v1/compute/instances/create","metadata":{"sidebarTitle":"Create Compute Instance"}},"description":"Creates a new compute instance with the specified configuration and SSH key.\n\n**Requirements:**\n- Requires compute permissions (extra_permissions.compute = true)\n- Authentication required via admin API key\n- Valid SSH public key required for instance access\n\n**Key Features:**\n- Create high-performance GPU instances\n- Specify sector for InfiniBand configuration (8x H100 only)\n- SSH key-based authentication\n- Automatic instance provisioning and region assignment\n- Idempotent creation with Idempotency-Key header (optional but recommended)\n\n**Common Use Cases:**\n- Spin up compute resources for ML training\n- Create GPU instances for inference workloads\n- Set up development environments with H100 GPUs\n- Deploy distributed training with InfiniBand networking\n\n**Instance Types:**\n- `gpu_8x_h100_sxm5`: 8x NVIDIA H100 GPUs (high-performance, supports sector configuration for InfiniBand)\n- `gpu_1x_h100_sxm5`: 1x NVIDIA H100 GPU (standard)\n\n**Idempotency:**\n- Optional Idempotency-Key header prevents duplicate instance creation on retries\n- Responses cached for 10 minutes per unique key\n\nSee [fal.ai docs](https://docs.fal.ai/compute) for more details.","tags":["Compute"],"security":[{"adminApiKey":[]}],"parameters":[{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"instance_type":{"type":"string","enum":["gpu_8x_h100_sxm5","gpu_1x_h100_sxm5"],"description":"Type of compute instance to create","example":"gpu_1x_h100_sxm5"},"ssh_key":{"type":"string","minLength":1,"description":"SSH public key for accessing the instance (e.g., 'ssh-rsa AAAAB3...')","example":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC... user@host"},"sector":{"type":"string","enum":["sector_1","sector_2","sector_3"],"description":"Sector for InfiniBand configuration (only valid with gpu_8x_h100_sxm5)","example":"sector_1"}},"required":["instance_type","ssh_key"],"description":"Request body for creating a new compute instance with SSH access"},"example":{"instance_type":"gpu_8x_h100_sxm5","ssh_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC7Kl4... user@host","sector":"sector_1"}}}},"responses":{"201":{"description":"Compute instance created successfully","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the compute instance","example":"inst_abc123xyz"},"instance_type":{"type":"string","enum":["gpu_8x_h100_sxm5","gpu_1x_h100_sxm5"],"description":"Type of compute instance (GPU configuration)","example":"gpu_1x_h100_sxm5"},"region":{"type":"string","enum":["us-west","us-central","us-east","eu-north","eu-west","other"],"description":"Geographical region where the instance is located","example":"us-west"},"sector":{"type":"string","enum":["sector_1","sector_2","sector_3"],"description":"Sector identifier for instance placement within the region (if applicable)","example":"sector_1"},"ip":{"type":"string","description":"IP address of the instance (available when instance is ready)","example":"203.0.113.42"},"status":{"type":"string","enum":["ready","init","pending","provisioning","stopped","unknown"],"description":"Current operational status of the instance","example":"ready"},"creator_user_nickname":{"type":"string","description":"Nickname of the user who created this instance","example":"developer"}},"required":["id","instance_type","region","status"],"description":"Compute instance details including configuration, location, and status"},"example":{"id":"inst_abc123xyz","instance_type":"gpu_8x_h100_sxm5","region":"us-west","sector":"sector_1","status":"provisioning","creator_user_nickname":"developer"}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/compute/instances/{id}":{"get":{"operationId":"getComputeInstance","summary":"Get Compute Instance","x-mint":{"href":"/platform-apis/v1/compute/instances/get","metadata":{"sidebarTitle":"Get Compute Instance"}},"description":"Retrieves detailed information about a specific compute instance by its ID.\n\n**Requirements:**\n- Requires compute permissions (extra_permissions.compute = true)\n- Authentication required via admin API key\n- Instance must belong to the authenticated user's workspace\n\n**Key Features:**\n- Get current instance status and configuration\n- Access instance IP address when available\n- View region and sector placement\n- Check creator information\n\n**Common Use Cases:**\n- Monitor specific instance status\n- Retrieve connection details (IP address)\n- Check instance readiness before use\n- Audit instance configuration\n\nSee [fal.ai docs](https://docs.fal.ai/compute) for more details.","tags":["Compute"],"security":[{"adminApiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Unique identifier for the compute instance","example":"inst_abc123xyz"},"required":true,"description":"Unique identifier for the compute instance","name":"id","in":"path"}],"responses":{"200":{"description":"Successfully retrieved compute instance details","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the compute instance","example":"inst_abc123xyz"},"instance_type":{"type":"string","enum":["gpu_8x_h100_sxm5","gpu_1x_h100_sxm5"],"description":"Type of compute instance (GPU configuration)","example":"gpu_1x_h100_sxm5"},"region":{"type":"string","enum":["us-west","us-central","us-east","eu-north","eu-west","other"],"description":"Geographical region where the instance is located","example":"us-west"},"sector":{"type":"string","enum":["sector_1","sector_2","sector_3"],"description":"Sector identifier for instance placement within the region (if applicable)","example":"sector_1"},"ip":{"type":"string","description":"IP address of the instance (available when instance is ready)","example":"203.0.113.42"},"status":{"type":"string","enum":["ready","init","pending","provisioning","stopped","unknown"],"description":"Current operational status of the instance","example":"ready"},"creator_user_nickname":{"type":"string","description":"Nickname of the user who created this instance","example":"developer"}},"required":["id","instance_type","region","status"],"description":"Compute instance details including configuration, location, and status"},"example":{"id":"inst_abc123xyz","instance_type":"gpu_1x_h100_sxm5","region":"us-west","sector":"sector_1","ip":"203.0.113.42","status":"ready","creator_user_nickname":"developer"}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}},"delete":{"operationId":"deleteComputeInstance","summary":"Delete Compute Instance","x-mint":{"href":"/platform-apis/v1/compute/instances/delete","metadata":{"sidebarTitle":"Delete Compute Instance"}},"description":"Deletes a specific compute instance by its ID. This action is irreversible.\n\n**Requirements:**\n- Requires compute permissions (extra_permissions.compute = true)\n- Authentication required via admin API key\n- Instance must belong to the authenticated user's workspace\n\n**Key Features:**\n- Permanently remove compute instances\n- Free up compute resources\n- Stop billing for the instance\n- Clean up unused resources\n\n**Important:**\n- This action cannot be undone\n- All data on the instance will be lost\n- Instance will be immediately terminated\n- Billing stops after deletion\n\n**Common Use Cases:**\n- Clean up completed workloads\n- Remove failed or stuck instances\n- Manage compute costs\n- Free up quota for new instances\n\nSee [fal.ai docs](https://docs.fal.ai/compute) for more details.","tags":["Compute"],"security":[{"adminApiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Unique identifier for the compute instance","example":"inst_abc123xyz"},"required":true,"description":"Unique identifier for the compute instance","name":"id","in":"path"}],"responses":{"204":{"description":"Compute instance deleted successfully"},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/keys":{"get":{"operationId":"listApiKeys","summary":"List API Keys","x-mint":{"href":"/platform-apis/v1/keys/list","metadata":{"sidebarTitle":"List API Keys"}},"description":"Returns a list of all API keys belonging to the authenticated user's workspace.\n\n**Requirements:**\n- Authentication required via admin API key\n\n**Key Features:**\n- View all API keys with their aliases and creation dates\n- Optionally expand to include creator information\n- Paginated results for workspaces with many keys\n\n**Expansion Options:**\n- `expand=creator_info`: Include creator_nickname and creator_email for each key\n\n**Common Use Cases:**\n- Audit existing API keys\n- Find keys by alias\n- Monitor key creation activity\n- Build key management interfaces","tags":["Keys"],"security":[{"adminApiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","example":50},"required":false,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor from previous response. Encodes the page number.","example":"Mg=="},"required":false,"description":"Pagination cursor from previous response. Encodes the page number.","name":"cursor","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Fields to expand in the response. Available: creator_info (includes creator_nickname and creator_email)","example":["creator_info"]},"required":false,"description":"Fields to expand in the response. Available: creator_info (includes creator_nickname and creator_email)","name":"expand","style":"form","explode":true,"in":"query"}],"responses":{"200":{"description":"Successfully retrieved API keys","content":{"application/json":{"schema":{"type":"object","properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results, null if no more pages"},"has_more":{"type":"boolean","description":"Boolean indicating if more results are available (convenience field derived from next_cursor)"},"keys":{"type":"array","items":{"type":"object","properties":{"key_id":{"type":"string","description":"Unique identifier for the API key","example":"abc123def456"},"alias":{"type":"string","description":"User-provided friendly name for the key","example":"Production Key"},"scope":{"type":"string","enum":["API"],"description":"Scope of the API key. Only API scope keys can be managed via this API.","example":"API"},"created_at":{"type":"string","description":"ISO8601 timestamp when the key was created","example":"2025-01-15T12:00:00Z"},"creator_nickname":{"type":"string","description":"Nickname of the user who created this key (when expanded)","example":"developer"},"creator_email":{"type":"string","description":"Email of the user who created this key (when expanded)","example":"developer@example.com"}},"required":["key_id","alias","scope","created_at"],"description":"API key information"},"description":"Array of API keys belonging to the authenticated user"}},"required":["next_cursor","has_more","keys"],"description":"Response containing a list of API keys with pagination support"},"example":{"keys":[{"key_id":"abc123def456","alias":"Production Key","scope":"API","created_at":"2025-01-15T12:00:00Z"},{"key_id":"xyz789ghi012","alias":"Development Key","scope":"API","created_at":"2025-01-10T09:30:00Z"}],"next_cursor":null,"has_more":false}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}},"post":{"operationId":"createApiKey","summary":"Create API Key","x-mint":{"href":"/platform-apis/v1/keys/create","metadata":{"sidebarTitle":"Create API Key"}},"description":"Creates a new API key with the specified alias.\n\n**Requirements:**\n- Authentication required via admin API key\n\n**Important Security Notice:**\nThe `key_secret` is only returned once at creation time. Store it securely immediately\nas it cannot be retrieved again. If lost, you must delete the key and create a new one.\n\n**Key Features:**\n- Create API keys programmatically without UI access\n- Assign meaningful aliases for key identification\n- Keys are immediately active upon creation\n\n**Common Use Cases:**\n- Programmatic key provisioning for CI/CD pipelines\n- Self-serve key generation for team members\n- Automated key rotation workflows\n- Integration with secret management systems","tags":["Keys"],"security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"alias":{"type":"string","minLength":1,"maxLength":255,"description":"Required friendly name for the API key","example":"Production Key"}},"required":["alias"],"description":"Request body for creating a new API key"},"example":{"alias":"Production Key"}}}},"responses":{"201":{"description":"API key created successfully. Store the key_secret securely - it will not be shown again.","content":{"application/json":{"schema":{"type":"object","properties":{"key_id":{"type":"string","description":"Unique identifier for the newly created API key","example":"abc123def456"},"key_secret":{"type":"string","description":"Secret portion of the API key. IMPORTANT: This is only returned once at creation time and cannot be retrieved again.","example":"sk_live_abc123..."},"key":{"type":"string","description":"Full API key in the format 'key_id:key_secret'. Use this value directly for API authorization. IMPORTANT: This is only returned once at creation time and cannot be retrieved again.","example":"abc123def456:sk_live_abc123..."}},"required":["key_id","key_secret","key"],"description":"Response containing the newly created API key credentials. The key_secret is only returned once."},"example":{"key_id":"abc123def456","key_secret":"sk_live_abc123def456xyz789","key":"abc123def456:sk_live_abc123def456xyz789"}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/keys/{key_id}":{"delete":{"operationId":"deleteApiKey","summary":"Delete API Key","x-mint":{"href":"/platform-apis/v1/keys/delete","metadata":{"sidebarTitle":"Delete API Key"}},"description":"Deletes an API key by its ID. This action is irreversible.\n\n**Requirements:**\n- Authentication required via admin API key\n- Key must belong to the authenticated user's workspace\n\n**Key Features:**\n- Permanently revoke API key access\n- Idempotent operation (safe to retry)\n- Optional Idempotency-Key header for safe retries\n\n**Important:**\n- This action cannot be undone\n- Any applications using this key will immediately lose access\n- Returns 204 even if the key doesn't exist (idempotent behavior)\n\n**Common Use Cases:**\n- Revoke compromised keys\n- Clean up unused keys\n- Implement key rotation (delete old, create new)\n- Offboard team members","tags":["Keys"],"security":[{"adminApiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Unique identifier of the API key to delete","example":"abc123def456"},"required":true,"description":"Unique identifier of the API key to delete","name":"key_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"responses":{"204":{"description":"API key deleted successfully (or already deleted)"},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/account/billing":{"get":{"operationId":"getAccountBilling","summary":"Account Billing","x-mint":{"href":"/platform-apis/v1/account/billing","metadata":{"sidebarTitle":"Account Billing"}},"description":"Returns billing information for the authenticated account. Use the `expand`\nparameter to include additional details.\n\n**Expandable Fields:**\n- `credits` — Current credit balance and currency\n\n**Common Use Cases:**\n- Monitor available credit balance programmatically\n- Display balance in custom dashboards","tags":["Account"],"security":[{"adminApiKey":[]}],"parameters":[{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Data to include in the response. Use 'credits' to include current credit balance.","example":"credits"},"required":false,"description":"Data to include in the response. Use 'credits' to include current credit balance.","name":"expand","style":"form","explode":true,"in":"query"}],"responses":{"200":{"description":"Account billing information retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"username":{"type":"string","description":"Account username","example":"my-team"},"credits":{"type":"object","properties":{"current_balance":{"type":"number","minimum":0,"description":"Current credit balance available on the account","example":24.5},"currency":{"type":"string","description":"Currency code for the balance","example":"USD"}},"required":["current_balance","currency"],"description":"Credit balance details. Only present when 'credits' is included in expand parameter."}},"required":["username"],"description":"Account billing information with optional expanded details"},"example":{"username":"my-team","credits":{"current_balance":24.5,"currency":"USD"}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/account/focus":{"get":{"operationId":"getFocusReport","summary":"FOCUS Report","x-mint":{"href":"/platform-apis/v1/account/focus","metadata":{"sidebarTitle":"FOCUS Report"}},"description":"\nReturns a FOCUS compliant billing report as a CSV download.\n\n> **Availability:** This endpoint is available to enterprise customers with FOCUS reports enabled. Contact your account team or support@fal.ai to request access.\n\nSupports two data sources:\n- **invoice**: Finalized invoice data for a billing month. Includes usage charges, credits, and taxes.\n- **estimate**: Real-time usage estimates for a date range. Pre-invoice data that may change once invoiced.\n\nThe report follows the [FinOps FOCUS specification](https://focus.finops.org/) for cloud billing data interoperability.\n\n**Invoice reports** default to the most recently available billing month.\n**Usage estimates** default to the last 24 hours, with a maximum 90-day lookback.\n ","tags":["Account"],"security":[{"adminApiKey":[]}],"parameters":[{"schema":{"type":"string","enum":["invoice","estimate"],"description":"Report source. 'invoice' returns finalized invoice data for a billing month. 'estimate' returns real-time usage estimates for a date range.","example":"invoice"},"required":true,"description":"Report source. 'invoice' returns finalized invoice data for a billing month. 'estimate' returns real-time usage estimates for a date range.","name":"source","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}$","description":"Invoice billing month (YYYY-MM). The month the invoice was issued (e.g. '2025-02' for January charges). Used with source=invoice. Defaults to most recent available billing month.","example":"2025-02"},"required":false,"description":"Invoice billing month (YYYY-MM). The month the invoice was issued (e.g. '2025-02' for January charges). Used with source=invoice. Defaults to most recent available billing month.","name":"billing_month","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}$","description":"Charge month (YYYY-MM). The month charges were incurred. Converted to billing_month by adding 1 month (billing in arrears). Alternative to billing_month. Used with source=invoice.","example":"2025-01"},"required":false,"description":"Charge month (YYYY-MM). The month charges were incurred. Converted to billing_month by adding 1 month (billing in arrears). Alternative to billing_month. Used with source=invoice.","name":"charge_month","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","example":"2025-01-01T00:00:00Z"},"required":false,"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","name":"start","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","example":"2025-02-01T00:00:00Z"},"required":false,"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","name":"end","in":"query"},{"schema":{"type":"string","default":"UTC","description":"Timezone for date aggregation and boundaries. All timestamps in responses are in UTC, but this controls how dates are bucketed.","example":"UTC"},"required":false,"description":"Timezone for date aggregation and boundaries. All timestamps in responses are in UTC, but this controls how dates are bucketed.","name":"timezone","in":"query"},{"schema":{"type":"string","enum":["minute","hour","day","week","month"],"description":"Aggregation timeframe for timeseries data (auto-detected from date range if not specified). Auto-detection uses: minute (<2h), hour (<2d), day (<64d), week (<183d), month (>=183d).","example":"day"},"required":false,"description":"Aggregation timeframe for timeseries data (auto-detected from date range if not specified). Auto-detection uses: minute (<2h), hour (<2d), day (<64d), week (<183d), month (>=183d).","name":"timeframe","in":"query"},{"schema":{"type":"string","enum":["true","false"],"default":"true","description":"Whether to adjust start/end dates to align with timeframe boundaries and use exclusive end. Defaults to true. When true, dates are aligned to the start of the timeframe period (e.g., start of day) and end is made exclusive (e.g., start of next day). When false, uses exact dates provided.","example":"true"},"required":false,"description":"Whether to adjust start/end dates to align with timeframe boundaries and use exclusive end. Defaults to true. When true, dates are aligned to the start of the timeframe period (e.g., start of day) and end is made exclusive (e.g., start of next day). When false, uses exact dates provided.","name":"bound_to_timeframe","in":"query"}],"responses":{"200":{"description":"FOCUS compliant CSV report","content":{"text/csv":{"schema":{"type":"string"}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/account/model-access-controls":{"get":{"operationId":"getModelAccessControls","summary":"Model Access Controls Report","x-mint":{"href":"/platform-apis/v1/account/model-access-controls","metadata":{"sidebarTitle":"Model Access Controls"}},"description":"\nReturns the current model access controls for your organization as a CSV download.\n\n> **Availability:** This endpoint is available to enterprise customers with model access controls enabled. Contact your account team or support@fal.ai to request access.\n\nThe report includes each model's endpoint ID, title, category, enterprise readiness status, and the resolved UI and API access state (ALLOWED or BLOCKED).\n ","tags":["Account"],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Model access controls CSV report","content":{"text/csv":{"schema":{"type":"string"}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/organization/teams":{"get":{"operationId":"getOrganizationTeams","summary":"Organization Teams","x-mint":{"href":"/platform-apis/v1/organization/teams","metadata":{"sidebarTitle":"Organization Teams"}},"description":"\nReturns the list of teams in your organization with their details.\n\n> **Availability:** This endpoint is available to enterprise customers with organizations enabled. Contact your account team or support@fal.ai to request access.\n\nMust be called with an admin API key on the organization's root team.\n\n**Key Features:**\n- List all teams within the organization\n- Identify the organization's root team via `is_org_root`\n- View team usernames and display names\n\nSee [fal.ai docs](https://docs.fal.ai) for more details.\n ","tags":["Organization"],"security":[{"adminApiKey":[]}],"responses":{"200":{"description":"Organization teams retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"teams":{"type":"array","items":{"type":"object","properties":{"username":{"type":"string","description":"Team username/identifier (unique within the organization)","example":"acme-corp"},"name":{"type":"string","description":"Human-readable display name of the team","example":"Acme Corporation"},"is_org_root":{"type":"boolean","description":"True if this is the root organization team; false for sub-teams","example":true},"created_at":{"type":"string","description":"Team creation timestamp in ISO8601 format","example":"2024-01-15T10:30:00Z"}},"required":["username","name","is_org_root","created_at"],"description":"Organization team details"},"description":"List of teams in the organization"}},"required":["teams"],"description":"Response containing organization team details"},"example":{"teams":[{"username":"acme-corp","name":"Acme Corporation","is_org_root":true,"created_at":"2024-01-15T10:30:00Z"},{"username":"acme-ml-team","name":"ML Research Team","is_org_root":false,"created_at":"2024-03-01T14:00:00Z"}]}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/organization/usage":{"get":{"operationId":"getOrganizationUsage","summary":"Organization Usage","x-mint":{"href":"/platform-apis/v1/organization/usage","metadata":{"sidebarTitle":"Organization Usage"}},"description":"\nReturns paginated usage records across all teams and product lines in your\norganization, with each record attributed to a specific team via the\n`username` field and a product line via the `product` field.\n\nCovers all three fal product lines:\n- `model_apis` — model API endpoint calls (e.g. `fal-ai/flux/dev`)\n- `serverless` — fal Serverless SDK billing\n- `compute` — fal Compute (raw instance time)\n\n> **Availability:** This endpoint is available to enterprise customers with organizations enabled. Contact your account team or support@fal.ai to request access.\n\nMust be called with an admin API key on the organization's root team.\n\n**Key Features:**\n- Organization-wide usage data across all teams and products\n- Filter by team (`team_username`), product line (`product`), endpoint, date range, and auth method\n- Per-team and per-product attribution on every usage record\n- Paginated time series and aggregate summary views\n\nSee [fal.ai docs](https://docs.fal.ai) for more details.\n ","tags":["Organization"],"security":[{"adminApiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","example":50},"required":false,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor from previous response. Encodes the page number.","example":"Mg=="},"required":false,"description":"Pagination cursor from previous response. Encodes the page number.","name":"cursor","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","example":"2025-01-01T00:00:00Z"},"required":false,"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","name":"start","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","example":"2025-02-01T00:00:00Z"},"required":false,"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","name":"end","in":"query"},{"schema":{"type":"string","default":"UTC","description":"Timezone for date aggregation and boundaries. All timestamps in responses are in UTC, but this controls how dates are bucketed.","example":"UTC"},"required":false,"description":"Timezone for date aggregation and boundaries. All timestamps in responses are in UTC, but this controls how dates are bucketed.","name":"timezone","in":"query"},{"schema":{"type":"string","enum":["minute","hour","day","week","month"],"description":"Aggregation timeframe for timeseries data (auto-detected from date range if not specified). Auto-detection uses: minute (<2h), hour (<2d), day (<64d), week (<183d), month (>=183d).","example":"day"},"required":false,"description":"Aggregation timeframe for timeseries data (auto-detected from date range if not specified). Auto-detection uses: minute (<2h), hour (<2d), day (<64d), week (<183d), month (>=183d).","name":"timeframe","in":"query"},{"schema":{"type":"string","enum":["true","false"],"default":"true","description":"Whether to adjust start/end dates to align with timeframe boundaries and use exclusive end. Defaults to true. When true, dates are aligned to the start of the timeframe period (e.g., start of day) and end is made exclusive (e.g., start of next day). When false, uses exact dates provided.","example":"true"},"required":false,"description":"Whether to adjust start/end dates to align with timeframe boundaries and use exclusive end. Defaults to true. When true, dates are aligned to the start of the timeframe period (e.g., start of day) and end is made exclusive (e.g., start of next day). When false, uses exact dates provided.","name":"bound_to_timeframe","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","example":["fal-ai/flux/dev"]},"required":false,"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","name":"endpoint_id","style":"form","explode":true,"in":"query"},{"schema":{"type":"string","description":"Filter by a specific team username within the organization. If not provided, returns usage across all teams.","example":"acme-ml-team"},"required":false,"description":"Filter by a specific team username within the organization. If not provided, returns usage across all teams.","name":"team_username","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Restrict results to one or more product lines. Accepts a comma-separated list or repeated parameter. Defaults to all three (model_apis, serverless, compute).","example":["model_apis","compute"]},"required":false,"description":"Restrict results to one or more product lines. Accepts a comma-separated list or repeated parameter. Defaults to all three (model_apis, serverless, compute).","name":"product","style":"form","explode":true,"in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"default":["time_series"],"description":"Data to include in the response. Use 'time_series' for time-bucketed data, 'summary' for aggregate statistics, and 'auth_method' to include authentication method information. At least one of 'time_series' or 'summary' is required.","example":["time_series","auth_method"]},"required":false,"description":"Data to include in the response. Use 'time_series' for time-bucketed data, 'summary' for aggregate statistics, and 'auth_method' to include authentication method information. At least one of 'time_series' or 'summary' is required.","name":"expand","style":"form","explode":true,"in":"query"}],"responses":{"200":{"description":"Organization usage data retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results, null if no more pages"},"has_more":{"type":"boolean","description":"Boolean indicating if more results are available (convenience field derived from next_cursor)"},"time_series":{"type":"array","items":{"type":"object","properties":{"bucket":{"type":"string","description":"Time bucket timestamp in user's timezone with offset (ISO8601 datetime)","example":"2025-01-15T00:00:00-05:00"},"results":{"type":"array","items":{"type":"object","properties":{"username":{"type":"string","description":"Team username within the organization — identifies which team incurred this line item.","example":"acme-ml-team"},"product":{"type":"string","enum":["model_apis","serverless","compute"],"description":"Product line the usage belongs to: 'model_apis' (fal Model APIs — endpoint calls), 'serverless' (fal Serverless SDK billing), or 'compute' (fal Compute — raw instances).","example":"model_apis"},"endpoint_id":{"type":"string","description":"Identifier of the billed resource. For 'model_apis' this is the endpoint slug (e.g., 'fal-ai/flux/dev'); for 'serverless' it is the SDK billing line; for 'compute' it is the machine type line (e.g., 'type: gpu_1x_h100_sxm5 (my-app, prod)').","example":"fal-ai/flux/dev"},"unit":{"type":"string","description":"The billing unit (e.g., 'image', 'video', or a GPU/compute unit for some models)","example":"image"},"quantity":{"type":"number","minimum":0,"description":"Quantity of usage in the specified billing unit","example":4},"unit_price":{"type":"number","minimum":0,"description":"Unit price used to compute charges for this line item","example":0.1},"cost":{"type":"number","minimum":0,"description":"Computed cost (quantity × unit_price)","example":0.4},"currency":{"type":"string","minLength":3,"maxLength":3,"description":"Three-letter currency code (ISO 4217, e.g., 'USD')","example":"USD"},"auth_method":{"type":"string","description":"Authentication method label resolved across the organization (e.g., 'my-key (owner: alice)', 'alice ', or 'None'). Only populated when 'auth_method' is included in the expand parameter. Falls back to the raw upstream label if the decoration service cannot resolve a row.","example":"production-key (owner: acme-ml-team)"}},"required":["username","product","endpoint_id","unit","quantity","unit_price","cost","currency"],"description":"Organization usage line item with team attribution"},"description":"Usage records for this time bucket"}},"required":["bucket","results"],"description":"Time bucket with grouped usage records"},"description":"Time series usage data grouped by time bucket (when expand includes 'time_series'). Each bucket contains all usage records for that time period."},"summary":{"type":"array","items":{"type":"object","properties":{"username":{"type":"string","description":"Team username within the organization — identifies which team incurred this line item.","example":"acme-ml-team"},"product":{"type":"string","enum":["model_apis","serverless","compute"],"description":"Product line the usage belongs to: 'model_apis' (fal Model APIs — endpoint calls), 'serverless' (fal Serverless SDK billing), or 'compute' (fal Compute — raw instances).","example":"model_apis"},"endpoint_id":{"type":"string","description":"Identifier of the billed resource. For 'model_apis' this is the endpoint slug (e.g., 'fal-ai/flux/dev'); for 'serverless' it is the SDK billing line; for 'compute' it is the machine type line (e.g., 'type: gpu_1x_h100_sxm5 (my-app, prod)').","example":"fal-ai/flux/dev"},"unit":{"type":"string","description":"The billing unit (e.g., 'image', 'video', or a GPU/compute unit for some models)","example":"image"},"quantity":{"type":"number","minimum":0,"description":"Quantity of usage in the specified billing unit","example":4},"unit_price":{"type":"number","minimum":0,"description":"Unit price used to compute charges for this line item","example":0.1},"cost":{"type":"number","minimum":0,"description":"Computed cost (quantity × unit_price)","example":0.4},"currency":{"type":"string","minLength":3,"maxLength":3,"description":"Three-letter currency code (ISO 4217, e.g., 'USD')","example":"USD"},"auth_method":{"type":"string","description":"Authentication method label resolved across the organization (e.g., 'my-key (owner: alice)', 'alice ', or 'None'). Only populated when 'auth_method' is included in the expand parameter. Falls back to the raw upstream label if the decoration service cannot resolve a row.","example":"production-key (owner: acme-ml-team)"}},"required":["username","product","endpoint_id","unit","quantity","unit_price","cost","currency"],"description":"Aggregate organization usage statistics for the entire date range"},"description":"Aggregate statistics (when expand includes 'summary')"}},"required":["next_cursor","has_more"],"description":"Response containing organization usage data with pagination support"},"example":{"time_series":[{"bucket":"2025-01-15T00:00:00-05:00","results":[{"username":"acme-ml-team","product":"model_apis","endpoint_id":"fal-ai/flux/dev","unit":"image","quantity":4,"unit_price":0.1,"cost":0.4,"currency":"USD"},{"username":"acme-ml-team","product":"compute","endpoint_id":"type: gpu_1x_h100_sxm5 (my-app, production)","unit":"second","quantity":3600,"unit_price":0.001,"cost":3.6,"currency":"USD"}]}],"next_cursor":null,"has_more":false}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/meta":{"get":{"operationId":"getMeta","summary":"Get platform metadata","x-mint":{"href":"/platform-apis/v1/meta","metadata":{"sidebarTitle":"Get Platform Metadata"}},"description":"\nReturns platform metadata including webhook IP ranges for allowlisting.\n\nIf your infrastructure requires allowlisting IP addresses for incoming webhook\nrequests, this endpoint provides the current list of IP ranges used by fal.ai\nwebhooks in CIDR notation.\n ","tags":["Meta"],"responses":{"200":{"description":"Platform metadata","content":{"application/json":{"schema":{"type":"object","properties":{"webhook_ip_ranges":{"type":"array","items":{"type":"string"},"description":"IP address ranges (CIDR notation) used by fal.ai webhooks"}},"required":["webhook_ip_ranges"],"description":"Platform metadata including webhook IP ranges for allowlisting","example":{"webhook_ip_ranges":["34.123.59.101/32","34.135.41.243/32","35.239.83.87/32","104.198.204.37/32","34.56.20.205/32","34.170.94.127/32","35.224.184.236/32","136.114.56.197/32","34.29.37.237/32","35.225.160.28/32","34.56.205.145/32","34.59.170.72/32","34.10.147.45/32","104.198.64.245/32","34.9.1.255/32"]}},"example":{"webhook_ip_ranges":["34.123.59.101/32","34.135.41.243/32","35.239.83.87/32","104.198.204.37/32","34.56.20.205/32","34.170.94.127/32","35.224.184.236/32","136.114.56.197/32","34.29.37.237/32","35.225.160.28/32","34.56.205.145/32","34.59.170.72/32","34.10.147.45/32","104.198.64.245/32","34.9.1.255/32"]}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}}},"webhooks":{}} +{"openapi":"3.1.0","info":{"title":"Platform APIs","version":"v1","description":"fal REST API for programmatic access to platform resources."},"servers":[{"url":"https://api.fal.ai/v1","description":"Production server"}],"components":{"securitySchemes":{"adminApiKey":{"type":"apiKey","in":"header","name":"Authorization","description":"Admin API key must be prefixed with \"Key \", e.g. Authorization: Key YOUR_ADMIN_API_KEY"},"apiKey":{"type":"apiKey","in":"header","name":"Authorization","description":"API key must be prefixed with \"Key \", e.g. Authorization: Key YOUR_API_KEY"}},"schemas":{},"parameters":{}},"paths":{"/models":{"get":{"operationId":"getModels","summary":"Model search","x-mint":{"href":"/platform-apis/v1/models","mcp":{"enabled":true},"metadata":{"sidebarTitle":"Model Search"}},"description":"\nUnified endpoint for discovering model endpoints. Supports three usage modes:\n\n**1. List Mode** (no parameters):\nPaginated list of all available model endpoints with minimal metadata.\n\n**2. Find Mode** (`endpoint_id` parameter):\nRetrieve specific model endpoint(s) by ID. Supports single or multiple IDs.\n\n**3. Search Mode** (search parameters):\nFilter models by free-text query, category, or status.\n\n**Expansion:**\nUse `expand` to include additional data in each model object:\n- `openapi-3.0` — full OpenAPI 3.0 schema in the `openapi` field\n- `enterprise_status` — enterprise readiness status (`ready` or `pending`) in the `enterprise_status` field\n\n**Examples of `endpoint_id` values:**\n- `fal-ai/flux/dev`\n- `fal-ai/wan/v2.2-a14b/text-to-video`\n- `fal-ai/minimax/video-01/image-to-video`\n- `fal-ai/hunyuan3d-v21`\n\nSee [fal.ai Model APIs](https://docs.fal.ai/model-apis) for more details.\n\n**Authentication:** Optional. Providing an API key grants higher rate limits.\n\n**Common Use Cases:**\n- Browse available models for integration\n- Retrieve metadata for specific endpoints\n- Search for models by category or keywords\n- Get OpenAPI schemas for code generation\n- Build model selection interfaces\n ","tags":["Models"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","example":50},"required":false,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor from previous response. Encodes the page number.","example":"Mg=="},"required":false,"description":"Pagination cursor from previous response. Encodes the page number.","name":"cursor","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Endpoint ID(s) to retrieve (e.g., 'fal-ai/flux/dev'). Can be a single value or multiple values (1-50 models). When combined with search params, narrows results to these IDs. Use array syntax: ?endpoint_id=model1&endpoint_id=model2","example":["fal-ai/flux/dev","fal-ai/flux-pro"]},"required":false,"description":"Endpoint ID(s) to retrieve (e.g., 'fal-ai/flux/dev'). Can be a single value or multiple values (1-50 models). When combined with search params, narrows results to these IDs. Use array syntax: ?endpoint_id=model1&endpoint_id=model2","name":"endpoint_id","style":"form","explode":true,"in":"query"},{"schema":{"type":"string","description":"Free-text search query to filter models by name, description, or category","example":"text to image"},"required":false,"description":"Free-text search query to filter models by name, description, or category","name":"q","in":"query"},{"schema":{"type":"string","description":"Filter by category (e.g., 'text-to-image', 'image-to-video', 'training')","example":"text-to-image"},"required":false,"description":"Filter by category (e.g., 'text-to-image', 'image-to-video', 'training')","name":"category","in":"query"},{"schema":{"type":"string","enum":["active","deprecated"],"description":"Filter models by status - omit to include all statuses","example":"active"},"required":false,"description":"Filter models by status - omit to include all statuses","name":"status","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Fields to expand in the response. Supported values: 'openapi-3.0' (includes full OpenAPI 3.0 schema in 'openapi' field), 'enterprise_status' (includes enterprise readiness status)","example":["openapi-3.0","enterprise_status"]},"required":false,"description":"Fields to expand in the response. Supported values: 'openapi-3.0' (includes full OpenAPI 3.0 schema in 'openapi' field), 'enterprise_status' (includes enterprise readiness status)","name":"expand","style":"form","explode":true,"in":"query"}],"responses":{"200":{"description":"Successfully retrieved model endpoints","content":{"application/json":{"schema":{"type":"object","properties":{"models":{"type":"array","items":{"type":"object","properties":{"endpoint_id":{"type":"string","description":"Stable identifier used to call the model (e.g., 'fal-ai/wan/v2.2-a14b/text-to-video', 'fal-ai/minimax/video-01/image-to-video', 'fal-ai/hunyuan3d-v21')"},"metadata":{"type":"object","properties":{"display_name":{"type":"string","description":"Human-readable label shown on Explore/Model pages"},"category":{"type":"string","description":"Model category (e.g., 'text-to-image', 'image-to-video', 'text-to-video', 'image-to-3d', 'training')"},"description":{"type":"string","description":"Brief description of the model's capabilities and use cases"},"status":{"type":"string","enum":["active","deprecated"],"description":"'active' or 'deprecated'. Newest models are surfaced in Explore and may be flagged as 'new/beta' in tags"},"tags":{"type":"array","items":{"type":"string"},"description":"Freeform tags such as 'new', 'beta', 'pro', or 'turbo' (Explore badges)"},"updated_at":{"type":"string","description":"ISO8601 timestamp of when the model was last updated"},"is_favorited":{"type":["boolean","null"],"description":"Whether the model is favorited by the authenticated user (null when unauthenticated)"},"thumbnail_url":{"type":"string","description":"Main thumbnail image URL"},"thumbnail_animated_url":{"type":"string","description":"Animated thumbnail URL (optional)"},"model_url":{"type":"string","description":"Full model endpoint URL (e.g., https://fal.run/...)"},"github_url":{"type":"string","description":"License or GitHub URL (optional)"},"license_type":{"type":"string","enum":["commercial","research","private"],"description":"License type for the model (optional)"},"date":{"type":"string","description":"ISO8601 timestamp of model creation"},"group":{"type":"object","properties":{"key":{"type":"string","description":"Group key identifier"},"label":{"type":"string","description":"Human-readable group label"}},"required":["key","label"],"description":"Model group information (optional)"},"highlighted":{"type":"boolean","description":"Whether the model is highlighted (deprecated, always false)","deprecated":true,"example":false},"kind":{"type":"string","enum":["inference","training"],"description":"Model kind - inference or training (optional)"},"training_endpoint_ids":{"type":"array","items":{"type":"string"},"description":"Related training endpoint IDs (optional, only present when non-empty, for inference models)"},"inference_endpoint_ids":{"type":"array","items":{"type":"string"},"description":"Related inference endpoint IDs (optional, only present when non-empty, for training models)"},"stream_url":{"type":"string","description":"Streaming endpoint URL (optional)"},"duration_estimate":{"type":"number","description":"Estimated duration in minutes (optional)"},"pinned":{"type":"boolean","description":"Whether the model is pinned (deprecated, always false)","deprecated":true,"example":false}},"required":["display_name","category","description","status","tags","updated_at","is_favorited","thumbnail_url","model_url","date","highlighted","pinned"],"description":"Model metadata (optional - may be absent for endpoints without registry entries)"},"openapi":{"anyOf":[{"type":"object","properties":{"openapi":{"type":"string","description":"OpenAPI version (e.g., '3.0.4')"}},"required":["openapi"],"additionalProperties":{},"description":"OpenAPI 3.0 specification for the model"},{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"Error code (e.g., 'expansion_failed')"},"message":{"type":"string","description":"Human-readable error message"}},"required":["code","message"],"description":"Error details for failed OpenAPI expansion"}},"required":["error"],"description":"Error encountered while expanding OpenAPI schema"}],"description":"OpenAPI 3.0 specification or error (present when expand=openapi-3.0 is requested)"},"enterprise_status":{"anyOf":[{"type":"string","enum":["ready","pending"],"description":"'ready' means approved for enterprise use, 'pending' means awaiting approval"},{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"Error code (e.g., 'expansion_failed')"},"message":{"type":"string","description":"Human-readable error message"}},"required":["code","message"],"description":"Error details for failed enterprise status expansion"}},"required":["error"],"description":"Error encountered while expanding enterprise status"}],"description":"Enterprise readiness status (present when expand=enterprise_status is requested)"}},"required":["endpoint_id"],"description":"Model information with optional metadata and expandable fields"},"description":"Array of model information"},"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results, null if no more pages"},"has_more":{"type":"boolean","description":"Boolean indicating if more results are available (convenience field derived from next_cursor)"}},"required":["models","has_more"],"description":"Response containing model data with pagination support"},"example":{"models":[{"endpoint_id":"fal-ai/flux/dev","metadata":{"display_name":"FLUX.1 [dev]","category":"text-to-image","description":"Fast text-to-image generation","status":"active","tags":["fast","pro"],"updated_at":"2025-01-15T12:00:00Z","is_favorited":false,"thumbnail_url":"https://fal.media/files/example.jpg","model_url":"https://fal.run/fal-ai/flux/dev","date":"2024-08-01T00:00:00Z","highlighted":false,"pinned":false}}],"next_cursor":null,"has_more":false}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/models/pricing":{"get":{"operationId":"getPricing","summary":"Pricing","x-mint":{"href":"/platform-apis/v1/models/pricing","metadata":{"sidebarTitle":"Pricing"}},"description":"\nReturns unit pricing for requested endpoint IDs. Most models use\n**output-based** pricing (e.g., per image/video with proportional\nadjustments for resolution/length). Some models use **GPU-based** pricing\ndepending on architecture. Values are expressed per model's billing unit\nin a given currency.\n\n**Authentication:** Required. Users must provide a valid API key. \nCustom pricing or discounts may be applied based on account status.\n\n**Common Use Cases:**\n- Display pricing in user interfaces\n- Compare pricing across different models\n- Build cost estimation tools\n- Check current billing rates\n\nSee [fal.ai pricing](https://fal.ai/pricing) for more details.\n ","tags":["Models","Pricing"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","example":["fal-ai/flux/dev"]},"required":true,"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","name":"endpoint_id","style":"form","explode":true,"in":"query"}],"responses":{"200":{"description":"Pricing information retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results, null if no more pages"},"has_more":{"type":"boolean","description":"Boolean indicating if more results are available (convenience field derived from next_cursor)"},"prices":{"type":"array","items":{"type":"object","properties":{"endpoint_id":{"type":"string","description":"Endpoint identifier (e.g., 'fal-ai/wan/v2.2-a14b/text-to-video', 'fal-ai/minimax/video-01/image-to-video')"},"unit_price":{"type":"number","minimum":0,"description":"Base price per billing unit (often per generated output; may be per GPU-second for some models) in the specified currency"},"unit":{"type":"string","description":"Unit of measurement for billing: 'image', 'video', or provider-specific GPU/compute unit when applicable. Most models use output-based pricing."},"currency":{"type":"string","minLength":3,"maxLength":3,"description":"Three-letter currency code (ISO 4217, e.g., 'USD')"}},"required":["endpoint_id","unit_price","unit","currency"],"description":"Pricing information for a specific model endpoint. Most models use output-based pricing (e.g., per image/video with proportional adjustments for resolution/length). Some models use GPU-based pricing depending on architecture."},"description":"Pricing information for requested endpoints"}},"required":["next_cursor","has_more","prices"],"description":"Response containing pricing information for requested endpoints"},"example":{"prices":[{"endpoint_id":"fal-ai/flux/dev","unit_price":0.025,"unit":"image","currency":"USD"}],"next_cursor":null,"has_more":false}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}}}}},"/models/pricing/estimate":{"post":{"operationId":"estimatePricing","summary":"Estimate cost","x-mint":{"href":"/platform-apis/v1/models/pricing/estimate","metadata":{"sidebarTitle":"Estimate Cost"}},"description":"\nComputes cost estimates using one of two methods:\n\n**1. Historical API Price** (`historical_api_price`):\n- Based on historical pricing per API call from past usage patterns\n- Takes `call_quantity` (number of API calls) per endpoint\n- Useful for estimating based on actual historical usage patterns\n- Example: \"How much will 100 calls to flux/dev cost?\"\n\n**2. Unit Price** (`unit_price`):\n- Based on unit price × expected billing units from pricing service\n- Takes `unit_quantity` (number of billing units like images/videos) per endpoint\n- Useful when you know the expected output quantity\n- Example: \"How much will 50 images from flux/dev cost?\"\n\n**Authentication:** Required. Users must provide a valid API key.\nCustom pricing or discounts may be applied based on account status.\n\n**Common Use Cases:**\n- Pre-calculate costs for batch operations\n- Display cost estimates in user interfaces\n- Budget planning and cost optimization\n\nSee [fal.ai pricing](https://fal.ai/pricing) for more details.\n ","tags":["Models","Pricing"],"security":[{"apiKey":[]}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"estimate_type":{"type":"string","enum":["historical_api_price"],"description":"Estimate type: historical API pricing based on past usage patterns"},"endpoints":{"type":"object","additionalProperties":{"type":"object","properties":{"call_quantity":{"type":"integer","minimum":1,"description":"Number of API calls to estimate (regardless of units per call)"}},"required":["call_quantity"]},"description":"Map of endpoint IDs to call quantities"}},"required":["estimate_type","endpoints"],"description":"Historical API price estimate: Calculates cost based on historical pricing per API call. Useful for estimating costs based on actual usage patterns."},{"type":"object","properties":{"estimate_type":{"type":"string","enum":["unit_price"],"description":"Estimate type: unit price calculation based on billing units"},"endpoints":{"type":"object","additionalProperties":{"type":"object","properties":{"unit_quantity":{"type":"number","minimum":0.000001,"description":"Number of billing units expected (e.g., number of images, videos, etc.)"}},"required":["unit_quantity"]},"description":"Map of endpoint IDs to unit quantities"}},"required":["estimate_type","endpoints"],"description":"Unit price estimate: Calculates cost based on unit price × billing units. Useful for estimating costs when you know the expected output quantity."}],"example":{"estimate_type":"historical_api_price","endpoints":{"fal-ai/flux/dev":{"call_quantity":100},"fal-ai/flux/schnell":{"call_quantity":50}}}},"examples":{"historical":{"value":{"estimate_type":"historical_api_price","endpoints":{"fal-ai/flux/dev":{"call_quantity":100},"fal-ai/flux/schnell":{"call_quantity":50}}},"summary":"Historical API price estimate"},"unit_price":{"value":{"estimate_type":"unit_price","endpoints":{"fal-ai/flux/dev":{"unit_quantity":50},"fal-ai/flux-pro":{"unit_quantity":25}}},"summary":"Unit price estimate"}}}}},"responses":{"200":{"description":"Cost estimates calculated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"estimate_type":{"type":"string","enum":["historical_api_price","unit_price"],"description":"The type of estimate that was performed"},"total_cost":{"type":"number","minimum":0,"description":"Total estimated cost across all endpoints"},"currency":{"type":"string","minLength":3,"maxLength":3,"description":"Three-letter currency code (ISO 4217, e.g., 'USD')"}},"required":["estimate_type","total_cost","currency"],"description":"Cost estimation response with total cost","example":{"estimate_type":"historical_api_price","total_cost":3.75,"currency":"USD"}},"examples":{"historical":{"value":{"estimate_type":"historical_api_price","total_cost":3.75,"currency":"USD"},"summary":"Historical API price estimate result"},"unit_price":{"value":{"estimate_type":"unit_price","total_cost":1.88,"currency":"USD"},"summary":"Unit price estimate result"}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}}}}},"/models/usage":{"get":{"operationId":"getUsage","summary":"Usage","x-mint":{"href":"/platform-apis/v1/models/usage","metadata":{"sidebarTitle":"Usage"}},"description":"\nReturns paginated usage records for your workspace with filters for endpoint,\nuser, date range, and auth method. Each item includes the billed unit\nquantity and unit price used to compute cost.\n\n**Key Features:**\n- Usage data for all endpoints or filtered by specific endpoint(s)\n- Flexible date range filtering\n- User-specific usage tracking\n- Detailed usage line items with unit quantity and price\n- Paginated results for large datasets\n\n**Common Use Cases:**\n- Generate usage reports for all endpoints or specific models\n- Track usage patterns\n- Monitor endpoint usage across different auth methods\n- Build usage dashboards and visualizations\n\nSee [fal.ai docs](https://docs.fal.ai/model-apis/faq) for more details.\n ","tags":["Models","Usage"],"security":[{"adminApiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","example":50},"required":false,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor from previous response. Encodes the page number.","example":"Mg=="},"required":false,"description":"Pagination cursor from previous response. Encodes the page number.","name":"cursor","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","example":"2025-01-01T00:00:00Z"},"required":false,"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","name":"start","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","example":"2025-02-01T00:00:00Z"},"required":false,"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","name":"end","in":"query"},{"schema":{"type":"string","default":"UTC","description":"Timezone for date aggregation and boundaries. All timestamps in responses are in UTC, but this controls how dates are bucketed.","example":"UTC"},"required":false,"description":"Timezone for date aggregation and boundaries. All timestamps in responses are in UTC, but this controls how dates are bucketed.","name":"timezone","in":"query"},{"schema":{"type":"string","enum":["minute","hour","day","week","month"],"description":"Aggregation timeframe for timeseries data (auto-detected from date range if not specified). Auto-detection uses: minute (<2h), hour (<2d), day (<64d), week (<183d), month (>=183d).","example":"day"},"required":false,"description":"Aggregation timeframe for timeseries data (auto-detected from date range if not specified). Auto-detection uses: minute (<2h), hour (<2d), day (<64d), week (<183d), month (>=183d).","name":"timeframe","in":"query"},{"schema":{"type":"string","enum":["true","false"],"default":"true","description":"Whether to adjust start/end dates to align with timeframe boundaries and use exclusive end. Defaults to true. When true, dates are aligned to the start of the timeframe period (e.g., start of day) and end is made exclusive (e.g., start of next day). When false, uses exact dates provided.","example":"true"},"required":false,"description":"Whether to adjust start/end dates to align with timeframe boundaries and use exclusive end. Defaults to true. When true, dates are aligned to the start of the timeframe period (e.g., start of day) and end is made exclusive (e.g., start of next day). When false, uses exact dates provided.","name":"bound_to_timeframe","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","example":["fal-ai/flux/dev"]},"required":false,"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","name":"endpoint_id","style":"form","explode":true,"in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"default":["time_series"],"description":"Data to include in the response. Use 'time_series' for time-bucketed data, 'summary' for aggregate statistics, and 'auth_method' to include authentication method information (formatted with user key aliases). At least one of 'time_series' or 'summary' is required.","example":["time_series","auth_method"]},"required":false,"description":"Data to include in the response. Use 'time_series' for time-bucketed data, 'summary' for aggregate statistics, and 'auth_method' to include authentication method information (formatted with user key aliases). At least one of 'time_series' or 'summary' is required.","name":"expand","style":"form","explode":true,"in":"query"}],"responses":{"200":{"description":"Usage data retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results, null if no more pages"},"has_more":{"type":"boolean","description":"Boolean indicating if more results are available (convenience field derived from next_cursor)"},"time_series":{"type":"array","items":{"type":"object","properties":{"bucket":{"type":"string","description":"Time bucket timestamp in user's timezone with offset (ISO8601 datetime)"},"results":{"type":"array","items":{"type":"object","properties":{"endpoint_id":{"type":"string","description":"Endpoint identifier that was used (e.g., 'fal-ai/flux/dev')"},"unit":{"type":"string","description":"The billing unit (e.g., 'image', 'video', or a GPU/compute unit for some models)"},"quantity":{"type":"number","minimum":0,"description":"Quantity of usage in the specified billing unit"},"unit_price":{"type":"number","minimum":0,"description":"Unit price used to compute charges for this line item"},"cost":{"type":"number","minimum":0,"description":"Computed cost (quantity × unit_price)"},"currency":{"type":"string","minLength":3,"maxLength":3,"description":"Three-letter currency code (ISO 4217, e.g., 'USD')"},"auth_method":{"type":"string","description":"Authentication method label (e.g., 'Key 1', 'Key 2', 'User token'). Only populated when 'auth_method' is included in expand parameter."}},"required":["endpoint_id","unit","quantity","unit_price","cost","currency"],"description":"Usage line item with billing details"},"description":"Usage records for this time bucket"}},"required":["bucket","results"],"description":"Time bucket with grouped usage records"},"description":"Time series usage data grouped by time bucket (when expand includes 'time_series'). Each bucket contains all usage records for that time period."},"summary":{"type":"array","items":{"type":"object","properties":{"endpoint_id":{"type":"string","description":"Endpoint identifier that was used (e.g., 'fal-ai/flux/dev')"},"unit":{"type":"string","description":"The billing unit (e.g., 'image', 'video', or a GPU/compute unit for some models)"},"quantity":{"type":"number","minimum":0,"description":"Quantity of usage in the specified billing unit"},"unit_price":{"type":"number","minimum":0,"description":"Unit price used to compute charges for this line item"},"cost":{"type":"number","minimum":0,"description":"Computed cost (quantity × unit_price)"},"currency":{"type":"string","minLength":3,"maxLength":3,"description":"Three-letter currency code (ISO 4217, e.g., 'USD')"},"auth_method":{"type":"string","description":"Authentication method label (e.g., 'Key 1', 'Key 2', 'User token'). Only populated when 'auth_method' is included in expand parameter."}},"required":["endpoint_id","unit","quantity","unit_price","cost","currency"],"description":"Aggregate usage statistics for the entire date range"},"description":"Aggregate statistics (when expand includes 'summary')"}},"required":["next_cursor","has_more"],"description":"Response containing usage data with pagination support"},"example":{"time_series":[{"bucket":"2025-01-15T00:00:00-05:00","results":[{"endpoint_id":"fal-ai/flux/dev","unit":"image","quantity":4,"unit_price":0.1,"cost":0.4,"currency":"USD","auth_method":"Production Key"}]}],"next_cursor":null,"has_more":false}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}}}}},"/models/analytics":{"get":{"operationId":"getAnalytics","summary":"Analytics","x-mint":{"href":"/platform-apis/v1/models/analytics","metadata":{"sidebarTitle":"Analytics"}},"description":"\nTime-bucketed metrics per model endpoint, including request counts, success/error\nrates, and latency percentiles. `prepare_duration` reflects queue/prepare\ntime before execution; `duration` is request execution time. Use with the\nQueue/Webhooks flow to monitor SLAs.\n\n**Metric Selection:**\nYou must specify which metrics to include using the `expand` query\nparameter. Only requested metrics will be populated in the response,\nallowing you to optimize query performance and data transfer.\n\n**Available Metrics:**\n\nThe `expand` parameter accepts these values, grouped by category:\n\n*Volume*\n- `request_count`: Total number of requests in the time bucket\n- `success_count`: Successful requests (2xx responses)\n- `user_error_count`: User errors (4xx responses)\n- `error_count`: Server errors (5xx responses)\n\n*Error type breakdown*\n- `startup_error_count`: Startup errors (startup timeout, scheduling failure)\n- `connection_error_count`: Connection errors (timeout, disconnected, refused)\n- `timeout_error_count`: Request timeout errors\n- `runtime_error_count`: Runtime errors (internal error, server error)\n\n*Queue / prepare latency*\n- `p50_prepare_duration`, `p75_prepare_duration`, `p90_prepare_duration`, `p95_prepare_duration`, `p99_prepare_duration`: Time from request submission until execution starts\n\n*Request execution latency*\n- `p25_duration`, `p50_duration`, `p75_duration`, `p90_duration`, `p95_duration`, `p99_duration`: Time spent processing the request\n\n*Cold boot*\n- `cold_boot_count`: Requests with cold boot (startup > 1s)\n- `p50_cold_boot_duration`, `p75_cold_boot_duration`, `p90_cold_boot_duration`: Cold boot duration percentiles\n\n*Billing*\n- `total_billable_duration`: Aggregate billed execution time\n\n**Key Features:**\n- Selective metric inclusion via expand parameter\n- Performance metrics (latency percentiles, duration stats)\n- Reliability metrics (success/error rates, request counts)\n- Error type breakdown (startup, connection, timeout, runtime)\n- Cold boot metrics (count, latency percentiles)\n- Billing duration tracking\n- Time-bucketed data for trend analysis\n- Single or multi-model analytics\n- Flexible date range and timeframe options\n\n**Common Use Cases:**\n- Monitor model performance and reliability\n- Generate performance dashboards\n- Analyze latency trends and patterns\n- Track error rates and success metrics\n\nSee [Queue API docs](https://docs.fal.ai/model-apis/model-endpoints/queue) for more details.\n ","tags":["Models","Analytics"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","example":50},"required":false,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor from previous response. Encodes the page number.","example":"Mg=="},"required":false,"description":"Pagination cursor from previous response. Encodes the page number.","name":"cursor","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","example":"2025-01-01T00:00:00Z"},"required":false,"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","name":"start","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","example":"2025-02-01T00:00:00Z"},"required":false,"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","name":"end","in":"query"},{"schema":{"type":"string","default":"UTC","description":"Timezone for date aggregation and boundaries. All timestamps in responses are in UTC, but this controls how dates are bucketed.","example":"UTC"},"required":false,"description":"Timezone for date aggregation and boundaries. All timestamps in responses are in UTC, but this controls how dates are bucketed.","name":"timezone","in":"query"},{"schema":{"type":"string","enum":["minute","hour","day","week","month"],"description":"Aggregation timeframe for timeseries data (auto-detected from date range if not specified). Auto-detection uses: minute (<2h), hour (<2d), day (<64d), week (<183d), month (>=183d).","example":"day"},"required":false,"description":"Aggregation timeframe for timeseries data (auto-detected from date range if not specified). Auto-detection uses: minute (<2h), hour (<2d), day (<64d), week (<183d), month (>=183d).","name":"timeframe","in":"query"},{"schema":{"type":"string","enum":["true","false"],"default":"true","description":"Whether to adjust start/end dates to align with timeframe boundaries and use exclusive end. Defaults to true. When true, dates are aligned to the start of the timeframe period (e.g., start of day) and end is made exclusive (e.g., start of next day). When false, uses exact dates provided.","example":"true"},"required":false,"description":"Whether to adjust start/end dates to align with timeframe boundaries and use exclusive end. Defaults to true. When true, dates are aligned to the start of the timeframe period (e.g., start of day) and end is made exclusive (e.g., start of next day). When false, uses exact dates provided.","name":"bound_to_timeframe","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","example":["fal-ai/flux/dev"]},"required":true,"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","name":"endpoint_id","style":"form","explode":true,"in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"default":["time_series","request_count"],"description":"Data and metrics to include in the response. Use 'time_series' for time-bucketed data, metric names for specific metrics in time series, and 'summary' for aggregate statistics. At least one of 'time_series' or 'summary' and at least one metric are required.","example":["request_count","success_count"]},"required":false,"description":"Data and metrics to include in the response. Use 'time_series' for time-bucketed data, metric names for specific metrics in time series, and 'summary' for aggregate statistics. At least one of 'time_series' or 'summary' and at least one metric are required.","name":"expand","style":"form","explode":true,"in":"query"}],"responses":{"200":{"description":"Analytics data retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results, null if no more pages"},"has_more":{"type":"boolean","description":"Boolean indicating if more results are available (convenience field derived from next_cursor)"},"time_series":{"type":"array","items":{"type":"object","properties":{"bucket":{"type":"string","description":"Time bucket timestamp in user's timezone with offset (ISO8601 datetime)"},"results":{"type":"array","items":{"type":"object","properties":{"endpoint_id":{"type":"string","description":"Endpoint identifier for these statistics"},"request_count":{"type":"integer","minimum":0,"description":"Total number of requests"},"success_count":{"type":"integer","minimum":0,"description":"Number of successful requests (2xx responses)"},"user_error_count":{"type":"integer","minimum":0,"description":"Number of user errors (4xx responses)"},"error_count":{"type":"integer","minimum":0,"description":"Number of server errors (5xx responses)"},"p50_prepare_duration":{"type":"number","minimum":0,"description":"50th percentile queue/prepare time before execution in seconds"},"p75_prepare_duration":{"type":"number","minimum":0,"description":"75th percentile queue/prepare time before execution in seconds"},"p90_prepare_duration":{"type":"number","minimum":0,"description":"90th percentile queue/prepare time before execution in seconds"},"p95_prepare_duration":{"type":"number","minimum":0,"description":"95th percentile queue/prepare time before execution in seconds"},"p99_prepare_duration":{"type":"number","minimum":0,"description":"99th percentile queue/prepare time before execution in seconds"},"p50_duration":{"type":"number","minimum":0,"description":"50th percentile request execution duration in seconds"},"p75_duration":{"type":"number","minimum":0,"description":"75th percentile request execution duration in seconds"},"p90_duration":{"type":"number","minimum":0,"description":"90th percentile request execution duration in seconds"},"p25_duration":{"type":"number","minimum":0,"description":"25th percentile request execution duration in seconds"},"p95_duration":{"type":"number","minimum":0,"description":"95th percentile request execution duration in seconds"},"p99_duration":{"type":"number","minimum":0,"description":"99th percentile request execution duration in seconds"},"startup_error_count":{"type":"integer","minimum":0,"description":"Number of startup errors (startup timeout, scheduling failure)"},"connection_error_count":{"type":"integer","minimum":0,"description":"Number of connection errors (connection timeout, disconnected, refused)"},"timeout_error_count":{"type":"integer","minimum":0,"description":"Number of request timeout errors"},"runtime_error_count":{"type":"integer","minimum":0,"description":"Number of runtime errors (internal error, server error)"},"cold_boot_count":{"type":"integer","minimum":0,"description":"Number of requests with cold boot (startup time > 1 second)"},"p50_cold_boot_duration":{"type":"number","minimum":0,"description":"50th percentile cold boot duration in seconds (only cold starts)"},"p75_cold_boot_duration":{"type":"number","minimum":0,"description":"75th percentile cold boot duration in seconds (only cold starts)"},"p90_cold_boot_duration":{"type":"number","minimum":0,"description":"90th percentile cold boot duration in seconds (only cold starts)"},"total_billable_duration":{"type":"number","minimum":0,"description":"Total billable execution duration in seconds (sum of all request durations)"}},"required":["endpoint_id"],"description":"Performance and reliability analytics. Only requested metrics (via expand parameter) will be present in the response. 'prepare_duration' reflects queue/prepare time before execution; 'duration' is request execution time."},"description":"Analytics records for this time bucket"}},"required":["bucket","results"],"description":"Time bucket with grouped analytics records"},"description":"Time series analytics data grouped by time bucket (when expand includes 'time_series'). Each bucket contains all analytics records for that time period."},"summary":{"type":"array","items":{"type":"object","properties":{"endpoint_id":{"type":"string","description":"Endpoint identifier for these statistics"},"request_count":{"type":"integer","minimum":0,"description":"Total number of requests"},"success_count":{"type":"integer","minimum":0,"description":"Number of successful requests (2xx responses)"},"user_error_count":{"type":"integer","minimum":0,"description":"Number of user errors (4xx responses)"},"error_count":{"type":"integer","minimum":0,"description":"Number of server errors (5xx responses)"},"p50_prepare_duration":{"type":"number","minimum":0,"description":"50th percentile queue/prepare time before execution in seconds"},"p75_prepare_duration":{"type":"number","minimum":0,"description":"75th percentile queue/prepare time before execution in seconds"},"p90_prepare_duration":{"type":"number","minimum":0,"description":"90th percentile queue/prepare time before execution in seconds"},"p95_prepare_duration":{"type":"number","minimum":0,"description":"95th percentile queue/prepare time before execution in seconds"},"p99_prepare_duration":{"type":"number","minimum":0,"description":"99th percentile queue/prepare time before execution in seconds"},"p50_duration":{"type":"number","minimum":0,"description":"50th percentile request execution duration in seconds"},"p75_duration":{"type":"number","minimum":0,"description":"75th percentile request execution duration in seconds"},"p90_duration":{"type":"number","minimum":0,"description":"90th percentile request execution duration in seconds"},"p25_duration":{"type":"number","minimum":0,"description":"25th percentile request execution duration in seconds"},"p95_duration":{"type":"number","minimum":0,"description":"95th percentile request execution duration in seconds"},"p99_duration":{"type":"number","minimum":0,"description":"99th percentile request execution duration in seconds"},"startup_error_count":{"type":"integer","minimum":0,"description":"Number of startup errors (startup timeout, scheduling failure)"},"connection_error_count":{"type":"integer","minimum":0,"description":"Number of connection errors (connection timeout, disconnected, refused)"},"timeout_error_count":{"type":"integer","minimum":0,"description":"Number of request timeout errors"},"runtime_error_count":{"type":"integer","minimum":0,"description":"Number of runtime errors (internal error, server error)"},"cold_boot_count":{"type":"integer","minimum":0,"description":"Number of requests with cold boot (startup time > 1 second)"},"p50_cold_boot_duration":{"type":"number","minimum":0,"description":"50th percentile cold boot duration in seconds (only cold starts)"},"p75_cold_boot_duration":{"type":"number","minimum":0,"description":"75th percentile cold boot duration in seconds (only cold starts)"},"p90_cold_boot_duration":{"type":"number","minimum":0,"description":"90th percentile cold boot duration in seconds (only cold starts)"},"total_billable_duration":{"type":"number","minimum":0,"description":"Total billable execution duration in seconds (sum of all request durations)"}},"required":["endpoint_id"],"description":"Aggregate performance statistics for the entire date range"},"description":"Aggregate statistics (when expand includes 'summary')"}},"required":["next_cursor","has_more"],"description":"Response containing performance analytics with pagination support"},"example":{"time_series":[{"bucket":"2025-01-15T12:00:00-05:00","results":[{"endpoint_id":"fal-ai/flux/dev","request_count":1500,"success_count":1450,"p50_duration":2.5,"p90_duration":4.8}]}],"next_cursor":null,"has_more":false}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/models/billing-events":{"get":{"operationId":"getBillingEvents","summary":"Billing Events","x-mint":{"href":"/platform-apis/v1/models/billing-events","metadata":{"sidebarTitle":"Billing Events"}},"description":"\nReturns paginated individual billing event records with filters\nfor endpoint and date range. Each record includes the request ID, timestamp,\nendpoint, and output units billed.\n\n**Key Features:**\n- Individual billing event records for each API request\n- Flexible date range filtering\n- Optional endpoint filtering\n- Cursor-based pagination for efficient large dataset queries\n- Limited to 10000 records per page for performance\n- Date range capped at 90 days per request\n\n**Common Use Cases:**\n- Audit individual billing events\n- Track request patterns and volumes\n- Debug specific requests by ID\n- Monitor billing unit consumption per request\n\nSee [fal.ai docs](https://docs.fal.ai/model-apis/faq) for more details.\n ","tags":["Models","Usage"],"security":[{"adminApiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","example":50},"required":false,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor from previous response. Encodes the page number.","example":"Mg=="},"required":false,"description":"Pagination cursor from previous response. Encodes the page number.","name":"cursor","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","example":"2025-01-01T00:00:00Z"},"required":false,"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","name":"start","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","example":"2025-02-01T00:00:00Z"},"required":false,"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","name":"end","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","example":["fal-ai/flux/dev"]},"required":false,"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","name":"endpoint_id","style":"form","explode":true,"in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter by specific request ID(s). Accepts 1-50 request IDs. Supports comma-separated values: ?request_id=req1,req2 or array syntax: ?request_id=req1&request_id=req2","example":["req-abc123"]},"required":false,"description":"Filter by specific request ID(s). Accepts 1-50 request IDs. Supports comma-separated values: ?request_id=req1,req2 or array syntax: ?request_id=req1&request_id=req2","name":"request_id","style":"form","explode":true,"in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Data to include in the response. Use 'auth_method' to include authentication method information (formatted with user key aliases).","example":"auth_method"},"required":false,"description":"Data to include in the response. Use 'auth_method' to include authentication method information (formatted with user key aliases).","name":"expand","style":"form","explode":true,"in":"query"}],"responses":{"200":{"description":"Billing event data retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results, null if no more pages"},"has_more":{"type":"boolean","description":"Boolean indicating if more results are available (convenience field derived from next_cursor)"},"billing_events":{"type":"array","items":{"type":"object","properties":{"request_id":{"type":"string","description":"Unique identifier for the request"},"endpoint_id":{"type":"string","description":"Endpoint identifier that was used (e.g., 'fal-ai/flux/dev')"},"timestamp":{"type":"string","description":"Request timestamp in ISO8601 format"},"output_units":{"type":["number","null"],"minimum":0,"description":"Custom billing units for this request"},"unit_price":{"type":["number","null"],"minimum":0,"description":"Unit price for this request"},"percent_discount":{"type":["number","null"],"description":"Discount percentage applied to this request (e.g., 10 = 10% discount)"},"cost_estimate_nano_usd":{"type":"number","minimum":0,"description":"Estimated cost in nano USD (1 USD = 1,000,000,000 nano USD)"},"auth_method":{"type":"string","description":"Authentication method label (e.g., 'Key 1', 'API Key', 'User token'). Only populated when 'auth_method' is included in expand parameter."}},"required":["request_id","endpoint_id","timestamp","output_units","unit_price","percent_discount","cost_estimate_nano_usd"],"description":"Individual billing event record with details"},"description":"List of billing event records"}},"required":["next_cursor","has_more","billing_events"],"description":"Response containing billing event data with pagination support"},"example":{"billing_events":[{"request_id":"abc123","endpoint_id":"fal-ai/flux/dev","timestamp":"2025-01-15T10:30:45Z","output_units":1.5,"unit_price":0.001,"percent_discount":null,"cost_estimate_nano_usd":1500000},{"request_id":"def456","endpoint_id":"fal-ai/flux/dev","timestamp":"2025-01-15T10:25:30Z","output_units":2,"unit_price":0.001,"percent_discount":10,"cost_estimate_nano_usd":1800000}],"next_cursor":"MjAyNS0wMS0xNVQxMDoyNTozMFo=","has_more":true}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}}}}},"/models/requests/{request_id}/payloads":{"delete":{"operationId":"deleteRequestPayloads","summary":"Delete request payloads","x-mint":{"href":"/platform-apis/v1/models/requests/payloads","metadata":{"sidebarTitle":"Delete Request Payloads"}},"description":"Deletes the IO payloads and associated CDN output files for a specific request.\n\n**Important:**\n- Only **output** CDN files are deleted (input files may be used by other requests)\n- This action is irreversible\n- Requires authentication with an admin API key\n\n**What gets deleted:**\n- Request input/output payload data\n- CDN-hosted output files (images, videos, etc.)\n\n**What is NOT deleted:**\n- Input CDN files (may be referenced by other requests)\n\n**Response:**\n- Returns deletion status for each CDN file\n- Each result includes the file link and any error that occurred\n\n**Idempotency:**\n- Optional Idempotency-Key header prevents duplicate deletions on retries\n- Responses cached for 10 minutes per unique key\n\nSee [fal.ai docs](https://docs.fal.ai/model-apis/payloads) for more details about request payloads.","tags":["Models","Requests"],"security":[{"adminApiKey":[]}],"parameters":[{"schema":{"type":"string","format":"uuid","description":"Unique identifier for the request (UUID format)","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"},"required":true,"description":"Unique identifier for the request (UUID format)","name":"request_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"responses":{"200":{"description":"Request payloads deleted successfully","content":{"application/json":{"schema":{"type":"object","properties":{"cdn_delete_results":{"type":"array","items":{"type":"object","properties":{"link":{"type":"string","description":"CDN URL of the file that was targeted for deletion","example":"https://v3.fal.media/files/example/output.png"},"exception":{"type":["string","null"],"description":"Error message if deletion failed for this file, null if successful","example":null}},"required":["link","exception"],"description":"Result of deleting a single CDN file"},"description":"Array of deletion results for each CDN file associated with the request output"}},"required":["cdn_delete_results"],"description":"Response containing the results of deleting request payloads and CDN output files"},"example":{"cdn_delete_results":[{"link":"https://v3.fal.media/files/abc123/output.png","exception":null},{"link":"https://v3.fal.media/files/def456/output.mp4","exception":null}]}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/models/requests/by-endpoint":{"get":{"operationId":"listRequestsByEndpoint","summary":"List requests by endpoint(s)","x-mint":{"href":"/platform-apis/v1/models/requests/by-endpoint","metadata":{"sidebarTitle":"List Requests by Endpoint"}},"description":"Lists requests for one or more endpoints (same `endpoint_id` style as usage/explore:\ncomma-separated or repeated query params, up to 50 IDs).\n\n**Authentication:** Requires API key (user or enterprise).\n\n**Filters:**\n- Time range via start / end. If `start` is omitted, defaults to the last 24 hours — unless `request_id` is provided, in which case the default start bound is widened to 90 days.\n- Status (success, error, user_error)\n- Request ID\n- Pagination via cursor/limit (limit defaults to 50, max 100)\n\n**Sorting:**\n- By end time (default) or duration\n\n**Expansions:**\n- Include payloads by adding expand=payloads","tags":["Models","Requests"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"maximum":100,"default":50,"description":"Number of items to return per page (max 100)","example":20},"required":false,"description":"Number of items to return per page (max 100)","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor encoding the page number","example":"Mg=="},"required":false,"description":"Pagination cursor encoding the page number","name":"cursor","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","example":["fal-ai/flux/dev"]},"required":true,"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","name":"endpoint_id","style":"form","explode":true,"in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","example":"2025-01-01T00:00:00Z"},"required":false,"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","name":"start","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","example":"2025-02-01T00:00:00Z"},"required":false,"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","name":"end","in":"query"},{"schema":{"type":"string","enum":["success","error","user_error"],"description":"Filter by request status","example":"success"},"required":false,"description":"Filter by request status","name":"status","in":"query"},{"schema":{"type":"string","format":"uuid","description":"Filter by specific request ID","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"},"required":false,"description":"Filter by specific request ID","name":"request_id","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Fields to expand in the response. Use payloads to include input and output payloads.","example":["payloads"]},"required":false,"description":"Fields to expand in the response. Use payloads to include input and output payloads.","name":"expand","style":"form","explode":true,"in":"query"},{"schema":{"type":"string","enum":["ended_at","duration"],"default":"ended_at","description":"Sort results by end time or duration","example":"ended_at"},"required":false,"description":"Sort results by end time or duration","name":"sort_by","in":"query"}],"responses":{"200":{"description":"Requests listed successfully","content":{"application/json":{"schema":{"type":"object","properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results, null if no more pages"},"has_more":{"type":"boolean","description":"Boolean indicating if more results are available (convenience field derived from next_cursor)"},"items":{"type":"array","items":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid","description":"Unique identifier for the request","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"},"endpoint_id":{"type":"string","description":"Endpoint that was executed for this request","example":"fal-ai/flux/dev"},"started_at":{"type":"string","format":"date-time","description":"Time when request processing started","example":"2025-01-01T00:00:05Z"},"sent_at":{"type":"string","format":"date-time","description":"Time when request was sent to the backend","example":"2025-01-01T00:00:01Z"},"ended_at":{"type":["string","null"],"format":"date-time","description":"Time when request finished processing","example":"2025-01-01T00:00:08Z"},"status_code":{"type":["integer","null"],"description":"HTTP status code returned by the request","example":200},"duration":{"type":["number","null"],"description":"Total request duration in seconds","example":7.8},"json_input":{"description":"Input payload for the request"},"json_output":{"description":"Output payload for the request"}},"required":["request_id","endpoint_id","started_at","sent_at"],"description":"Request item"},"description":"List of requests matching the filter"}},"required":["next_cursor","has_more","items"],"description":"Paginated list of requests for the specified endpoint"},"example":{"items":[{"request_id":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","endpoint_id":"fal-ai/flux/dev","started_at":"2025-01-01T00:00:05Z","sent_at":"2025-01-01T00:00:01Z","ended_at":"2025-01-01T00:00:08Z","status_code":200,"duration":7.8,"json_input":{"prompt":"cat astronaut"},"json_output":{"status":"ok"}}],"next_cursor":"Mg==","has_more":true}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/models/requests/search":{"get":{"operationId":"searchRequests","summary":"Search Requests","x-mint":{"href":"/platform-apis/v1/models/requests/search","mcp":{"enabled":true},"metadata":{"sidebarTitle":"Search Requests"}},"description":"Search, filter, and browse your request history. Supports three modes:\n\n**1. Semantic Search** (`query`, `image_url`, or `video_url` parameter):\nFind visually or conceptually similar results using AI embeddings. Provide a text\nquery for text-to-image search, an image URL for image-to-image similarity search,\nor a video URL for video-to-image similarity search.\n\n**2. Filtered Browse** (no `query`, `image_url`, or `video_url`):\nBrowse request history with hard filters. Returns results ordered by creation date (newest first).\n\n**3. Semantic + Filters** (search params AND filter params):\nCombine semantic search with hard filters. Filters narrow the candidate set before\nranking by similarity.\n\n**Filter Options:**\n- `endpoint_id`: Filter by one or more fal endpoints (comma-separated or repeated, up to 50 IDs)\n- `exclude_api_requests` / `only_api_requests`: Filter by request source\n\n**Examples:**\n- Semantic text search: `?query=sunset+landscape`\n- Image similarity: `?image_url=https://...&min_similarity=0.5`\n- Filtered search: `?query=portrait&endpoint_id=fal-ai/flux/dev`\n- Browse across multiple endpoints: `?endpoint_id=fal-ai/flux/dev,fal-ai/flux/schnell`","tags":["Models","Requests"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","example":50},"required":false,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor from previous response. Encodes the page number.","example":"Mg=="},"required":false,"description":"Pagination cursor from previous response. Encodes the page number.","name":"cursor","in":"query"},{"schema":{"type":"string","description":"Text search query for semantic search. Mutually exclusive with image_url and video_url.","example":"sunset landscape"},"required":false,"description":"Text search query for semantic search. Mutually exclusive with image_url and video_url.","name":"query","in":"query"},{"schema":{"type":"string","description":"Image URL for similarity search. Mutually exclusive with query and video_url.","example":"https://v3.fal.media/files/abc123/output.png"},"required":false,"description":"Image URL for similarity search. Mutually exclusive with query and video_url.","name":"image_url","in":"query"},{"schema":{"type":"string","description":"Video URL for similarity search. Mutually exclusive with query and image_url.","example":"https://v3.fal.media/files/abc123/output.mp4"},"required":false,"description":"Video URL for similarity search. Mutually exclusive with query and image_url.","name":"video_url","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter by one or more fal endpoints to scope request history. Accepts comma-separated or repeated values (1-50 IDs).","example":["fal-ai/flux/dev"]},"required":false,"description":"Filter by one or more fal endpoints to scope request history. Accepts comma-separated or repeated values (1-50 IDs).","name":"endpoint_id","style":"form","explode":true,"in":"query"},{"schema":{"type":"string","description":"Deprecated: use `endpoint_id`. Single-endpoint filter retained for backward compatibility. If both are provided, `endpoint_id` wins.","deprecated":true,"example":"fal-ai/flux/dev"},"required":false,"description":"Deprecated: use `endpoint_id`. Single-endpoint filter retained for backward compatibility. If both are provided, `endpoint_id` wins.","name":"endpoint","in":"query"},{"schema":{"type":"boolean","description":"Exclude requests made via API keys (only show playground/UI requests). Mutually exclusive with only_api_requests.","example":true},"required":false,"description":"Exclude requests made via API keys (only show playground/UI requests). Mutually exclusive with only_api_requests.","name":"exclude_api_requests","in":"query"},{"schema":{"type":"boolean","description":"Only include requests made via API keys. Mutually exclusive with exclude_api_requests.","example":true},"required":false,"description":"Only include requests made via API keys. Mutually exclusive with exclude_api_requests.","name":"only_api_requests","in":"query"},{"schema":{"type":["number","null"],"minimum":0,"maximum":1,"description":"Minimum similarity score (0-1) for semantic search results. Only applies when query or image_url is provided.","example":0.3},"required":false,"description":"Minimum similarity score (0-1) for semantic search results. Only applies when query or image_url is provided.","name":"min_similarity","in":"query"}],"responses":{"200":{"description":"Successfully retrieved request search results","content":{"application/json":{"schema":{"type":"object","properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results, null if no more pages"},"has_more":{"type":"boolean","description":"Boolean indicating if more results are available (convenience field derived from next_cursor)"},"results":{"type":"array","items":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid","description":"Unique identifier for the request","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"},"endpoint_id":{"type":"string","description":"Endpoint that was executed for this request","example":"fal-ai/flux/dev"},"started_at":{"type":"string","format":"date-time","description":"Time when request processing started","example":"2025-01-01T00:00:05Z"},"sent_at":{"type":"string","format":"date-time","description":"Time when request was sent to the backend","example":"2025-01-01T00:00:01Z"},"ended_at":{"type":["string","null"],"format":"date-time","description":"Time when request finished processing","example":"2025-01-01T00:00:08Z"},"status_code":{"type":["integer","null"],"description":"HTTP status code returned by the request","example":200},"duration":{"type":["number","null"],"description":"Total request duration in seconds","example":7.8},"json_input":{"description":"Input payload for the request"},"json_output":{"description":"Output payload for the request"},"similarity":{"type":"number","minimum":0,"maximum":1,"description":"Similarity score (0-1) when semantic search is used","example":0.87}},"required":["request_id","endpoint_id","started_at","sent_at"],"description":"Request search result"},"description":"Array of matching request results, ordered by relevance or recency"}},"required":["next_cursor","has_more","results"],"description":"Request search results with pagination"},"example":{"results":[{"request_id":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","endpoint_id":"fal-ai/flux/dev","started_at":"2025-01-15T11:59:55Z","sent_at":"2025-01-15T11:59:50Z","ended_at":"2025-01-15T12:00:00Z","status_code":200,"duration":5,"similarity":0.95}],"next_cursor":null,"has_more":false}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/workflows":{"get":{"operationId":"listWorkflows","summary":"List user workflows","x-mint":{"href":"/platform-apis/v1/workflows","metadata":{"sidebarTitle":"List User Workflows"}},"description":"\nList workflows for the authenticated user with optional search and filtering.\n\n**Features:**\n- Paginated results with cursor-based pagination\n- Search by workflow name or title\n- Filter by model endpoints used in the workflow\n\n**Authentication:** Required. Returns only workflows owned by the authenticated user.\n\n**Common Use Cases:**\n- Display user's workflow library\n- Search for specific workflows\n- Find workflows using particular models\n ","tags":["Workflows"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","example":50},"required":false,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor from previous response. Encodes the page number.","example":"Mg=="},"required":false,"description":"Pagination cursor from previous response. Encodes the page number.","name":"cursor","in":"query"},{"schema":{"type":"string","description":"Search by workflow name or title","example":"image generation"},"required":false,"description":"Search by workflow name or title","name":"search","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter by model endpoint IDs used in the workflow. Can be a single value or comma-separated values.","example":["fal-ai/flux/dev"]},"required":false,"description":"Filter by model endpoint IDs used in the workflow. Can be a single value or comma-separated values.","name":"used_endpoint_ids","style":"form","explode":true,"in":"query"}],"responses":{"200":{"description":"Successfully retrieved workflows","content":{"application/json":{"schema":{"type":"object","properties":{"workflows":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Unique workflow name/slug within the user's namespace","example":"my-image-workflow"},"title":{"type":"string","description":"Human-readable workflow title","example":"My Image Generation Workflow"},"user_nickname":{"type":"string","description":"Display name/username of the owner","example":"johndoe"},"created_at":{"type":"string","description":"ISO8601 timestamp of workflow creation","example":"2024-01-15T10:30:00Z"},"thumbnail_url":{"type":"string","description":"URL to the workflow thumbnail image","example":"https://fal.ai/workflows/thumb_abc123.png"},"description":{"type":"string","description":"Brief description of what the workflow does","example":"Generate high-quality images using FLUX model"},"tags":{"type":"array","items":{"type":"string","example":"image-generation"},"description":"Tags associated with the workflow","example":["image-generation","ai","flux"]},"endpoint_ids":{"type":"array","items":{"type":"string","example":"fal-ai/flux/dev"},"description":"List of model endpoint IDs used in this workflow","example":["fal-ai/flux/dev","fal-ai/face-swap"]}},"required":["name","title","user_nickname","created_at","tags","endpoint_ids"],"description":"Workflow information"},"description":"Array of workflow items","example":[{"name":"my-image-workflow","title":"My Image Generation Workflow","user_nickname":"johndoe","created_at":"2024-01-15T10:30:00Z","thumbnail_url":"https://fal.ai/workflows/thumb_abc123.png","description":"Generate high-quality images using FLUX model","tags":["image-generation","ai","flux"],"endpoint_ids":["fal-ai/flux/dev","fal-ai/face-swap"]}]},"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results, null if no more pages","example":"eyJvZmZzZXQiOjEwfQ=="},"has_more":{"type":"boolean","description":"Whether more results are available","example":true},"total":{"type":"integer","description":"Total number of workflows matching the query","example":42}},"required":["workflows","next_cursor","has_more"],"description":"Response containing workflow data with pagination support"},"example":{"workflows":[{"name":"my-image-workflow","title":"My Image Generation Workflow","user_nickname":"johndoe","created_at":"2025-01-15T12:00:00Z","thumbnail_url":"https://fal.media/files/example.jpg","description":"A workflow for generating images","tags":["image","generation"],"endpoint_ids":["fal-ai/flux/dev"]}],"next_cursor":null,"has_more":false,"total":1}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}},"post":{"operationId":"createWorkflow","summary":"Create a workflow","x-mint":{"href":"/platform-apis/v1/workflows/create"},"description":"\nCreate a new workflow owned by the authenticated user.\n\n**Authentication:** Required.\n\n**Common Use Cases:**\n- Save a newly built workflow\n- Programmatically provision workflows\n\n**Note:** Workflow names must be unique within your namespace. Creating a\nworkflow with a name you already use returns a 400 validation error.\n ","tags":["Workflows"],"security":[{"apiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","maxLength":128,"pattern":"^[a-zA-Z0-9_-]+$","description":"Unique workflow name/slug within the user's namespace","example":"my-image-workflow"},"title":{"type":"string","minLength":1,"maxLength":256,"description":"Human-readable workflow title","example":"My Image Generation Workflow"},"contents":{"type":"object","properties":{"name":{"type":"string","description":"Internal name of the workflow definition","example":"my-image-workflow"},"version":{"type":"string","description":"Workflow definition format version","example":"1.0.0"},"nodes":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{}},"description":"Workflow nodes keyed by node id"},"output":{"type":"object","additionalProperties":{"type":"string"},"description":"Output field mappings keyed by output name"},"schema":{"type":"object","properties":{"input":{"type":"object","additionalProperties":{},"description":"Input fields schema"},"output":{"type":"object","additionalProperties":{},"description":"Output fields schema"}},"required":["input","output"],"description":"Input/output schema for the workflow"},"metadata":{"type":"object","additionalProperties":{},"description":"Optional workflow metadata"}},"required":["name","version","nodes","output","schema"],"description":"The workflow definition/configuration object","example":{"name":"my-image-workflow","version":"1.0.0","nodes":{"node_a1b2c3":{"id":"node_a1b2c3","type":"run","app":"fal-ai/flux/dev","depends":[],"input":{"prompt":"$input.prompt"},"metadata":{"position":{"x":300,"y":100}}}},"output":{"image":"$node_a1b2c3.images.0.url"},"schema":{"input":{"prompt":{"type":"string"}},"output":{"image":{"type":"string"}}}}},"is_public":{"type":"boolean","default":false,"description":"Whether the workflow is publicly visible","example":false}},"required":["name","title","contents"],"description":"Request body for creating a new workflow"},"example":{"name":"my-image-workflow","title":"My Image Generation Workflow","is_public":false,"contents":{"name":"my-image-workflow","version":"1.0.0","nodes":{"node_a1b2c3":{"id":"node_a1b2c3","type":"run","app":"fal-ai/flux/dev","depends":[],"input":{"prompt":"$input.prompt"},"metadata":{"position":{"x":300,"y":100}}}},"output":{"image":"$node_a1b2c3.images.0.url"},"schema":{"input":{"prompt":{"type":"string"}},"output":{"image":{"type":"string"}}}}}}}},"responses":{"201":{"description":"Successfully created workflow","content":{"application/json":{"schema":{"type":"object","properties":{"workflow":{"type":"object","properties":{"name":{"type":"string","description":"Unique workflow name/slug within the user's namespace","example":"my-image-workflow"},"title":{"type":"string","description":"Human-readable workflow title","example":"My Image Generation Workflow"},"user_nickname":{"type":"string","description":"Display name/username of the owner","example":"johndoe"},"created_at":{"type":"string","description":"ISO8601 timestamp of workflow creation","example":"2024-01-15T10:30:00Z"},"is_public":{"type":"boolean","description":"Whether the workflow is publicly visible","example":true},"contents":{"type":"object","additionalProperties":{},"description":"The workflow definition/configuration object","example":{"nodes":{"node_a1b2c3":{"id":"node_a1b2c3","type":"model","app":"fal-ai/flux/dev","depends":[],"input":{"prompt":"$input.prompt"},"metadata":{"position":{"x":300,"y":100}}},"output":{"id":"output","type":"output","depends":["node_a1b2c3"],"fields":{"image":"$node_a1b2c3.images.0.url"},"metadata":{"position":{"x":600,"y":100}}}}}}},"required":["name","title","user_nickname","created_at","is_public","contents"],"description":"The workflow details","example":{"name":"my-image-workflow","title":"My Image Generation Workflow","user_nickname":"johndoe","created_at":"2024-01-15T10:30:00Z","is_public":true,"contents":{"nodes":{"node_a1b2c3":{"id":"node_a1b2c3","type":"model","app":"fal-ai/flux/dev","depends":[],"input":{"prompt":"$input.prompt"},"metadata":{"position":{"x":300,"y":100}}},"output":{"id":"output","type":"output","depends":["node_a1b2c3"],"fields":{"image":"$node_a1b2c3.images.0.url"},"metadata":{"position":{"x":600,"y":100}}}}}}}},"required":["workflow"],"description":"Response containing a single workflow's details"},"example":{"workflow":{"name":"my-image-workflow","title":"My Image Generation Workflow","user_nickname":"johndoe","created_at":"2025-01-15T12:00:00Z","is_public":false,"contents":{"name":"my-image-workflow","version":"1.0.0","nodes":{"node_a1b2c3":{"id":"node_a1b2c3","type":"run","app":"fal-ai/flux/dev","depends":[],"input":{"prompt":"$input.prompt"},"metadata":{"position":{"x":300,"y":100}}}},"output":{"image":"$node_a1b2c3.images.0.url"},"schema":{"input":{"prompt":{"type":"string"}},"output":{"image":{"type":"string"}}}}}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/workflows/{username}/{workflow_name}":{"get":{"operationId":"getWorkflow","summary":"Get workflow details","x-mint":{"href":"/platform-apis/v1/workflows/get"},"description":"\nGet detailed information about a specific workflow, including its full contents/definition.\n\n**Authentication:** Required.\n\n**Common Use Cases:**\n- Load a workflow for editing\n- View workflow configuration\n- Export workflow definition\n ","tags":["Workflows"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","maxLength":128,"pattern":"^[a-zA-Z0-9_-]+$","description":"The username of the workflow owner","example":"johndoe"},"required":true,"description":"The username of the workflow owner","name":"username","in":"path"},{"schema":{"type":"string","maxLength":128,"pattern":"^[a-zA-Z0-9_-]+$","description":"The workflow name/slug","example":"my-image-workflow"},"required":true,"description":"The workflow name/slug","name":"workflow_name","in":"path"}],"responses":{"200":{"description":"Successfully retrieved workflow details","content":{"application/json":{"schema":{"type":"object","properties":{"workflow":{"type":"object","properties":{"name":{"type":"string","description":"Unique workflow name/slug within the user's namespace","example":"my-image-workflow"},"title":{"type":"string","description":"Human-readable workflow title","example":"My Image Generation Workflow"},"user_nickname":{"type":"string","description":"Display name/username of the owner","example":"johndoe"},"created_at":{"type":"string","description":"ISO8601 timestamp of workflow creation","example":"2024-01-15T10:30:00Z"},"is_public":{"type":"boolean","description":"Whether the workflow is publicly visible","example":true},"contents":{"type":"object","additionalProperties":{},"description":"The workflow definition/configuration object","example":{"nodes":{"node_a1b2c3":{"id":"node_a1b2c3","type":"model","app":"fal-ai/flux/dev","depends":[],"input":{"prompt":"$input.prompt"},"metadata":{"position":{"x":300,"y":100}}},"output":{"id":"output","type":"output","depends":["node_a1b2c3"],"fields":{"image":"$node_a1b2c3.images.0.url"},"metadata":{"position":{"x":600,"y":100}}}}}}},"required":["name","title","user_nickname","created_at","is_public","contents"],"description":"The workflow details","example":{"name":"my-image-workflow","title":"My Image Generation Workflow","user_nickname":"johndoe","created_at":"2024-01-15T10:30:00Z","is_public":true,"contents":{"nodes":{"node_a1b2c3":{"id":"node_a1b2c3","type":"model","app":"fal-ai/flux/dev","depends":[],"input":{"prompt":"$input.prompt"},"metadata":{"position":{"x":300,"y":100}}},"output":{"id":"output","type":"output","depends":["node_a1b2c3"],"fields":{"image":"$node_a1b2c3.images.0.url"},"metadata":{"position":{"x":600,"y":100}}}}}}}},"required":["workflow"],"description":"Response containing a single workflow's details"},"example":{"workflow":{"name":"my-image-workflow","title":"My Image Generation Workflow","user_nickname":"johndoe","created_at":"2025-01-15T12:00:00Z","is_public":false,"contents":{"nodes":[],"edges":[]}}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/assets":{"get":{"operationId":"listAssets","summary":"Browse assets","x-mint":{"href":"/platform-apis/v1/assets","metadata":{"sidebarTitle":"Browse Assets"}},"description":"Browse and semantically search fal Assets across all media, uploads, favorites, collections, tags, and character references.","tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","example":50},"required":false,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor from previous response. Encodes the page number.","example":"Mg=="},"required":false,"description":"Pagination cursor from previous response. Encodes the page number.","name":"cursor","in":"query"},{"schema":{"type":"string","description":"Text query for hybrid semantic search","example":"cinematic portrait"},"required":false,"description":"Text query for hybrid semantic search","name":"q","in":"query"},{"schema":{"type":"string","format":"uri","description":"fal-hosted image URL to use for semantic image search","example":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png"},"required":false,"description":"fal-hosted image URL to use for semantic image search","name":"search_image_url","in":"query"},{"schema":{"type":"string","format":"uri","description":"fal-hosted video URL to use for semantic video search","example":"https://fal.media/files/example.mp4"},"required":false,"description":"fal-hosted video URL to use for semantic video search","name":"search_video_url","in":"query"},{"schema":{"type":["array","null"],"items":{"type":"string","enum":["image","video","audio","3d"],"description":"Asset media type"},"default":[],"description":"Filter by one or more media types","example":["image","video"]},"required":false,"description":"Filter by one or more media types","name":"media_type","in":"query"},{"schema":{"type":["array","null"],"items":{"type":"string","enum":["upload","response","request"],"description":"Indexed asset source"},"default":[],"description":"Filter by one or more indexed sources","example":["upload","response"]},"required":false,"description":"Filter by one or more indexed sources","name":"source","in":"query"},{"schema":{"type":"string","enum":["all-media","uploads","favorites"],"default":"all-media","description":"Asset library section to browse","example":"all-media"},"required":false,"description":"Asset library section to browse","name":"section","in":"query"},{"schema":{"type":"string","description":"Collection scope to browse","example":"d8b6elcregj72v34jr8g"},"required":false,"description":"Collection scope to browse","name":"collection_id","in":"query"},{"schema":{"type":["array","null"],"items":{"type":"string"},"default":[],"description":"Character identifiers to use as @mention semantic filters","example":["alice"]},"required":false,"description":"Character identifiers to use as @mention semantic filters","name":"character_identifier","in":"query"},{"schema":{"type":["array","null"],"items":{"type":"string"},"default":[],"description":"Tag IDs to filter by","example":["43ce3411-1a25-4d14-875e-3562d341b090"]},"required":false,"description":"Tag IDs to filter by","name":"tag_id","in":"query"},{"schema":{"type":"string","enum":["any","all"],"default":"any","description":"Whether tag filters match any tag or all tags","example":"any"},"required":false,"description":"Whether tag filters match any tag or all tags","name":"tag_mode","in":"query"}],"responses":{"200":{"description":"Successfully browsed assets","content":{"application/json":{"schema":{"type":"object","properties":{"assets":{"type":"array","items":{"type":"object","properties":{"vector_id":{"type":"string","description":"Vector ID","example":"b1a2b4a5-cb89-51dc-a108-6dbfd8e742fc"},"request_id":{"type":["string","null"],"description":"Request ID","example":"019e6d0a-e5be-7b82-b329-35ae64296902"},"url":{"type":["string","null"],"description":"Media URL","example":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png"},"type":{"type":"string","enum":["image","video","audio","3d"],"description":"Asset media type"},"title":{"type":"string","description":"Display title","example":"Portrait"},"endpoint":{"type":["string","null"],"description":"Model endpoint that produced the asset","example":"fal-ai/flux/dev"},"created_at":{"type":["string","null"],"description":"Asset creation time","example":"2026-05-23T20:00:00.000Z"},"source":{"type":["string","null"],"description":"Asset source","example":"upload"},"prompt":{"type":["string","null"],"description":"Saved prompt or description","example":"cinematic portrait"},"width":{"type":["number","null"],"description":"Width in pixels","example":1024},"height":{"type":["number","null"],"description":"Height in pixels","example":1024},"content_type":{"type":["string","null"],"description":"Media content type","example":"image/png"},"is_favorited":{"type":"boolean","description":"Whether the asset is favorited","example":false},"collection_ids":{"type":"array","items":{"type":"string"},"description":"Collections containing this asset","example":["d8b6elcregj72v34jr8g"]},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Tag ID","example":"43ce3411-1a25-4d14-875e-3562d341b090"},"name":{"type":"string","description":"Tag name","example":"moodboard"},"created_at":{"type":["string","null"],"description":"Tag creation time","example":"2026-05-23T20:00:00.000Z"}},"required":["id","name","created_at"],"description":"Asset tag"},"description":"Assigned tags"},"similarity":{"type":["number","null"],"description":"Semantic similarity score when applicable","example":0.92}},"required":["vector_id","request_id","url","type","title","endpoint","created_at","source","prompt","width","height","content_type","is_favorited","collection_ids","tags","similarity"],"description":"Asset item"},"description":"Asset results"},"next_cursor":{"type":["string","null"],"description":"Cursor for the next page"},"has_more":{"type":"boolean","description":"Whether more results are available"},"total_count":{"type":["number","null"],"description":"Exact total when available; null when unavailable"}},"required":["assets","next_cursor","has_more","total_count"],"description":"Paginated asset browse response"},"example":{"assets":[{"vector_id":"b1a2b4a5-cb89-51dc-a108-6dbfd8e742fc","request_id":"019e6d0a-e5be-7b82-b329-35ae64296902","url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","type":"image","title":"Cinematic portrait","endpoint":"fal-ai/flux/dev","created_at":"2026-05-23T20:00:00.000Z","source":"upload","prompt":"cinematic portrait of a character","width":1024,"height":1024,"content_type":"image/png","is_favorited":false,"collection_ids":["d8b6elcregj72v34jr8g"],"tags":[{"id":"43ce3411-1a25-4d14-875e-3562d341b090","name":"moodboard","created_at":"2026-05-23T20:00:00.000Z"}],"similarity":0.92}],"next_cursor":null,"has_more":false,"total_count":1}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/collections":{"get":{"operationId":"listAssetCollections","summary":"List asset collections","description":"List asset collections for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/collections","metadata":{"sidebarTitle":"List Asset Collections"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"maximum":100,"default":50,"description":"Maximum number of collections to return","example":50},"required":false,"description":"Maximum number of collections to return","name":"limit","in":"query"},{"schema":{"type":["integer","null"],"minimum":0,"default":0,"description":"Number of collections to skip","example":0},"required":false,"description":"Number of collections to skip","name":"offset","in":"query"}],"responses":{"200":{"description":"Successfully listed collections","content":{"application/json":{"schema":{"type":"object","properties":{"collections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Collection ID"},"type":{"type":"string","enum":["manual","smart","character"],"description":"Collection type"},"name":{"type":"string","description":"Collection display name"},"description":{"type":["string","null"],"description":"Collection description"},"icon":{"type":["string","null"],"description":"Optional collection icon"},"color":{"type":["string","null"],"description":"Optional collection color"},"cover_image_url":{"type":["string","null"],"description":"Optional cover image URL for the collection"},"character_identifier":{"type":["string","null"],"description":"Character @mention identifier for character collections"},"is_favorited":{"type":"boolean","description":"Whether the collection is favorited"},"filters":{"description":"Filter DSL backing smart and character collections"},"asset_count":{"type":["number","null"],"description":"Exact asset count when available; null for smart/character collections"},"created_at":{"type":"string","description":"Collection creation time"},"updated_at":{"type":"string","description":"Collection update time"}},"required":["id","type","name","description","icon","color","cover_image_url","character_identifier","is_favorited","created_at","updated_at"]},"description":"Asset collections visible to the authenticated user"}},"required":["collections"]},"example":{"collections":[{"id":"d8b6elcregj72v34jr8g","type":"manual","name":"Campaign concepts","description":"Reusable campaign imagery","icon":"folder","color":"blue","cover_image_url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","character_identifier":null,"is_favorited":false,"filters":null,"created_at":"2026-05-23T20:00:00.000Z","updated_at":"2026-05-23T20:00:00.000Z","asset_count":1}]}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}},"post":{"operationId":"createAssetCollection","summary":"Create asset collection","description":"Create asset collection for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/collections/create","metadata":{"sidebarTitle":"Create Asset Collection"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255,"description":"Collection display name"},"description":{"type":["string","null"],"description":"Optional collection description"},"icon":{"type":["string","null"],"description":"Optional collection icon"},"color":{"type":["string","null"],"description":"Optional collection color"},"cover_image_url":{"type":["string","null"],"format":"uri","description":"Optional fal-hosted cover image URL for the collection"},"filters":{"description":"Assets filter DSL"}},"required":["name"]},"example":{"name":"Campaign concepts","description":"Reusable campaign imagery","icon":"folder","color":"blue","cover_image_url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","filters":null}}}},"responses":{"201":{"description":"Collection created","content":{"application/json":{"schema":{"type":"object","properties":{"collection":{"type":"object","properties":{"id":{"type":"string","description":"Collection ID"},"type":{"type":"string","enum":["manual","smart","character"],"description":"Collection type"},"name":{"type":"string","description":"Collection display name"},"description":{"type":["string","null"],"description":"Collection description"},"icon":{"type":["string","null"],"description":"Optional collection icon"},"color":{"type":["string","null"],"description":"Optional collection color"},"cover_image_url":{"type":["string","null"],"description":"Optional cover image URL for the collection"},"character_identifier":{"type":["string","null"],"description":"Character @mention identifier for character collections"},"is_favorited":{"type":"boolean","description":"Whether the collection is favorited"},"filters":{"description":"Filter DSL backing smart and character collections"},"asset_count":{"type":["number","null"],"description":"Exact asset count when available; null for smart/character collections"},"created_at":{"type":"string","description":"Collection creation time"},"updated_at":{"type":"string","description":"Collection update time"}},"required":["id","type","name","description","icon","color","cover_image_url","character_identifier","is_favorited","created_at","updated_at"],"description":"Asset collection"}},"required":["collection"]},"example":{"collection":{"id":"d8b6elcregj72v34jr8g","type":"manual","name":"Campaign concepts","description":"Reusable campaign imagery","icon":"folder","color":"blue","cover_image_url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","character_identifier":null,"is_favorited":false,"filters":null,"created_at":"2026-05-23T20:00:00.000Z","updated_at":"2026-05-23T20:00:00.000Z"}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/collections/{collection_id}":{"get":{"operationId":"getAssetCollection","summary":"Get asset collection","description":"Get asset collection for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/collections/get","metadata":{"sidebarTitle":"Get Asset Collection"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Collection ID","example":"d8b6elcregj72v34jr8g"},"required":true,"description":"Collection ID","name":"collection_id","in":"path"}],"responses":{"200":{"description":"Collection details","content":{"application/json":{"schema":{"type":"object","properties":{"collection":{"type":"object","properties":{"id":{"type":"string","description":"Collection ID"},"type":{"type":"string","enum":["manual","smart","character"],"description":"Collection type"},"name":{"type":"string","description":"Collection display name"},"description":{"type":["string","null"],"description":"Collection description"},"icon":{"type":["string","null"],"description":"Optional collection icon"},"color":{"type":["string","null"],"description":"Optional collection color"},"cover_image_url":{"type":["string","null"],"description":"Optional cover image URL for the collection"},"character_identifier":{"type":["string","null"],"description":"Character @mention identifier for character collections"},"is_favorited":{"type":"boolean","description":"Whether the collection is favorited"},"filters":{"description":"Filter DSL backing smart and character collections"},"asset_count":{"type":["number","null"],"description":"Exact asset count when available; null for smart/character collections"},"created_at":{"type":"string","description":"Collection creation time"},"updated_at":{"type":"string","description":"Collection update time"}},"required":["id","type","name","description","icon","color","cover_image_url","character_identifier","is_favorited","created_at","updated_at"],"description":"Asset collection"}},"required":["collection"]},"example":{"collection":{"id":"d8b6elcregj72v34jr8g","type":"manual","name":"Campaign concepts","description":"Reusable campaign imagery","icon":"folder","color":"blue","cover_image_url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","character_identifier":null,"is_favorited":false,"filters":null,"created_at":"2026-05-23T20:00:00.000Z","updated_at":"2026-05-23T20:00:00.000Z"}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}},"patch":{"operationId":"updateAssetCollection","summary":"Update asset collection","description":"Update asset collection for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/collections/update","metadata":{"sidebarTitle":"Update Asset Collection"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Collection ID","example":"d8b6elcregj72v34jr8g"},"required":true,"description":"Collection ID","name":"collection_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255,"description":"Collection display name"},"description":{"type":["string","null"],"description":"Optional collection description"},"icon":{"type":["string","null"],"description":"Optional collection icon"},"color":{"type":["string","null"],"description":"Optional collection color"},"cover_image_url":{"type":["string","null"],"format":"uri","description":"Optional fal-hosted cover image URL for the collection"},"filters":{"description":"Assets filter DSL"}}},"example":{"name":"Updated campaign concepts","description":"Updated reusable campaign imagery"}}}},"responses":{"200":{"description":"Collection updated","content":{"application/json":{"schema":{"type":"object","properties":{"collection":{"type":"object","properties":{"id":{"type":"string","description":"Collection ID"},"type":{"type":"string","enum":["manual","smart","character"],"description":"Collection type"},"name":{"type":"string","description":"Collection display name"},"description":{"type":["string","null"],"description":"Collection description"},"icon":{"type":["string","null"],"description":"Optional collection icon"},"color":{"type":["string","null"],"description":"Optional collection color"},"cover_image_url":{"type":["string","null"],"description":"Optional cover image URL for the collection"},"character_identifier":{"type":["string","null"],"description":"Character @mention identifier for character collections"},"is_favorited":{"type":"boolean","description":"Whether the collection is favorited"},"filters":{"description":"Filter DSL backing smart and character collections"},"asset_count":{"type":["number","null"],"description":"Exact asset count when available; null for smart/character collections"},"created_at":{"type":"string","description":"Collection creation time"},"updated_at":{"type":"string","description":"Collection update time"}},"required":["id","type","name","description","icon","color","cover_image_url","character_identifier","is_favorited","created_at","updated_at"],"description":"Asset collection"}},"required":["collection"]},"example":{"collection":{"id":"d8b6elcregj72v34jr8g","type":"manual","name":"Campaign concepts","description":"Reusable campaign imagery","icon":"folder","color":"blue","cover_image_url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","character_identifier":null,"is_favorited":false,"filters":null,"created_at":"2026-05-23T20:00:00.000Z","updated_at":"2026-05-23T20:00:00.000Z"}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}},"delete":{"operationId":"deleteAssetCollection","summary":"Delete asset collection","description":"Delete asset collection for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/collections/delete","metadata":{"sidebarTitle":"Delete Asset Collection"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Collection ID","example":"d8b6elcregj72v34jr8g"},"required":true,"description":"Collection ID","name":"collection_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"responses":{"204":{"description":"Collection deleted"},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/collections/{collection_id}/favorite":{"post":{"operationId":"favoriteAssetCollection","summary":"Favorite asset collection","description":"Favorite an asset collection for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/collections/favorite","metadata":{"sidebarTitle":"Favorite Asset Collection"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Collection ID","example":"d8b6elcregj72v34jr8g"},"required":true,"description":"Collection ID","name":"collection_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"responses":{"200":{"description":"Collection favorited","content":{"application/json":{"schema":{"type":"object","properties":{"collection":{"type":"object","properties":{"id":{"type":"string","description":"Collection ID"},"type":{"type":"string","enum":["manual","smart","character"],"description":"Collection type"},"name":{"type":"string","description":"Collection display name"},"description":{"type":["string","null"],"description":"Collection description"},"icon":{"type":["string","null"],"description":"Optional collection icon"},"color":{"type":["string","null"],"description":"Optional collection color"},"cover_image_url":{"type":["string","null"],"description":"Optional cover image URL for the collection"},"character_identifier":{"type":["string","null"],"description":"Character @mention identifier for character collections"},"is_favorited":{"type":"boolean","description":"Whether the collection is favorited"},"filters":{"description":"Filter DSL backing smart and character collections"},"asset_count":{"type":["number","null"],"description":"Exact asset count when available; null for smart/character collections"},"created_at":{"type":"string","description":"Collection creation time"},"updated_at":{"type":"string","description":"Collection update time"}},"required":["id","type","name","description","icon","color","cover_image_url","character_identifier","is_favorited","created_at","updated_at"],"description":"Asset collection"}},"required":["collection"]},"example":{"collection":{"id":"d8b6elcregj72v34jr8g","type":"manual","name":"Campaign concepts","description":"Reusable campaign imagery","icon":"folder","color":"blue","cover_image_url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","character_identifier":null,"is_favorited":true,"filters":null,"created_at":"2026-05-23T20:00:00.000Z","updated_at":"2026-05-23T20:00:00.000Z"}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/collections/{collection_id}/unfavorite":{"post":{"operationId":"unfavoriteAssetCollection","summary":"Unfavorite asset collection","description":"Unfavorite an asset collection for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/collections/unfavorite","metadata":{"sidebarTitle":"Unfavorite Asset Collection"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Collection ID","example":"d8b6elcregj72v34jr8g"},"required":true,"description":"Collection ID","name":"collection_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"responses":{"200":{"description":"Collection unfavorited","content":{"application/json":{"schema":{"type":"object","properties":{"collection":{"type":"object","properties":{"id":{"type":"string","description":"Collection ID"},"type":{"type":"string","enum":["manual","smart","character"],"description":"Collection type"},"name":{"type":"string","description":"Collection display name"},"description":{"type":["string","null"],"description":"Collection description"},"icon":{"type":["string","null"],"description":"Optional collection icon"},"color":{"type":["string","null"],"description":"Optional collection color"},"cover_image_url":{"type":["string","null"],"description":"Optional cover image URL for the collection"},"character_identifier":{"type":["string","null"],"description":"Character @mention identifier for character collections"},"is_favorited":{"type":"boolean","description":"Whether the collection is favorited"},"filters":{"description":"Filter DSL backing smart and character collections"},"asset_count":{"type":["number","null"],"description":"Exact asset count when available; null for smart/character collections"},"created_at":{"type":"string","description":"Collection creation time"},"updated_at":{"type":"string","description":"Collection update time"}},"required":["id","type","name","description","icon","color","cover_image_url","character_identifier","is_favorited","created_at","updated_at"],"description":"Asset collection"}},"required":["collection"]},"example":{"collection":{"id":"d8b6elcregj72v34jr8g","type":"manual","name":"Campaign concepts","description":"Reusable campaign imagery","icon":"folder","color":"blue","cover_image_url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","character_identifier":null,"is_favorited":false,"filters":null,"created_at":"2026-05-23T20:00:00.000Z","updated_at":"2026-05-23T20:00:00.000Z"}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/collections/{collection_id}/assets":{"get":{"operationId":"listAssetCollectionAssets","summary":"Browse assets in a collection","description":"Browse assets in a collection for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/collections/assets","metadata":{"sidebarTitle":"Browse Collection Assets"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Collection ID","example":"d8b6elcregj72v34jr8g"},"required":true,"description":"Collection ID","name":"collection_id","in":"path"},{"schema":{"type":"integer","minimum":1,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","example":50},"required":false,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor from previous response. Encodes the page number.","example":"Mg=="},"required":false,"description":"Pagination cursor from previous response. Encodes the page number.","name":"cursor","in":"query"},{"schema":{"type":"string","description":"Text query for hybrid semantic search","example":"cinematic portrait"},"required":false,"description":"Text query for hybrid semantic search","name":"q","in":"query"},{"schema":{"type":"string","format":"uri","description":"fal-hosted image URL to use for semantic image search","example":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png"},"required":false,"description":"fal-hosted image URL to use for semantic image search","name":"search_image_url","in":"query"},{"schema":{"type":"string","format":"uri","description":"fal-hosted video URL to use for semantic video search","example":"https://fal.media/files/example.mp4"},"required":false,"description":"fal-hosted video URL to use for semantic video search","name":"search_video_url","in":"query"},{"schema":{"type":["array","null"],"items":{"type":"string","enum":["image","video","audio","3d"],"description":"Asset media type"},"default":[],"description":"Filter by one or more media types","example":["image","video"]},"required":false,"description":"Filter by one or more media types","name":"media_type","in":"query"},{"schema":{"type":["array","null"],"items":{"type":"string","enum":["upload","response","request"],"description":"Indexed asset source"},"default":[],"description":"Filter by one or more indexed sources","example":["upload","response"]},"required":false,"description":"Filter by one or more indexed sources","name":"source","in":"query"},{"schema":{"type":"string","enum":["all-media","uploads","favorites"],"default":"all-media","description":"Asset library section to browse","example":"all-media"},"required":false,"description":"Asset library section to browse","name":"section","in":"query"},{"schema":{"type":["array","null"],"items":{"type":"string"},"default":[],"description":"Character identifiers to use as @mention semantic filters","example":["alice"]},"required":false,"description":"Character identifiers to use as @mention semantic filters","name":"character_identifier","in":"query"},{"schema":{"type":["array","null"],"items":{"type":"string"},"default":[],"description":"Tag IDs to filter by","example":["43ce3411-1a25-4d14-875e-3562d341b090"]},"required":false,"description":"Tag IDs to filter by","name":"tag_id","in":"query"},{"schema":{"type":"string","enum":["any","all"],"default":"any","description":"Whether tag filters match any tag or all tags","example":"any"},"required":false,"description":"Whether tag filters match any tag or all tags","name":"tag_mode","in":"query"}],"responses":{"200":{"description":"Collection assets","content":{"application/json":{"schema":{"type":"object","properties":{"assets":{"type":"array","items":{"type":"object","properties":{"vector_id":{"type":"string","description":"Vector ID","example":"b1a2b4a5-cb89-51dc-a108-6dbfd8e742fc"},"request_id":{"type":["string","null"],"description":"Request ID","example":"019e6d0a-e5be-7b82-b329-35ae64296902"},"url":{"type":["string","null"],"description":"Media URL","example":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png"},"type":{"type":"string","enum":["image","video","audio","3d"],"description":"Asset media type"},"title":{"type":"string","description":"Display title","example":"Portrait"},"endpoint":{"type":["string","null"],"description":"Model endpoint that produced the asset","example":"fal-ai/flux/dev"},"created_at":{"type":["string","null"],"description":"Asset creation time","example":"2026-05-23T20:00:00.000Z"},"source":{"type":["string","null"],"description":"Asset source","example":"upload"},"prompt":{"type":["string","null"],"description":"Saved prompt or description","example":"cinematic portrait"},"width":{"type":["number","null"],"description":"Width in pixels","example":1024},"height":{"type":["number","null"],"description":"Height in pixels","example":1024},"content_type":{"type":["string","null"],"description":"Media content type","example":"image/png"},"is_favorited":{"type":"boolean","description":"Whether the asset is favorited","example":false},"collection_ids":{"type":"array","items":{"type":"string"},"description":"Collections containing this asset","example":["d8b6elcregj72v34jr8g"]},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Tag ID","example":"43ce3411-1a25-4d14-875e-3562d341b090"},"name":{"type":"string","description":"Tag name","example":"moodboard"},"created_at":{"type":["string","null"],"description":"Tag creation time","example":"2026-05-23T20:00:00.000Z"}},"required":["id","name","created_at"],"description":"Asset tag"},"description":"Assigned tags"},"similarity":{"type":["number","null"],"description":"Semantic similarity score when applicable","example":0.92}},"required":["vector_id","request_id","url","type","title","endpoint","created_at","source","prompt","width","height","content_type","is_favorited","collection_ids","tags","similarity"],"description":"Asset item"},"description":"Asset results"},"next_cursor":{"type":["string","null"],"description":"Cursor for the next page"},"has_more":{"type":"boolean","description":"Whether more results are available"},"total_count":{"type":["number","null"],"description":"Exact total when available; null when unavailable"}},"required":["assets","next_cursor","has_more","total_count"],"description":"Paginated asset browse response"},"example":{"assets":[{"vector_id":"b1a2b4a5-cb89-51dc-a108-6dbfd8e742fc","request_id":"019e6d0a-e5be-7b82-b329-35ae64296902","url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","type":"image","title":"Cinematic portrait","endpoint":"fal-ai/flux/dev","created_at":"2026-05-23T20:00:00.000Z","source":"upload","prompt":"cinematic portrait of a character","width":1024,"height":1024,"content_type":"image/png","is_favorited":false,"collection_ids":["d8b6elcregj72v34jr8g"],"tags":[{"id":"43ce3411-1a25-4d14-875e-3562d341b090","name":"moodboard","created_at":"2026-05-23T20:00:00.000Z"}],"similarity":0.92}],"next_cursor":null,"has_more":false,"total_count":1}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}},"post":{"operationId":"addAssetToCollection","summary":"Add asset to collection","description":"Add an asset to a manual or character collection. Provide a request ID or vector ID; unresolved references are materialized before local collection state is added. For character collections, the asset is added by applying the character tag.","x-mint":{"href":"/platform-apis/v1/assets/collections/assets/add","metadata":{"sidebarTitle":"Add Asset to Collection"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Collection ID","example":"d8b6elcregj72v34jr8g"},"required":true,"description":"Collection ID","name":"collection_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1,"description":"Request ID to save as an asset before mutating"},"vector_id":{"type":"string","minLength":1,"description":"Vector ID to save as an asset before mutating"}}},"example":{"request_id":"019e6d0a-e5be-7b82-b329-35ae64296902"}}}},"responses":{"200":{"description":"Asset added","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded","example":true}},"required":["success"]},"example":{"success":true}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}},"delete":{"operationId":"removeAssetFromCollection","summary":"Remove asset from collection","description":"Remove an asset from a manual or character collection by request ID or vector ID.","x-mint":{"href":"/platform-apis/v1/assets/collections/assets/remove","metadata":{"sidebarTitle":"Remove Asset from Collection"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Collection ID","example":"d8b6elcregj72v34jr8g"},"required":true,"description":"Collection ID","name":"collection_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1,"description":"Request ID to save as an asset before mutating"},"vector_id":{"type":"string","minLength":1,"description":"Vector ID to save as an asset before mutating"}}},"example":{"vector_id":"b1a2b4a5-cb89-51dc-a108-6dbfd8e742fc"}}}},"responses":{"204":{"description":"Asset removed"},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/characters":{"get":{"operationId":"listAssetCharacters","summary":"List asset characters","description":"List asset characters for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/characters","metadata":{"sidebarTitle":"List Asset Characters"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"maximum":100,"default":50,"description":"Maximum number of collections to return","example":50},"required":false,"description":"Maximum number of collections to return","name":"limit","in":"query"},{"schema":{"type":["integer","null"],"minimum":0,"default":0,"description":"Number of collections to skip","example":0},"required":false,"description":"Number of collections to skip","name":"offset","in":"query"}],"responses":{"200":{"description":"Characters","content":{"application/json":{"schema":{"type":"object","properties":{"characters":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Collection ID"},"type":{"type":"string","enum":["character"],"description":"Collection type"},"name":{"type":"string","description":"Collection display name"},"description":{"type":["string","null"],"description":"Collection description"},"icon":{"type":["string","null"],"description":"Optional collection icon"},"color":{"type":["string","null"],"description":"Optional collection color"},"cover_image_url":{"type":["string","null"],"description":"Optional cover image URL for the collection"},"character_identifier":{"type":["string","null"],"description":"Character @mention identifier for character collections"},"is_favorited":{"type":"boolean","description":"Whether the collection is favorited"},"asset_count":{"type":["number","null"],"description":"Exact asset count when available; null for smart/character collections"},"created_at":{"type":"string","description":"Collection creation time"},"updated_at":{"type":"string","description":"Collection update time"},"reference_images":{"type":"array","items":{"type":"string"},"description":"Reference images used for character matching"}},"required":["id","type","name","description","icon","color","cover_image_url","character_identifier","is_favorited","created_at","updated_at","reference_images"],"description":"Asset character"},"description":"Asset characters visible to the authenticated user"}},"required":["characters"]},"example":{"characters":[{"id":"d7tatpsregjaga2cf3d0","type":"character","name":"Alice","description":"A character with red hair and a blue jacket","icon":"folder","color":"blue","cover_image_url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","character_identifier":"alice","is_favorited":false,"created_at":"2026-05-23T20:00:00.000Z","updated_at":"2026-05-23T20:00:00.000Z","asset_count":null,"reference_images":["https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png"]}]}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}},"post":{"operationId":"createAssetCharacter","summary":"Create asset character","description":"Create an asset character for the authenticated user's fal Assets library. Prefer vector IDs or request IDs in reference_images for existing fal-generated assets; use fal-hosted image URLs only for standalone images. Unresolved ID references are materialized before character state is added.","x-mint":{"href":"/platform-apis/v1/assets/characters/create","metadata":{"sidebarTitle":"Create Asset Character"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255,"description":"Character display name"},"identifier":{"type":["string","null"],"maxLength":64,"description":"Optional @mention identifier for the character"},"description":{"type":"string","minLength":1,"maxLength":2000,"description":"Text description used for character semantic matching"},"reference_images":{"type":"array","items":{"type":"string","minLength":1},"minItems":1,"maxItems":20,"description":"Reference images for the character. Prefer vector IDs or request IDs for existing fal-generated assets. Use fal-hosted image URLs only for standalone images."},"cover_image_url":{"type":["string","null"],"format":"uri","description":"Optional fal-hosted cover image URL for the character"}},"required":["name","description","reference_images"]},"example":{"name":"Alice","identifier":"alice","description":"A character with red hair and a blue jacket","reference_images":["https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","019e6d0a-e5be-7b82-b329-35ae64296902"],"cover_image_url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png"}}}},"responses":{"201":{"description":"Character created","content":{"application/json":{"schema":{"type":"object","properties":{"character":{"type":"object","properties":{"id":{"type":"string","description":"Collection ID"},"type":{"type":"string","enum":["character"],"description":"Collection type"},"name":{"type":"string","description":"Collection display name"},"description":{"type":["string","null"],"description":"Collection description"},"icon":{"type":["string","null"],"description":"Optional collection icon"},"color":{"type":["string","null"],"description":"Optional collection color"},"cover_image_url":{"type":["string","null"],"description":"Optional cover image URL for the collection"},"character_identifier":{"type":["string","null"],"description":"Character @mention identifier for character collections"},"is_favorited":{"type":"boolean","description":"Whether the collection is favorited"},"asset_count":{"type":["number","null"],"description":"Exact asset count when available; null for smart/character collections"},"created_at":{"type":"string","description":"Collection creation time"},"updated_at":{"type":"string","description":"Collection update time"},"reference_images":{"type":"array","items":{"type":"string"},"description":"Reference images used for character matching"}},"required":["id","type","name","description","icon","color","cover_image_url","character_identifier","is_favorited","created_at","updated_at","reference_images"],"description":"Asset character"}},"required":["character"]},"example":{"character":{"id":"d7tatpsregjaga2cf3d0","type":"character","name":"Alice","description":"A character with red hair and a blue jacket","icon":"folder","color":"blue","cover_image_url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","character_identifier":"alice","is_favorited":false,"created_at":"2026-05-23T20:00:00.000Z","updated_at":"2026-05-23T20:00:00.000Z","asset_count":null,"reference_images":["https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png"]}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/characters/{character_id}":{"patch":{"operationId":"updateAssetCharacter","summary":"Update asset character","description":"Update an asset character for the authenticated user's fal Assets library. Prefer vector IDs or request IDs in reference_images for existing fal-generated assets; use fal-hosted image URLs only for standalone images. Unresolved ID references are materialized before character state is added.","x-mint":{"href":"/platform-apis/v1/assets/characters/update","metadata":{"sidebarTitle":"Update Asset Character"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Character collection ID","example":"d7tatpsregjaga2cf3d0"},"required":true,"description":"Character collection ID","name":"character_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255,"description":"Character display name"},"description":{"type":"string","minLength":1,"maxLength":2000,"description":"Text description used for character semantic matching"},"reference_images":{"type":"array","items":{"type":"string","minLength":1},"minItems":1,"maxItems":20,"description":"Reference images for the character. Prefer vector IDs or request IDs for existing fal-generated assets. Use fal-hosted image URLs only for standalone images."},"cover_image_url":{"type":["string","null"],"format":"uri","description":"Optional fal-hosted cover image URL for the character"}}},"example":{"name":"Alice","reference_images":["019e6d0a-e5be-7b82-b329-35ae64296902"]}}}},"responses":{"200":{"description":"Character updated","content":{"application/json":{"schema":{"type":"object","properties":{"character":{"type":"object","properties":{"id":{"type":"string","description":"Collection ID"},"type":{"type":"string","enum":["character"],"description":"Collection type"},"name":{"type":"string","description":"Collection display name"},"description":{"type":["string","null"],"description":"Collection description"},"icon":{"type":["string","null"],"description":"Optional collection icon"},"color":{"type":["string","null"],"description":"Optional collection color"},"cover_image_url":{"type":["string","null"],"description":"Optional cover image URL for the collection"},"character_identifier":{"type":["string","null"],"description":"Character @mention identifier for character collections"},"is_favorited":{"type":"boolean","description":"Whether the collection is favorited"},"asset_count":{"type":["number","null"],"description":"Exact asset count when available; null for smart/character collections"},"created_at":{"type":"string","description":"Collection creation time"},"updated_at":{"type":"string","description":"Collection update time"},"reference_images":{"type":"array","items":{"type":"string"},"description":"Reference images used for character matching"}},"required":["id","type","name","description","icon","color","cover_image_url","character_identifier","is_favorited","created_at","updated_at","reference_images"],"description":"Asset character"}},"required":["character"]},"example":{"character":{"id":"d7tatpsregjaga2cf3d0","type":"character","name":"Alice","description":"A character with red hair and a blue jacket","icon":"folder","color":"blue","cover_image_url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","character_identifier":"alice","is_favorited":false,"created_at":"2026-05-23T20:00:00.000Z","updated_at":"2026-05-23T20:00:00.000Z","asset_count":null,"reference_images":["https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png"]}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}},"get":{"operationId":"getAssetCharacter","summary":"Get asset character","description":"Get asset character for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/characters/get","metadata":{"sidebarTitle":"Get Asset Character"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Character collection ID","example":"d7tatpsregjaga2cf3d0"},"required":true,"description":"Character collection ID","name":"character_id","in":"path"}],"responses":{"200":{"description":"Character details","content":{"application/json":{"schema":{"type":"object","properties":{"character":{"type":"object","properties":{"id":{"type":"string","description":"Collection ID"},"type":{"type":"string","enum":["character"],"description":"Collection type"},"name":{"type":"string","description":"Collection display name"},"description":{"type":["string","null"],"description":"Collection description"},"icon":{"type":["string","null"],"description":"Optional collection icon"},"color":{"type":["string","null"],"description":"Optional collection color"},"cover_image_url":{"type":["string","null"],"description":"Optional cover image URL for the collection"},"character_identifier":{"type":["string","null"],"description":"Character @mention identifier for character collections"},"is_favorited":{"type":"boolean","description":"Whether the collection is favorited"},"asset_count":{"type":["number","null"],"description":"Exact asset count when available; null for smart/character collections"},"created_at":{"type":"string","description":"Collection creation time"},"updated_at":{"type":"string","description":"Collection update time"},"reference_images":{"type":"array","items":{"type":"string"},"description":"Reference images used for character matching"}},"required":["id","type","name","description","icon","color","cover_image_url","character_identifier","is_favorited","created_at","updated_at","reference_images"],"description":"Asset character"}},"required":["character"]},"example":{"character":{"id":"d7tatpsregjaga2cf3d0","type":"character","name":"Alice","description":"A character with red hair and a blue jacket","icon":"folder","color":"blue","cover_image_url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","character_identifier":"alice","is_favorited":false,"created_at":"2026-05-23T20:00:00.000Z","updated_at":"2026-05-23T20:00:00.000Z","asset_count":null,"reference_images":["https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png"]}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}},"delete":{"operationId":"deleteAssetCharacter","summary":"Delete asset character","description":"Delete asset character for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/characters/delete","metadata":{"sidebarTitle":"Delete Asset Character"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Character collection ID","example":"d7tatpsregjaga2cf3d0"},"required":true,"description":"Character collection ID","name":"character_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"responses":{"204":{"description":"Character deleted"},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/characters/{character_id}/favorite":{"post":{"operationId":"favoriteAssetCharacter","summary":"Favorite asset character","description":"Favorite an asset character for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/characters/favorite","metadata":{"sidebarTitle":"Favorite Asset Character"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Character collection ID","example":"d7tatpsregjaga2cf3d0"},"required":true,"description":"Character collection ID","name":"character_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"responses":{"200":{"description":"Character favorited","content":{"application/json":{"schema":{"type":"object","properties":{"character":{"type":"object","properties":{"id":{"type":"string","description":"Collection ID"},"type":{"type":"string","enum":["character"],"description":"Collection type"},"name":{"type":"string","description":"Collection display name"},"description":{"type":["string","null"],"description":"Collection description"},"icon":{"type":["string","null"],"description":"Optional collection icon"},"color":{"type":["string","null"],"description":"Optional collection color"},"cover_image_url":{"type":["string","null"],"description":"Optional cover image URL for the collection"},"character_identifier":{"type":["string","null"],"description":"Character @mention identifier for character collections"},"is_favorited":{"type":"boolean","description":"Whether the collection is favorited"},"asset_count":{"type":["number","null"],"description":"Exact asset count when available; null for smart/character collections"},"created_at":{"type":"string","description":"Collection creation time"},"updated_at":{"type":"string","description":"Collection update time"},"reference_images":{"type":"array","items":{"type":"string"},"description":"Reference images used for character matching"}},"required":["id","type","name","description","icon","color","cover_image_url","character_identifier","is_favorited","created_at","updated_at","reference_images"],"description":"Asset character"}},"required":["character"]},"example":{"character":{"id":"d7tatpsregjaga2cf3d0","type":"character","name":"Alice","description":"A character with red hair and a blue jacket","icon":"folder","color":"blue","cover_image_url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","character_identifier":"alice","is_favorited":true,"created_at":"2026-05-23T20:00:00.000Z","updated_at":"2026-05-23T20:00:00.000Z","asset_count":null,"reference_images":["https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png"]}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/characters/{character_id}/unfavorite":{"post":{"operationId":"unfavoriteAssetCharacter","summary":"Unfavorite asset character","description":"Unfavorite an asset character for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/characters/unfavorite","metadata":{"sidebarTitle":"Unfavorite Asset Character"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Character collection ID","example":"d7tatpsregjaga2cf3d0"},"required":true,"description":"Character collection ID","name":"character_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"responses":{"200":{"description":"Character unfavorited","content":{"application/json":{"schema":{"type":"object","properties":{"character":{"type":"object","properties":{"id":{"type":"string","description":"Collection ID"},"type":{"type":"string","enum":["character"],"description":"Collection type"},"name":{"type":"string","description":"Collection display name"},"description":{"type":["string","null"],"description":"Collection description"},"icon":{"type":["string","null"],"description":"Optional collection icon"},"color":{"type":["string","null"],"description":"Optional collection color"},"cover_image_url":{"type":["string","null"],"description":"Optional cover image URL for the collection"},"character_identifier":{"type":["string","null"],"description":"Character @mention identifier for character collections"},"is_favorited":{"type":"boolean","description":"Whether the collection is favorited"},"asset_count":{"type":["number","null"],"description":"Exact asset count when available; null for smart/character collections"},"created_at":{"type":"string","description":"Collection creation time"},"updated_at":{"type":"string","description":"Collection update time"},"reference_images":{"type":"array","items":{"type":"string"},"description":"Reference images used for character matching"}},"required":["id","type","name","description","icon","color","cover_image_url","character_identifier","is_favorited","created_at","updated_at","reference_images"],"description":"Asset character"}},"required":["character"]},"example":{"character":{"id":"d7tatpsregjaga2cf3d0","type":"character","name":"Alice","description":"A character with red hair and a blue jacket","icon":"folder","color":"blue","cover_image_url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","character_identifier":"alice","is_favorited":false,"created_at":"2026-05-23T20:00:00.000Z","updated_at":"2026-05-23T20:00:00.000Z","asset_count":null,"reference_images":["https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png"]}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/tags":{"get":{"operationId":"listAssetTags","summary":"List asset tags","description":"List asset tags for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/tags","metadata":{"sidebarTitle":"List Asset Tags"}},"tags":["Assets"],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Tags","content":{"application/json":{"schema":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Tag ID","example":"43ce3411-1a25-4d14-875e-3562d341b090"},"name":{"type":"string","description":"Tag name","example":"moodboard"},"created_at":{"type":["string","null"],"description":"Tag creation time","example":"2026-05-23T20:00:00.000Z"}},"required":["id","name","created_at"],"description":"Asset tag"},"description":"Asset tags"}},"required":["tags"]},"example":{"tags":[{"id":"43ce3411-1a25-4d14-875e-3562d341b090","name":"moodboard","created_at":"2026-05-23T20:00:00.000Z"}]}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}},"post":{"operationId":"createAssetTag","summary":"Create asset tag","description":"Create asset tag for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/tags/create","metadata":{"sidebarTitle":"Create Asset Tag"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"Tag name"}},"required":["name"]},"example":{"name":"moodboard"}}}},"responses":{"201":{"description":"Tag created","content":{"application/json":{"schema":{"type":"object","properties":{"tag":{"type":"object","properties":{"id":{"type":"string","description":"Tag ID","example":"43ce3411-1a25-4d14-875e-3562d341b090"},"name":{"type":"string","description":"Tag name","example":"moodboard"},"created_at":{"type":["string","null"],"description":"Tag creation time","example":"2026-05-23T20:00:00.000Z"}},"required":["id","name","created_at"],"description":"Asset tag"}},"required":["tag"]},"example":{"tag":{"id":"43ce3411-1a25-4d14-875e-3562d341b090","name":"moodboard","created_at":"2026-05-23T20:00:00.000Z"}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}},"put":{"operationId":"setAssetTagsForAsset","summary":"Set tags for an asset","description":"Set tags for an asset. Provide a request ID or vector ID; unresolved references are materialized before tag state is added.","x-mint":{"href":"/platform-apis/v1/assets/tags/set-for-asset","metadata":{"sidebarTitle":"Set Asset Tags"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1,"description":"Request ID to save as an asset before mutating"},"vector_id":{"type":"string","minLength":1,"description":"Vector ID to save as an asset before mutating"},"tag_ids":{"type":"array","items":{"type":"string"},"description":"Full replacement set of tag IDs"}},"required":["tag_ids"]},"example":{"request_id":"019e6d0a-e5be-7b82-b329-35ae64296902","tag_ids":["43ce3411-1a25-4d14-875e-3562d341b090"]}}}},"responses":{"200":{"description":"Asset tags","content":{"application/json":{"schema":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Tag ID","example":"43ce3411-1a25-4d14-875e-3562d341b090"},"name":{"type":"string","description":"Tag name","example":"moodboard"},"created_at":{"type":["string","null"],"description":"Tag creation time","example":"2026-05-23T20:00:00.000Z"}},"required":["id","name","created_at"],"description":"Asset tag"},"description":"Asset tags"}},"required":["tags"]},"example":{"tags":[{"id":"43ce3411-1a25-4d14-875e-3562d341b090","name":"moodboard","created_at":"2026-05-23T20:00:00.000Z"}]}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/tags/{tag_id}":{"patch":{"operationId":"updateAssetTag","summary":"Update asset tag","description":"Update asset tag for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/tags/update","metadata":{"sidebarTitle":"Update Asset Tag"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Tag ID","example":"43ce3411-1a25-4d14-875e-3562d341b090"},"required":true,"description":"Tag ID","name":"tag_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"Tag name"}}},"example":{"name":"campaign"}}}},"responses":{"200":{"description":"Tag updated","content":{"application/json":{"schema":{"type":"object","properties":{"tag":{"type":"object","properties":{"id":{"type":"string","description":"Tag ID","example":"43ce3411-1a25-4d14-875e-3562d341b090"},"name":{"type":"string","description":"Tag name","example":"moodboard"},"created_at":{"type":["string","null"],"description":"Tag creation time","example":"2026-05-23T20:00:00.000Z"}},"required":["id","name","created_at"],"description":"Asset tag"}},"required":["tag"]},"example":{"tag":{"id":"43ce3411-1a25-4d14-875e-3562d341b090","name":"moodboard","created_at":"2026-05-23T20:00:00.000Z"}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}},"delete":{"operationId":"deleteAssetTag","summary":"Delete asset tag","description":"Delete asset tag for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/tags/delete","metadata":{"sidebarTitle":"Delete Asset Tag"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Tag ID","example":"43ce3411-1a25-4d14-875e-3562d341b090"},"required":true,"description":"Tag ID","name":"tag_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"responses":{"204":{"description":"Tag deleted"},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/uploads":{"post":{"operationId":"uploadAsset","summary":"Upload asset","description":"Upload asset for the authenticated user's fal Assets library.","x-mint":{"href":"/platform-apis/v1/assets/uploads","metadata":{"sidebarTitle":"Upload Asset"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"fal-hosted media URL to ingest into the asset library"},"type":{"type":"string","enum":["image","video","audio","3d"],"description":"Media type for the uploaded asset"},"prompt":{"type":["string","null"],"minLength":1,"maxLength":2000,"description":"Optional caller-provided caption or description to index with the uploaded asset"},"collection_id":{"type":["string","null"],"description":"Optional manual collection ID to add the uploaded asset to"},"favorite":{"type":"boolean","default":false,"description":"Whether to favorite the uploaded asset immediately"},"tag_ids":{"type":"array","items":{"type":"string"},"default":[],"description":"Tag IDs to assign to the uploaded asset"}},"required":["url","type"]},"example":{"url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","type":"image","prompt":"Cinematic portrait of a character","collection_id":"d8b6elcregj72v34jr8g","favorite":true,"tag_ids":["43ce3411-1a25-4d14-875e-3562d341b090"]}}}},"responses":{"201":{"description":"Upload ingested","content":{"application/json":{"schema":{"type":"object","properties":{"asset":{"type":"object","properties":{"vector_id":{"type":"string","description":"Vector ID","example":"b1a2b4a5-cb89-51dc-a108-6dbfd8e742fc"},"request_id":{"type":["string","null"],"description":"Request ID","example":"019e6d0a-e5be-7b82-b329-35ae64296902"},"url":{"type":["string","null"],"description":"Media URL","example":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png"},"type":{"type":"string","enum":["image","video","audio","3d"],"description":"Asset media type"},"title":{"type":"string","description":"Display title","example":"Portrait"},"endpoint":{"type":["string","null"],"description":"Model endpoint that produced the asset","example":"fal-ai/flux/dev"},"created_at":{"type":["string","null"],"description":"Asset creation time","example":"2026-05-23T20:00:00.000Z"},"source":{"type":["string","null"],"description":"Asset source","example":"upload"},"prompt":{"type":["string","null"],"description":"Saved prompt or description","example":"cinematic portrait"},"width":{"type":["number","null"],"description":"Width in pixels","example":1024},"height":{"type":["number","null"],"description":"Height in pixels","example":1024},"content_type":{"type":["string","null"],"description":"Media content type","example":"image/png"},"is_favorited":{"type":"boolean","description":"Whether the asset is favorited","example":false},"collection_ids":{"type":"array","items":{"type":"string"},"description":"Collections containing this asset","example":["d8b6elcregj72v34jr8g"]},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Tag ID","example":"43ce3411-1a25-4d14-875e-3562d341b090"},"name":{"type":"string","description":"Tag name","example":"moodboard"},"created_at":{"type":["string","null"],"description":"Tag creation time","example":"2026-05-23T20:00:00.000Z"}},"required":["id","name","created_at"],"description":"Asset tag"},"description":"Assigned tags"},"similarity":{"type":["number","null"],"description":"Semantic similarity score when applicable","example":0.92}},"required":["vector_id","request_id","url","type","title","endpoint","created_at","source","prompt","width","height","content_type","is_favorited","collection_ids","tags","similarity"],"description":"Asset details"}},"required":["asset"]},"example":{"asset":{"vector_id":"b1a2b4a5-cb89-51dc-a108-6dbfd8e742fc","request_id":"019e6d0a-e5be-7b82-b329-35ae64296902","url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","type":"image","title":"Cinematic portrait","endpoint":"fal-ai/flux/dev","created_at":"2026-05-23T20:00:00.000Z","source":"upload","prompt":"cinematic portrait of a character","width":1024,"height":1024,"content_type":"image/png","is_favorited":false,"collection_ids":["d8b6elcregj72v34jr8g"],"tags":[{"id":"43ce3411-1a25-4d14-875e-3562d341b090","name":"moodboard","created_at":"2026-05-23T20:00:00.000Z"}],"similarity":0.92}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/{vector_id}":{"get":{"operationId":"getAsset","summary":"Get asset","description":"Get an asset document by vector ID from the authenticated user's fal Assets library. The vector may exist only in Turbopuffer; in that case the response returns the Turbopuffer document with empty local state.","x-mint":{"href":"/platform-apis/v1/assets/get","metadata":{"sidebarTitle":"Get Asset"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Vector ID","example":"b1a2b4a5-cb89-51dc-a108-6dbfd8e742fc"},"required":true,"description":"Vector ID","name":"vector_id","in":"path"}],"responses":{"200":{"description":"Asset details","content":{"application/json":{"schema":{"type":"object","properties":{"asset":{"type":"object","properties":{"vector_id":{"type":"string","description":"Vector ID","example":"b1a2b4a5-cb89-51dc-a108-6dbfd8e742fc"},"request_id":{"type":["string","null"],"description":"Request ID","example":"019e6d0a-e5be-7b82-b329-35ae64296902"},"url":{"type":["string","null"],"description":"Media URL","example":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png"},"type":{"type":"string","enum":["image","video","audio","3d"],"description":"Asset media type"},"title":{"type":"string","description":"Display title","example":"Portrait"},"endpoint":{"type":["string","null"],"description":"Model endpoint that produced the asset","example":"fal-ai/flux/dev"},"created_at":{"type":["string","null"],"description":"Asset creation time","example":"2026-05-23T20:00:00.000Z"},"source":{"type":["string","null"],"description":"Asset source","example":"upload"},"prompt":{"type":["string","null"],"description":"Saved prompt or description","example":"cinematic portrait"},"width":{"type":["number","null"],"description":"Width in pixels","example":1024},"height":{"type":["number","null"],"description":"Height in pixels","example":1024},"content_type":{"type":["string","null"],"description":"Media content type","example":"image/png"},"is_favorited":{"type":"boolean","description":"Whether the asset is favorited","example":false},"collection_ids":{"type":"array","items":{"type":"string"},"description":"Collections containing this asset","example":["d8b6elcregj72v34jr8g"]},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Tag ID","example":"43ce3411-1a25-4d14-875e-3562d341b090"},"name":{"type":"string","description":"Tag name","example":"moodboard"},"created_at":{"type":["string","null"],"description":"Tag creation time","example":"2026-05-23T20:00:00.000Z"}},"required":["id","name","created_at"],"description":"Asset tag"},"description":"Assigned tags"},"similarity":{"type":["number","null"],"description":"Semantic similarity score when applicable","example":0.92}},"required":["vector_id","request_id","url","type","title","endpoint","created_at","source","prompt","width","height","content_type","is_favorited","collection_ids","tags","similarity"],"description":"Asset details"}},"required":["asset"]},"example":{"asset":{"vector_id":"b1a2b4a5-cb89-51dc-a108-6dbfd8e742fc","request_id":"019e6d0a-e5be-7b82-b329-35ae64296902","url":"https://v3b.fal.media/files/b/0a9b4900/PDbTGyzqRh1aijW2WQiY9_opengraph-1%20%281%29.png","type":"image","title":"Cinematic portrait","endpoint":"fal-ai/flux/dev","created_at":"2026-05-23T20:00:00.000Z","source":"upload","prompt":"cinematic portrait of a character","width":1024,"height":1024,"content_type":"image/png","is_favorited":false,"collection_ids":["d8b6elcregj72v34jr8g"],"tags":[{"id":"43ce3411-1a25-4d14-875e-3562d341b090","name":"moodboard","created_at":"2026-05-23T20:00:00.000Z"}],"similarity":0.92}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/favorite":{"post":{"operationId":"favoriteAsset","summary":"Favorite asset","description":"Favorite an asset. Provide a request ID or vector ID; unresolved references are materialized before favorite state is added.","x-mint":{"href":"/platform-apis/v1/assets/favorite","metadata":{"sidebarTitle":"Favorite Asset"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1,"description":"Request ID to save as an asset before mutating"},"vector_id":{"type":"string","minLength":1,"description":"Vector ID to save as an asset before mutating"}}},"example":{"request_id":"019e6d0a-e5be-7b82-b329-35ae64296902"}}}},"responses":{"200":{"description":"Asset favorited","content":{"application/json":{"schema":{"type":"object","properties":{"is_favorited":{"type":"boolean","description":"Whether the asset is now favorited"}},"required":["is_favorited"]},"example":{"is_favorited":true}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/unfavorite":{"post":{"operationId":"unfavoriteAsset","summary":"Unfavorite asset","description":"Unfavorite an asset by request ID or vector ID.","x-mint":{"href":"/platform-apis/v1/assets/unfavorite","metadata":{"sidebarTitle":"Unfavorite Asset"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1,"description":"Request ID to save as an asset before mutating"},"vector_id":{"type":"string","minLength":1,"description":"Vector ID to save as an asset before mutating"}}},"example":{"vector_id":"b1a2b4a5-cb89-51dc-a108-6dbfd8e742fc"}}}},"responses":{"200":{"description":"Asset unfavorited","content":{"application/json":{"schema":{"type":"object","properties":{"is_favorited":{"type":"boolean","description":"Whether the asset is now favorited"}},"required":["is_favorited"]},"example":{"is_favorited":false}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/{vector_id}/tags":{"get":{"operationId":"listAssetTagsForAsset","summary":"List tags for an asset","description":"List tags for an asset by vector ID. Vectors that have not been saved as assets return an empty tag list.","x-mint":{"href":"/platform-apis/v1/assets/tags/list-for-asset","metadata":{"sidebarTitle":"List Asset Tags"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Vector ID","example":"b1a2b4a5-cb89-51dc-a108-6dbfd8e742fc"},"required":true,"description":"Vector ID","name":"vector_id","in":"path"}],"responses":{"200":{"description":"Asset tags","content":{"application/json":{"schema":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Tag ID","example":"43ce3411-1a25-4d14-875e-3562d341b090"},"name":{"type":"string","description":"Tag name","example":"moodboard"},"created_at":{"type":["string","null"],"description":"Tag creation time","example":"2026-05-23T20:00:00.000Z"}},"required":["id","name","created_at"],"description":"Asset tag"},"description":"Asset tags"}},"required":["tags"]},"example":{"tags":[{"id":"43ce3411-1a25-4d14-875e-3562d341b090","name":"moodboard","created_at":"2026-05-23T20:00:00.000Z"}]}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/assets/tags/{tag_id}/assign":{"post":{"operationId":"assignAssetTag","summary":"Assign tag to asset","description":"Assign a tag to an asset. Provide a request ID or vector ID; unresolved references are materialized before tag state is added.","x-mint":{"href":"/platform-apis/v1/assets/tags/assign","metadata":{"sidebarTitle":"Assign Asset Tag"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Tag ID","example":"43ce3411-1a25-4d14-875e-3562d341b090"},"required":true,"description":"Tag ID","name":"tag_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1,"description":"Request ID to save as an asset before mutating"},"vector_id":{"type":"string","minLength":1,"description":"Vector ID to save as an asset before mutating"}}},"example":{"request_id":"019e6d0a-e5be-7b82-b329-35ae64296902"}}}},"responses":{"200":{"description":"Tag assigned","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded","example":true}},"required":["success"]},"example":{"success":true}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}},"delete":{"operationId":"unassignAssetTag","summary":"Unassign tag from asset","description":"Unassign a tag from an asset by request ID or vector ID.","x-mint":{"href":"/platform-apis/v1/assets/tags/unassign","metadata":{"sidebarTitle":"Unassign Asset Tag"}},"tags":["Assets"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Tag ID","example":"43ce3411-1a25-4d14-875e-3562d341b090"},"required":true,"description":"Tag ID","name":"tag_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1,"description":"Request ID to save as an asset before mutating"},"vector_id":{"type":"string","minLength":1,"description":"Vector ID to save as an asset before mutating"}}},"example":{"vector_id":"b1a2b4a5-cb89-51dc-a108-6dbfd8e742fc"}}}},"responses":{"204":{"description":"Tag unassigned"},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"409":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"422":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}},"502":{"description":"Upstream asset service error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"Upstream asset service failed"}}}}}}}},"/storage/files/acl":{"get":{"operationId":"getStorageFileAcl","summary":"Get file ACL","x-mint":{"href":"/platform-apis/v1/storage/files/acl/get"},"description":"\nReturns the Access Control List currently applied to a fal CDN file.\n\nThe ACL consists of a default decision (`allow`, `forbid`, or `hide`) plus\noptional per-user rules that override the default. Rule users are returned as\nnicknames where possible.\n\n**Authentication:** Required. The API key must have the `assets:read` permission.\n ","tags":["Storage"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","format":"uri","description":"Full URL of the fal CDN file, as returned by the upload APIs (https://v3.fal.media/files/b//). Must not contain query parameters.","example":"https://v3.fal.media/files/b/0a1b2c3d/output.png"},"required":true,"description":"Full URL of the fal CDN file, as returned by the upload APIs (https://v3.fal.media/files/b//). Must not contain query parameters.","name":"url","in":"query"}],"responses":{"200":{"description":"Current ACL of the file","content":{"application/json":{"schema":{"type":"object","properties":{"default":{"type":"string","enum":["allow","forbid","hide"],"description":"Fallback decision when no user-specific rule matches","example":"allow"},"rules":{"type":"array","items":{"type":"object","properties":{"user":{"type":"string","minLength":1,"description":"User nickname or user ID the rule applies to","example":"some-user"},"decision":{"type":"string","enum":["allow","forbid","hide"],"description":"Access decision applied to this user","example":"allow"}},"required":["user","decision"],"additionalProperties":false,"description":"A per-user access control rule"},"description":"User-specific overrides to the default decision. Users are returned as nicknames where possible."}},"required":["default","rules"],"description":"Access Control List currently applied to the file"},"example":{"default":"forbid","rules":[{"user":"my-teammate","decision":"allow"}]}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}},"put":{"operationId":"setStorageFileAcl","summary":"Set file ACL","x-mint":{"href":"/platform-apis/v1/storage/files/acl/set"},"description":"\nReplaces the Access Control List of a fal CDN file.\n\nThe ACL consists of a default decision (`allow`, `forbid`, or `hide`) plus\noptional per-user rules that override the default. Rule users may be specified\nby nickname or user ID. Setting `default` to `allow` with no rules makes the\nfile public; `forbid` or `hide` restricts it to the rules you provide.\n\nRules referencing users that do not exist are dropped. The response reflects\nthe ACL actually applied, so verify it contains the rules you sent.\n\n**Authentication:** Required. The API key must have the `assets:write` permission.\n ","tags":["Storage"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","format":"uri","description":"Full URL of the fal CDN file, as returned by the upload APIs (https://v3.fal.media/files/b//). Must not contain query parameters.","example":"https://v3.fal.media/files/b/0a1b2c3d/output.png"},"required":true,"description":"Full URL of the fal CDN file, as returned by the upload APIs (https://v3.fal.media/files/b//). Must not contain query parameters.","name":"url","in":"query"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"default":{"type":"string","enum":["allow","forbid","hide"],"description":"Fallback decision when no user-specific rule matches","example":"allow"},"rules":{"type":"array","items":{"type":"object","properties":{"user":{"type":"string","minLength":1,"description":"User nickname or user ID the rule applies to","example":"some-user"},"decision":{"type":"string","enum":["allow","forbid","hide"],"description":"Access decision applied to this user","example":"allow"}},"required":["user","decision"],"additionalProperties":false,"description":"A per-user access control rule"},"default":[],"description":"User-specific overrides to the default decision"}},"required":["default"],"additionalProperties":false,"description":"Access Control List for a fal CDN file"},"example":{"default":"forbid","rules":[{"user":"my-teammate","decision":"allow"}]}}}},"responses":{"200":{"description":"ACL applied to the file","content":{"application/json":{"schema":{"type":"object","properties":{"default":{"type":"string","enum":["allow","forbid","hide"],"description":"Fallback decision when no user-specific rule matches","example":"allow"},"rules":{"type":"array","items":{"type":"object","properties":{"user":{"type":"string","minLength":1,"description":"User nickname or user ID the rule applies to","example":"some-user"},"decision":{"type":"string","enum":["allow","forbid","hide"],"description":"Access decision applied to this user","example":"allow"}},"required":["user","decision"],"additionalProperties":false,"description":"A per-user access control rule"},"description":"User-specific overrides to the default decision. Users are returned as nicknames where possible."}},"required":["default","rules"],"description":"Access Control List currently applied to the file"},"example":{"default":"forbid","rules":[{"user":"my-teammate","decision":"allow"}]}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/storage/files/sign":{"post":{"operationId":"signStorageFileUrl","summary":"Sign file URL","x-mint":{"href":"/platform-apis/v1/storage/files/sign"},"description":"\nCreates a signed URL that grants temporary access to a fal CDN file,\nregardless of its ACL. Useful for sharing access-restricted files.\n\nThe signature is valid for `expiration_seconds` (up to 7 days).\n\n**Authentication:** Required. The API key must have the `assets:read` permission.\n ","tags":["Storage"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","format":"uri","description":"Full URL of the fal CDN file, as returned by the upload APIs (https://v3.fal.media/files/b//). Must not contain query parameters.","example":"https://v3.fal.media/files/b/0a1b2c3d/output.png"},"required":true,"description":"Full URL of the fal CDN file, as returned by the upload APIs (https://v3.fal.media/files/b//). Must not contain query parameters.","name":"url","in":"query"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"expiration_seconds":{"type":"integer","minimum":1,"maximum":604800,"description":"How long the signed URL stays valid, in seconds (max 7 days)","example":3600}},"required":["expiration_seconds"],"additionalProperties":false,"description":"Signing options for the file URL"},"example":{"expiration_seconds":3600}}}},"responses":{"200":{"description":"Signed URL granting temporary access","content":{"application/json":{"schema":{"type":"object","properties":{"signed_url":{"type":"string","description":"URL with an embedded signature granting temporary access","example":"https://v3.fal.media/files/b/0a1b2c3d/output.png?identity=..."}},"required":["signed_url"],"description":"Signed URL response"},"example":{"signed_url":"https://v3.fal.media/files/b/0a1b2c3d/output.png?identity=..."}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/storage/settings":{"get":{"operationId":"getStorageSettings","summary":"Get storage settings","x-mint":{"href":"/platform-apis/v1/storage/settings/get"},"description":"\nReturns the account-level storage lifecycle settings applied to newly uploaded\nfal CDN files:\n\n- `expiration_duration_seconds`: how long files live before being\n automatically deleted (null disables auto-expiration).\n- `initial_acl`: the default ACL applied to new uploads (null means the\n system default, which is public).\n\nBoth fields are null when the account has never saved settings.\n\n**Authentication:** Required. The API key must have the `account:settings:read` permission.\n ","tags":["Storage"],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Current storage settings","content":{"application/json":{"schema":{"type":"object","properties":{"expiration_duration_seconds":{"type":["integer","null"],"description":"Seconds after which newly uploaded files automatically expire, or null if auto-expiration is disabled","example":86400},"initial_acl":{"type":["object","null"],"properties":{"default":{"type":"string","enum":["allow","forbid","hide"],"description":"Fallback decision when no user-specific rule matches","example":"allow"},"rules":{"type":"array","items":{"type":"object","properties":{"user":{"type":"string","minLength":1,"description":"User nickname or user ID the rule applies to","example":"some-user"},"decision":{"type":"string","enum":["allow","forbid","hide"],"description":"Access decision applied to this user","example":"allow"}},"required":["user","decision"],"additionalProperties":false,"description":"A per-user access control rule"},"description":"User-specific overrides to the default decision. Users are returned as nicknames where possible."}},"required":["default","rules"],"description":"Default ACL applied to newly uploaded files, or null if the system default (public) is used"}},"required":["expiration_duration_seconds","initial_acl"],"description":"Account-level storage lifecycle settings"},"example":{"expiration_duration_seconds":86400,"initial_acl":{"default":"forbid","rules":[{"user":"my-teammate","decision":"allow"}]}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}},"put":{"operationId":"updateStorageSettings","summary":"Update storage settings","x-mint":{"href":"/platform-apis/v1/storage/settings/update"},"description":"\nReplaces the account-level storage lifecycle settings applied to newly\nuploaded fal CDN files. Omitted or null fields are cleared (reset to the\nsystem default), so always send the full desired configuration.\n\nACL rules referencing users that do not exist are dropped. The response\nreflects the settings actually saved, so verify it contains the rules you sent.\n\nThese are the same settings that the per-request\n`X-Fal-Object-Lifecycle-Preference` header overrides on individual requests.\n\n**Authentication:** Required. The API key must have the `account:settings:write` permission.\n ","tags":["Storage"],"security":[{"apiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"expiration_duration_seconds":{"type":["integer","null"],"minimum":1,"description":"Seconds after which newly uploaded files automatically expire and are deleted. Null disables auto-expiration.","example":86400},"initial_acl":{"type":["object","null"],"properties":{"default":{"type":"string","enum":["allow","forbid","hide"],"description":"Fallback decision when no user-specific rule matches","example":"allow"},"rules":{"type":"array","items":{"type":"object","properties":{"user":{"type":"string","minLength":1,"description":"User nickname or user ID the rule applies to","example":"some-user"},"decision":{"type":"string","enum":["allow","forbid","hide"],"description":"Access decision applied to this user","example":"allow"}},"required":["user","decision"],"additionalProperties":false,"description":"A per-user access control rule"},"default":[],"description":"User-specific overrides to the default decision"}},"required":["default"],"additionalProperties":false,"description":"Default ACL applied to newly uploaded files. Null uses the system default (public)."}},"additionalProperties":false,"description":"Account-level storage lifecycle settings"},"example":{"expiration_duration_seconds":86400,"initial_acl":{"default":"forbid","rules":[{"user":"my-teammate","decision":"allow"}]}}}}},"responses":{"200":{"description":"Storage settings after the update","content":{"application/json":{"schema":{"type":"object","properties":{"expiration_duration_seconds":{"type":["integer","null"],"description":"Seconds after which newly uploaded files automatically expire, or null if auto-expiration is disabled","example":86400},"initial_acl":{"type":["object","null"],"properties":{"default":{"type":"string","enum":["allow","forbid","hide"],"description":"Fallback decision when no user-specific rule matches","example":"allow"},"rules":{"type":"array","items":{"type":"object","properties":{"user":{"type":"string","minLength":1,"description":"User nickname or user ID the rule applies to","example":"some-user"},"decision":{"type":"string","enum":["allow","forbid","hide"],"description":"Access decision applied to this user","example":"allow"}},"required":["user","decision"],"additionalProperties":false,"description":"A per-user access control rule"},"description":"User-specific overrides to the default decision. Users are returned as nicknames where possible."}},"required":["default","rules"],"description":"Default ACL applied to newly uploaded files, or null if the system default (public) is used"}},"required":["expiration_duration_seconds","initial_acl"],"description":"Account-level storage lifecycle settings"},"example":{"expiration_duration_seconds":86400,"initial_acl":{"default":"forbid","rules":[{"user":"my-teammate","decision":"allow"}]}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/serverless/analytics":{"get":{"operationId":"serverlessGetAnalytics","summary":"Analytics","x-mint":{"href":"/platform-apis/v1/serverless/analytics","metadata":{"sidebarTitle":"Analytics"}},"description":"\nTime-bucketed metrics for your serverless app endpoints, including request counts,\nsuccess/error rates, and latency percentiles across all inbound traffic.\n`prepare_duration` reflects queue/prepare time before execution;\n`duration` is request execution time.\n\nThis endpoint shows all inbound requests to endpoints you own — not just\nyour own calls. This is ideal for monitoring your deployed apps, tracking\nSLAs, and exporting data to tools like BigQuery or Grafana. You must own\nall requested endpoints; returns 403 otherwise.\n\n**Metric Selection:**\nYou must specify which metrics to include using the `expand` query\nparameter. Only requested metrics will be populated in the response,\nallowing you to optimize query performance and data transfer.\n\n**Available Metrics:**\n\nThe `expand` parameter accepts these values, grouped by category:\n\n*Volume*\n- `request_count`: Total number of requests in the time bucket\n- `success_count`: Successful requests (2xx responses)\n- `user_error_count`: User errors (4xx responses)\n- `error_count`: Server errors (5xx responses)\n\n*Error type breakdown*\n- `startup_error_count`: Startup errors (startup timeout, scheduling failure)\n- `connection_error_count`: Connection errors (timeout, disconnected, refused)\n- `timeout_error_count`: Request timeout errors\n- `runtime_error_count`: Runtime errors (internal error, server error)\n\n*Queue / prepare latency*\n- `p50_prepare_duration`, `p75_prepare_duration`, `p90_prepare_duration`, `p95_prepare_duration`, `p99_prepare_duration`: Time from request submission until execution starts\n\n*Request execution latency*\n- `p25_duration`, `p50_duration`, `p75_duration`, `p90_duration`, `p95_duration`, `p99_duration`: Time spent processing the request\n\n*Cold boot*\n- `cold_boot_count`: Requests with cold boot (startup > 1s)\n- `p50_cold_boot_duration`, `p75_cold_boot_duration`, `p90_cold_boot_duration`: Cold boot duration percentiles\n\n*Billing*\n- `total_billable_duration`: Aggregate billed execution time\n\n**Key Features:**\n- See all traffic to your apps across all callers\n- Selective metric inclusion via expand parameter\n- Performance metrics (latency percentiles, duration stats)\n- Reliability metrics (success/error rates, request counts)\n- Error type breakdown (startup, connection, timeout, runtime)\n- Cold boot metrics (count, latency percentiles)\n- Billing duration tracking\n- Time-bucketed data for trend analysis\n- Flexible date range and timeframe options\n\n**Common Use Cases:**\n- Monitor your serverless app performance and reliability\n- Export analytics to your own observability tools\n- Analyze latency trends across all callers\n- Track error rates and SLA compliance\n ","tags":["Serverless","Analytics"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","example":50},"required":false,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor from previous response. Encodes the page number.","example":"Mg=="},"required":false,"description":"Pagination cursor from previous response. Encodes the page number.","name":"cursor","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","example":"2025-01-01T00:00:00Z"},"required":false,"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","name":"start","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","example":"2025-02-01T00:00:00Z"},"required":false,"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","name":"end","in":"query"},{"schema":{"type":"string","default":"UTC","description":"Timezone for date aggregation and boundaries. All timestamps in responses are in UTC, but this controls how dates are bucketed.","example":"UTC"},"required":false,"description":"Timezone for date aggregation and boundaries. All timestamps in responses are in UTC, but this controls how dates are bucketed.","name":"timezone","in":"query"},{"schema":{"type":"string","enum":["minute","hour","day","week","month"],"description":"Aggregation timeframe for timeseries data (auto-detected from date range if not specified). Auto-detection uses: minute (<2h), hour (<2d), day (<64d), week (<183d), month (>=183d).","example":"day"},"required":false,"description":"Aggregation timeframe for timeseries data (auto-detected from date range if not specified). Auto-detection uses: minute (<2h), hour (<2d), day (<64d), week (<183d), month (>=183d).","name":"timeframe","in":"query"},{"schema":{"type":"string","enum":["true","false"],"default":"true","description":"Whether to adjust start/end dates to align with timeframe boundaries and use exclusive end. Defaults to true. When true, dates are aligned to the start of the timeframe period (e.g., start of day) and end is made exclusive (e.g., start of next day). When false, uses exact dates provided.","example":"true"},"required":false,"description":"Whether to adjust start/end dates to align with timeframe boundaries and use exclusive end. Defaults to true. When true, dates are aligned to the start of the timeframe period (e.g., start of day) and end is made exclusive (e.g., start of next day). When false, uses exact dates provided.","name":"bound_to_timeframe","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","example":["fal-ai/flux/dev"]},"required":true,"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","name":"endpoint_id","style":"form","explode":true,"in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"default":["time_series","request_count"],"description":"Data and metrics to include in the response. Use 'time_series' for time-bucketed data, metric names for specific metrics in time series, and 'summary' for aggregate statistics. At least one of 'time_series' or 'summary' and at least one metric are required.","example":["request_count","success_count"]},"required":false,"description":"Data and metrics to include in the response. Use 'time_series' for time-bucketed data, metric names for specific metrics in time series, and 'summary' for aggregate statistics. At least one of 'time_series' or 'summary' and at least one metric are required.","name":"expand","style":"form","explode":true,"in":"query"}],"responses":{"200":{"description":"Analytics data retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results, null if no more pages"},"has_more":{"type":"boolean","description":"Boolean indicating if more results are available (convenience field derived from next_cursor)"},"time_series":{"type":"array","items":{"type":"object","properties":{"bucket":{"type":"string","description":"Time bucket timestamp in user's timezone with offset (ISO8601 datetime)"},"results":{"type":"array","items":{"type":"object","properties":{"endpoint_id":{"type":"string","description":"Endpoint identifier for these statistics"},"request_count":{"type":"integer","minimum":0,"description":"Total number of requests"},"success_count":{"type":"integer","minimum":0,"description":"Number of successful requests (2xx responses)"},"user_error_count":{"type":"integer","minimum":0,"description":"Number of user errors (4xx responses)"},"error_count":{"type":"integer","minimum":0,"description":"Number of server errors (5xx responses)"},"p50_prepare_duration":{"type":"number","minimum":0,"description":"50th percentile queue/prepare time before execution in seconds"},"p75_prepare_duration":{"type":"number","minimum":0,"description":"75th percentile queue/prepare time before execution in seconds"},"p90_prepare_duration":{"type":"number","minimum":0,"description":"90th percentile queue/prepare time before execution in seconds"},"p95_prepare_duration":{"type":"number","minimum":0,"description":"95th percentile queue/prepare time before execution in seconds"},"p99_prepare_duration":{"type":"number","minimum":0,"description":"99th percentile queue/prepare time before execution in seconds"},"p50_duration":{"type":"number","minimum":0,"description":"50th percentile request execution duration in seconds"},"p75_duration":{"type":"number","minimum":0,"description":"75th percentile request execution duration in seconds"},"p90_duration":{"type":"number","minimum":0,"description":"90th percentile request execution duration in seconds"},"p25_duration":{"type":"number","minimum":0,"description":"25th percentile request execution duration in seconds"},"p95_duration":{"type":"number","minimum":0,"description":"95th percentile request execution duration in seconds"},"p99_duration":{"type":"number","minimum":0,"description":"99th percentile request execution duration in seconds"},"startup_error_count":{"type":"integer","minimum":0,"description":"Number of startup errors (startup timeout, scheduling failure)"},"connection_error_count":{"type":"integer","minimum":0,"description":"Number of connection errors (connection timeout, disconnected, refused)"},"timeout_error_count":{"type":"integer","minimum":0,"description":"Number of request timeout errors"},"runtime_error_count":{"type":"integer","minimum":0,"description":"Number of runtime errors (internal error, server error)"},"cold_boot_count":{"type":"integer","minimum":0,"description":"Number of requests with cold boot (startup time > 1 second)"},"p50_cold_boot_duration":{"type":"number","minimum":0,"description":"50th percentile cold boot duration in seconds (only cold starts)"},"p75_cold_boot_duration":{"type":"number","minimum":0,"description":"75th percentile cold boot duration in seconds (only cold starts)"},"p90_cold_boot_duration":{"type":"number","minimum":0,"description":"90th percentile cold boot duration in seconds (only cold starts)"},"total_billable_duration":{"type":"number","minimum":0,"description":"Total billable execution duration in seconds (sum of all request durations)"}},"required":["endpoint_id"],"description":"Performance and reliability analytics. Only requested metrics (via expand parameter) will be present in the response. 'prepare_duration' reflects queue/prepare time before execution; 'duration' is request execution time."},"description":"Analytics records for this time bucket"}},"required":["bucket","results"],"description":"Time bucket with grouped analytics records"},"description":"Time series analytics data grouped by time bucket (when expand includes 'time_series'). Each bucket contains all analytics records for that time period."},"summary":{"type":"array","items":{"type":"object","properties":{"endpoint_id":{"type":"string","description":"Endpoint identifier for these statistics"},"request_count":{"type":"integer","minimum":0,"description":"Total number of requests"},"success_count":{"type":"integer","minimum":0,"description":"Number of successful requests (2xx responses)"},"user_error_count":{"type":"integer","minimum":0,"description":"Number of user errors (4xx responses)"},"error_count":{"type":"integer","minimum":0,"description":"Number of server errors (5xx responses)"},"p50_prepare_duration":{"type":"number","minimum":0,"description":"50th percentile queue/prepare time before execution in seconds"},"p75_prepare_duration":{"type":"number","minimum":0,"description":"75th percentile queue/prepare time before execution in seconds"},"p90_prepare_duration":{"type":"number","minimum":0,"description":"90th percentile queue/prepare time before execution in seconds"},"p95_prepare_duration":{"type":"number","minimum":0,"description":"95th percentile queue/prepare time before execution in seconds"},"p99_prepare_duration":{"type":"number","minimum":0,"description":"99th percentile queue/prepare time before execution in seconds"},"p50_duration":{"type":"number","minimum":0,"description":"50th percentile request execution duration in seconds"},"p75_duration":{"type":"number","minimum":0,"description":"75th percentile request execution duration in seconds"},"p90_duration":{"type":"number","minimum":0,"description":"90th percentile request execution duration in seconds"},"p25_duration":{"type":"number","minimum":0,"description":"25th percentile request execution duration in seconds"},"p95_duration":{"type":"number","minimum":0,"description":"95th percentile request execution duration in seconds"},"p99_duration":{"type":"number","minimum":0,"description":"99th percentile request execution duration in seconds"},"startup_error_count":{"type":"integer","minimum":0,"description":"Number of startup errors (startup timeout, scheduling failure)"},"connection_error_count":{"type":"integer","minimum":0,"description":"Number of connection errors (connection timeout, disconnected, refused)"},"timeout_error_count":{"type":"integer","minimum":0,"description":"Number of request timeout errors"},"runtime_error_count":{"type":"integer","minimum":0,"description":"Number of runtime errors (internal error, server error)"},"cold_boot_count":{"type":"integer","minimum":0,"description":"Number of requests with cold boot (startup time > 1 second)"},"p50_cold_boot_duration":{"type":"number","minimum":0,"description":"50th percentile cold boot duration in seconds (only cold starts)"},"p75_cold_boot_duration":{"type":"number","minimum":0,"description":"75th percentile cold boot duration in seconds (only cold starts)"},"p90_cold_boot_duration":{"type":"number","minimum":0,"description":"90th percentile cold boot duration in seconds (only cold starts)"},"total_billable_duration":{"type":"number","minimum":0,"description":"Total billable execution duration in seconds (sum of all request durations)"}},"required":["endpoint_id"],"description":"Aggregate performance statistics for the entire date range"},"description":"Aggregate statistics (when expand includes 'summary')"}},"required":["next_cursor","has_more"],"description":"Response containing performance analytics with pagination support"},"example":{"time_series":[{"bucket":"2025-01-15T12:00:00-05:00","results":[{"endpoint_id":"your-username/your-app","request_count":1500,"success_count":1450,"p50_duration":2.5,"p90_duration":4.8}]}],"next_cursor":null,"has_more":false}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/serverless/apps/{owner}/{name}/queue":{"get":{"operationId":"serverlessGetAppQueueInfo","summary":"Queue Size","x-mint":{"href":"/platform-apis/v1/serverless/apps/queue","metadata":{"sidebarTitle":"Queue Size"}},"description":"Retrieves the current queue size for a specific application.","tags":["Serverless","Apps"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","description":"Username of the app owner","example":"user_123"},"required":true,"description":"Username of the app owner","name":"owner","in":"path"},{"schema":{"type":"string","description":"Application name","example":"my-app"},"required":true,"description":"Application name","name":"name","in":"path"}],"responses":{"200":{"description":"Successfully retrieved queue information","content":{"application/json":{"schema":{"type":"object","properties":{"queue_size":{"type":"integer","minimum":0,"description":"Current number of requests in the queue","example":5}},"required":["queue_size"],"additionalProperties":false,"description":"Status of the app queue"},"example":{"queue_size":5}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}},"delete":{"operationId":"serverlessFlushAppQueue","summary":"Flush Application Queue","x-mint":{"href":"/platform-apis/v1/serverless/apps/flush-queue"},"description":"Flushes all pending requests from an application's queue.\n\n**Authentication:** Required via API key\n\n**Idempotency:**\n- Optional `Idempotency-Key` header prevents duplicate flushes on retries\n- Responses cached for 10 minutes per unique key\n\n**Use Cases:**\n- Clear stuck or outdated requests from the queue\n- Reset queue state during development or testing\n- Cancel all pending requests for an application\n\n**Important:**\n- This operation is irreversible\n- All pending requests in the queue will be cancelled\n- Requests already being processed will not be affected","tags":["Serverless","Apps"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","description":"Username of the app owner","example":"user_123"},"required":true,"description":"Username of the app owner","name":"owner","in":"path"},{"schema":{"type":"string","description":"Application name","example":"my-app"},"required":true,"description":"Application name","name":"name","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"responses":{"204":{"description":"Queue flushed successfully"},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/serverless/files/list":{"get":{"operationId":"serverlessListRoot","summary":"List files (root)","x-mint":{"href":"/platform-apis/v1/serverless/files/list","metadata":{"sidebarTitle":"List Files (Root)"}},"description":"Lists files and folders in the root of your project storage.","tags":["Serverless","Files"],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Successfully listed files","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","description":"Full file or folder path","example":"datasets/images/cat.jpg"},"name":{"type":"string","description":"Base name of the file or folder","example":"cat.jpg"},"created_time":{"type":"string","format":"date-time","description":"Creation timestamp (UTC ISO 8601)","example":"2024-11-08T00:00:00.000Z"},"updated_time":{"type":"string","format":"date-time","description":"Last update timestamp (UTC ISO 8601)","example":"2024-11-09T00:00:00.000Z"},"is_file":{"type":"boolean","description":"True if this item is a file, false if it is a folder","example":true},"size":{"type":"number","description":"File size in bytes (0 for folders)","example":1250023},"checksum_sha256":{"type":"string","description":"Optional SHA256 checksum","example":"b1946ac92492d2347c6235b4d2611184d5c3f1f0f44aa7b27d3b1d5b0f5a6a11"},"checksum_md5":{"type":"string","description":"Optional MD5 checksum","example":"9e107d9d372bb6826bd81d3542a419d6"}},"required":["path","name","created_time","updated_time","is_file","size"],"additionalProperties":false,"description":"File or folder specification"},"description":"Array of files and folders for the requested directory"},"example":[{"path":"datasets","name":"datasets","created_time":"2024-11-08T00:00:00.000Z","updated_time":"2024-11-09T00:00:00.000Z","is_file":false,"size":0}]}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/serverless/files/list/{dir}":{"get":{"operationId":"serverlessListDirectory","summary":"List files (directory)","x-mint":{"href":"/platform-apis/v1/serverless/files/list/directory"},"description":"Lists files and folders within the specified directory path.","tags":["Serverless","Files"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","description":"Directory path to list","example":"datasets/images"},"required":true,"description":"Directory path to list","name":"dir","in":"path"}],"responses":{"200":{"description":"Successfully listed files","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","description":"Full file or folder path","example":"datasets/images/cat.jpg"},"name":{"type":"string","description":"Base name of the file or folder","example":"cat.jpg"},"created_time":{"type":"string","format":"date-time","description":"Creation timestamp (UTC ISO 8601)","example":"2024-11-08T00:00:00.000Z"},"updated_time":{"type":"string","format":"date-time","description":"Last update timestamp (UTC ISO 8601)","example":"2024-11-09T00:00:00.000Z"},"is_file":{"type":"boolean","description":"True if this item is a file, false if it is a folder","example":true},"size":{"type":"number","description":"File size in bytes (0 for folders)","example":1250023},"checksum_sha256":{"type":"string","description":"Optional SHA256 checksum","example":"b1946ac92492d2347c6235b4d2611184d5c3f1f0f44aa7b27d3b1d5b0f5a6a11"},"checksum_md5":{"type":"string","description":"Optional MD5 checksum","example":"9e107d9d372bb6826bd81d3542a419d6"}},"required":["path","name","created_time","updated_time","is_file","size"],"additionalProperties":false,"description":"File or folder specification"},"description":"Array of files and folders for the requested directory"},"examples":{"success":{"value":[{"path":"datasets/images/cat.jpg","name":"cat.jpg","created_time":"2024-11-08T00:00:00.000Z","updated_time":"2024-11-09T00:00:00.000Z","is_file":true,"size":1250023,"checksum_sha256":"b1946ac92492d2347c6235b4d2611184d5c3f1f0f44aa7b27d3b1d5b0f5a6a11"}],"summary":"Directory listing"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/serverless/files/file/{file}":{"get":{"operationId":"serverlessDownloadFile","summary":"Download file","x-mint":{"href":"/platform-apis/v1/serverless/files/file/download"},"description":"Downloads a file by its path. Proxies the underlying storage response.","tags":["Serverless","Files"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","description":"Path of the file to download","example":"datasets/images/cat.jpg"},"required":true,"description":"Path of the file to download","name":"file","in":"path"}],"responses":{"200":{"description":"File stream","content":{"application/octet-stream":{"schema":{}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/serverless/files/file/url/{file}":{"post":{"operationId":"serverlessUploadFromUrl","summary":"Upload file from URL","x-mint":{"href":"/platform-apis/v1/serverless/files/file/upload-from-url"},"description":"Creates a new file at the target path by downloading it from the provided URL.","tags":["Serverless","Files"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","description":"Target file path (including filename)","example":"datasets/images/cat.jpg"},"required":true,"description":"Target file path (including filename)","name":"file","in":"path"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Publicly accessible URL for the file"}},"required":["url"],"additionalProperties":false,"description":"Upload a file from a URL into the target path"},"example":{"url":"https://example.com/cat.jpg"}}}},"responses":{"200":{"description":"Upload initiated","content":{"application/json":{"schema":{"type":"boolean","description":"Indicates whether the operation was successful"},"example":true}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/serverless/files/file/local/{target_path}":{"post":{"operationId":"serverlessUploadLocalFile","summary":"Upload local file (multipart/form-data)","x-mint":{"href":"/platform-apis/v1/serverless/files/file/upload-local"},"description":"Uploads a local file using multipart/form-data. The file field name must be `file_upload`.","tags":["Serverless","Files"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"string","description":"Target path (including filename)","example":"datasets/images/cat.jpg"},"required":true,"description":"Target path (including filename)","name":"target_path","in":"path"},{"schema":{"type":["boolean","null"],"default":false,"description":"If true and the uploaded file is a ZIP, it will be extracted","example":false},"required":false,"description":"If true and the uploaded file is a ZIP, it will be extracted","name":"unzip","in":"query"}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file_upload":{"description":"Binary file content"}},"additionalProperties":false}}}},"responses":{"200":{"description":"Upload completed","content":{"application/json":{"schema":{"type":"boolean","description":"Indicates whether the operation was successful"},"example":true}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/serverless/metrics":{"get":{"operationId":"serverlessGetMetrics","summary":"Metrics","x-mint":{"href":"/platform-apis/v1/serverless/metrics","metadata":{"sidebarTitle":"Prometheus Metrics"}},"description":"\nReturns Prometheus-compatible metrics in text format for integration into your\nobservability stack\n\n**Authentication:** Required - Uses API key authentication\n\n**Format:** Returns text/plain in Prometheus exposition format\n\n**Common Use Cases:**\n- Export app stats to your observability provider (grafana, datadog etc)\n- Track runner health and performance\n- Set up alerts and monitoring\n\nSee [Prometheus documentation](https://prometheus.io/docs/instrumenting/exposition_formats/) for format details.\n ","tags":["Serverless","Metrics","Observability"],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Prometheus-compatible metrics retrieved successfully","content":{"text/plain":{"schema":{"type":"string","description":"Prometheus-compatible metrics in text format","example":"# HELP fal_app_queue_size Current size of the fal app queue\n# TYPE fal_app_queue_size gauge\nfal_requests_total{application=\"my/app\"} 10"},"example":"# HELP fal_app_runners Number of fal app runners\n# TYPE fal_app_runners gauge\nfal_app_runners{application=\"my/app\",machine_type=\"NVIDIA B200\",state=\"running\"} 21\n# HELP fal_app_queue_size Current size of the fal app queue\n# TYPE fal_app_queue_size gauge\nfal_app_queue_size{application=\"my/app\"} 7\n# HELP fal_app_concurrent_requests Current number of concurrent requests being processed\n# TYPE fal_app_concurrent_requests gauge\nfal_app_concurrent_requests{application=\"my/app\"} 3\n# HELP fal_app_requests_completed Number of requests completed in the last minute\n# TYPE fal_app_requests_completed gauge\nfal_app_requests_completed{application=\"my/app\",method=\"POST\",status=\"200\"} 18\n# HELP fal_app_requests_received Number of requests received in the last minute\n# TYPE fal_app_requests_received gauge\nfal_app_requests_received{application=\"my/app\",method=\"POST\"} 24\n# HELP fal_app_request_latency Number of requests completed, bucketed by latency in seconds\n# TYPE fal_app_request_latency gauge\nfal_app_request_latency{application=\"my/app\",le=\"1.0\"} 5\nfal_app_request_latency{application=\"my/app\",le=\"+Inf\"} 24"}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/serverless/logs/history":{"post":{"operationId":"serverlessLogsHistory","summary":"Logs history (paginated)","x-mint":{"href":"/platform-apis/v1/serverless/logs/history","metadata":{"sidebarTitle":"Logs History"}},"description":"Returns paginated historical logs that match the provided filters.","tags":["Serverless","Logs"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"maximum":1000,"description":"Number of results per page","example":100},"required":false,"description":"Number of results per page","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor from previous response (timestamp-based). Use as 'until' parameter for next page.","example":"2024-11-09T00:00:00.000Z"},"required":false,"description":"Pagination cursor from previous response (timestamp-based). Use as 'until' parameter for next page.","name":"cursor","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","example":"2025-01-01T00:00:00Z"},"required":false,"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","name":"start","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","example":"2025-02-01T00:00:00Z"},"required":false,"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","name":"end","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter by specific app ID(s) in '/' format (e.g. 'fal-ai/my-app'). Accepts 1-50 app IDs. Supports comma-separated values: ?app_id=fal-ai/foo,fal-ai/bar or array syntax: ?app_id=fal-ai/foo&app_id=fal-ai/bar","example":["fal-ai/my-app"]},"required":false,"description":"Filter by specific app ID(s) in '/' format (e.g. 'fal-ai/my-app'). Accepts 1-50 app IDs. Supports comma-separated values: ?app_id=fal-ai/foo,fal-ai/bar or array syntax: ?app_id=fal-ai/foo&app_id=fal-ai/bar","name":"app_id","style":"form","explode":true,"in":"query"},{"schema":{"type":"string","description":"Filter by revision","example":"rev_abc123"},"required":false,"description":"Filter by revision","name":"revision","in":"query"},{"schema":{"type":"string","enum":["grpc-run","grpc-register","gateway","cron"],"description":"Filter by run source","example":"grpc-run"},"required":false,"description":"Filter by run source","name":"run_source","in":"query"},{"schema":{"type":["boolean","null"],"default":false,"description":"Include tracebacks","example":false},"required":false,"description":"Include tracebacks","name":"traceback","in":"query"},{"schema":{"type":"string","description":"Free-text search","example":"error"},"required":false,"description":"Free-text search","name":"search","in":"query"},{"schema":{"type":"string","description":"Minimum log level","example":"error"},"required":false,"description":"Minimum log level","name":"level","in":"query"},{"schema":{"type":"string","description":"Filter by job id","example":"job_123"},"required":false,"description":"Filter by job id","name":"job_id","in":"query"},{"schema":{"type":"string","description":"Filter by request id","example":"019e6d0a-e5be-7b82-b329-35ae64296902"},"required":false,"description":"Filter by request id","name":"request_id","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"Label key to filter"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter value"},"condition_type":{"type":"string","enum":["equals","in","not_equals","not_in"],"description":"Condition type for label filtering"}},"required":["key","value"],"additionalProperties":false,"description":"Filter for log labels"}},"examples":{"single":{"value":[{"key":"fal_job_id","value":"job_123"}],"summary":"Filter by a single label"}}}}},"responses":{"200":{"description":"Logs history retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results, null if no more pages"},"has_more":{"type":"boolean","description":"Boolean indicating if more results are available (convenience field derived from next_cursor)"},"items":{"type":"array","items":{"type":"object","properties":{"timestamp":{"type":"string","description":"ISO timestamp of the log line"},"level":{"type":"string","description":"Log level"},"message":{"type":"string","description":"Log message"},"app":{"type":"string","description":"App identifier"},"revision":{"type":"string","description":"Revision identifier"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional labels"}},"required":["timestamp","level","message","app","revision"],"additionalProperties":false,"description":"A single log entry"},"description":"Array of log entries matching the query"}},"required":["next_cursor","has_more","items"],"description":"Paginated logs response"},"examples":{"success":{"value":{"items":[{"timestamp":"2024-11-09T10:30:45.123Z","level":"info","message":"Application started","app":"my-app","revision":"rev_abc123","labels":{"fal_job_id":"job_123"}}],"next_cursor":"2024-11-09T10:30:44.000Z","has_more":true},"summary":"Paginated logs response"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/serverless/logs/stream":{"post":{"operationId":"serverlessLogsStream","summary":"Logs stream (SSE)","x-mint":{"href":"/platform-apis/v1/serverless/logs/stream","metadata":{"sidebarTitle":"Logs Stream (SSE)"}},"description":"Streams live logs that match the provided filters using Server-Sent Events.","tags":["Serverless","Logs"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","example":"2025-01-01T00:00:00Z"},"required":false,"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","name":"start","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","example":"2025-02-01T00:00:00Z"},"required":false,"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","name":"end","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter by specific app ID(s) in '/' format (e.g. 'fal-ai/my-app'). Accepts 1-50 app IDs. Supports comma-separated values: ?app_id=fal-ai/foo,fal-ai/bar or array syntax: ?app_id=fal-ai/foo&app_id=fal-ai/bar","example":["fal-ai/my-app"]},"required":false,"description":"Filter by specific app ID(s) in '/' format (e.g. 'fal-ai/my-app'). Accepts 1-50 app IDs. Supports comma-separated values: ?app_id=fal-ai/foo,fal-ai/bar or array syntax: ?app_id=fal-ai/foo&app_id=fal-ai/bar","name":"app_id","style":"form","explode":true,"in":"query"},{"schema":{"type":"string","description":"Filter by revision","example":"rev_abc123"},"required":false,"description":"Filter by revision","name":"revision","in":"query"},{"schema":{"type":"string","enum":["grpc-run","grpc-register","gateway","cron"],"description":"Filter by run source","example":"grpc-run"},"required":false,"description":"Filter by run source","name":"run_source","in":"query"},{"schema":{"type":["boolean","null"],"default":false,"description":"Include tracebacks","example":false},"required":false,"description":"Include tracebacks","name":"traceback","in":"query"},{"schema":{"type":"string","description":"Free-text search","example":"error"},"required":false,"description":"Free-text search","name":"search","in":"query"},{"schema":{"type":"string","description":"Minimum log level","example":"error"},"required":false,"description":"Minimum log level","name":"level","in":"query"},{"schema":{"type":"string","description":"Filter by job id","example":"job_123"},"required":false,"description":"Filter by job id","name":"job_id","in":"query"},{"schema":{"type":"string","description":"Filter by request id","example":"019e6d0a-e5be-7b82-b329-35ae64296902"},"required":false,"description":"Filter by request id","name":"request_id","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"Label key to filter"},"value":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter value"},"condition_type":{"type":"string","enum":["equals","in","not_equals","not_in"],"description":"Condition type for label filtering"}},"required":["key","value"],"additionalProperties":false,"description":"Filter for log labels"}},"examples":{"single":{"value":[{"key":"fal_job_id","value":"job_123"}],"summary":"Filter by a single label"}}}}},"responses":{"200":{"description":"SSE stream started","content":{"text/event-stream":{"schema":{}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/serverless/requests/by-endpoint":{"get":{"operationId":"serverlessListRequestsByEndpoint","summary":"List requests by endpoint(s)","x-mint":{"href":"/platform-apis/v1/serverless/requests/by-endpoint","metadata":{"sidebarTitle":"List Requests by Endpoint"}},"description":"Lists requests for one or more endpoints owned by the authenticated user.\nUse repeated or comma-separated `endpoint_id` (same as other platform list APIs).\n\n**Authentication:** Requires API key.\n\n**Filters:**\n- Time range via start / end. If `start` is omitted, defaults to the last 24 hours — unless `request_id` is provided, in which case the default start bound is widened to 90 days.\n- Status (success, error, user_error)\n- Request ID\n- Pagination via cursor/limit (limit defaults to 50, max 100)\n\n**Sorting:**\n- By end time (default) or duration\n\n**Expansions:**\n- Include payloads by adding expand=payloads\n- Include per-request `billable_units` by adding expand=billing (endpoint owner only)","tags":["Serverless","Requests"],"security":[{"apiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"maximum":100,"default":50,"description":"Number of items to return per page (max 100)","example":20},"required":false,"description":"Number of items to return per page (max 100)","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor encoding the page number","example":"Mg=="},"required":false,"description":"Pagination cursor encoding the page number","name":"cursor","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","example":["fal-ai/flux/dev"]},"required":true,"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","name":"endpoint_id","style":"form","explode":true,"in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","example":"2025-01-01T00:00:00Z"},"required":false,"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","name":"start","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","example":"2025-02-01T00:00:00Z"},"required":false,"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","name":"end","in":"query"},{"schema":{"type":"string","enum":["success","error","user_error"],"description":"Filter by request status","example":"success"},"required":false,"description":"Filter by request status","name":"status","in":"query"},{"schema":{"type":"string","format":"uuid","description":"Filter by specific request ID","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"},"required":false,"description":"Filter by specific request ID","name":"request_id","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Fields to expand in the response. Use payloads to include input and output payloads. Use billing to include billable_units per request.","example":["payloads","billing"]},"required":false,"description":"Fields to expand in the response. Use payloads to include input and output payloads. Use billing to include billable_units per request.","name":"expand","style":"form","explode":true,"in":"query"},{"schema":{"type":"string","enum":["ended_at","duration"],"default":"ended_at","description":"Sort results by end time or duration","example":"ended_at"},"required":false,"description":"Sort results by end time or duration","name":"sort_by","in":"query"}],"responses":{"200":{"description":"Requests listed successfully","content":{"application/json":{"schema":{"type":"object","properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results, null if no more pages"},"has_more":{"type":"boolean","description":"Boolean indicating if more results are available (convenience field derived from next_cursor)"},"items":{"type":"array","items":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid","description":"Unique identifier for the request","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"},"endpoint_id":{"type":"string","description":"Endpoint that was executed for this request","example":"fal-ai/flux/dev"},"started_at":{"type":"string","format":"date-time","description":"Time when request processing started","example":"2025-01-01T00:00:05Z"},"sent_at":{"type":"string","format":"date-time","description":"Time when request was sent to the backend","example":"2025-01-01T00:00:01Z"},"ended_at":{"type":["string","null"],"format":"date-time","description":"Time when request finished processing","example":"2025-01-01T00:00:08Z"},"status_code":{"type":["integer","null"],"description":"HTTP status code returned by the request","example":200},"duration":{"type":["number","null"],"description":"Total request duration in seconds","example":7.8},"json_input":{"description":"Input payload for the request"},"json_output":{"description":"Output payload for the request"},"runner_id":{"type":["string","null"],"format":"uuid","description":"Unique identifier for the runner execution instance. Null if no runner was assigned (e.g. the request failed before dispatch).","example":"f1e2d3c4-b5a6-7890-dcba-0987654321fe"},"billable_units":{"type":["number","null"],"description":"Billable units for this request (only present when expand=billing). Null if a billing event has not yet been recorded for this request.","example":1.5}},"required":["request_id","endpoint_id","started_at","sent_at","runner_id"],"description":"Serverless request item"},"description":"List of requests matching the filter"}},"required":["next_cursor","has_more","items"],"description":"Paginated list of serverless requests for the specified endpoint"},"example":{"items":[{"request_id":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","endpoint_id":"fal-ai/flux/dev","runner_id":"f1e2d3c4-b5a6-7890-dcba-0987654321fe","started_at":"2025-01-01T00:00:05Z","sent_at":"2025-01-01T00:00:01Z","ended_at":"2025-01-01T00:00:08Z","status_code":200,"duration":7.8,"json_input":{"prompt":"cat astronaut"},"json_output":{"status":"ok"},"billable_units":1.5}],"next_cursor":"Mg==","has_more":true}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/compute/instances":{"get":{"operationId":"listComputeInstances","summary":"List Compute Instances","x-mint":{"href":"/platform-apis/v1/compute/instances/list","metadata":{"sidebarTitle":"List Compute Instances"}},"description":"Returns a list of all compute instances belonging to the authenticated user's workspace.\n\n**Requirements:**\n- Requires compute permissions (extra_permissions.compute = true)\n- Authentication required via admin API key\n\n**Key Features:**\n- View all instances regardless of status\n- Includes instance configuration, region, and current status\n- Paginated results for large instance lists\n\n**Common Use Cases:**\n- Monitor all active compute resources\n- Check instance status and availability\n- Audit compute resource usage\n- Build compute management dashboards\n\nSee [fal.ai docs](https://docs.fal.ai/compute) for more details.","tags":["Compute"],"security":[{"adminApiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","example":50},"required":false,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor from previous response. Encodes the page number.","example":"Mg=="},"required":false,"description":"Pagination cursor from previous response. Encodes the page number.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Successfully retrieved compute instances","content":{"application/json":{"schema":{"type":"object","properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results, null if no more pages"},"has_more":{"type":"boolean","description":"Boolean indicating if more results are available (convenience field derived from next_cursor)"},"instances":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the compute instance","example":"inst_abc123xyz"},"instance_type":{"type":"string","enum":["gpu_8x_h100_sxm5","gpu_1x_h100_sxm5"],"description":"Type of compute instance (GPU configuration)","example":"gpu_1x_h100_sxm5"},"region":{"type":"string","enum":["us-west","us-central","us-east","eu-north","eu-west","other"],"description":"Geographical region where the instance is located","example":"us-west"},"sector":{"type":"string","enum":["sector_1","sector_2","sector_3"],"description":"Sector identifier for instance placement within the region (if applicable)","example":"sector_1"},"ip":{"type":"string","description":"IP address of the instance (available when instance is ready)","example":"203.0.113.42"},"status":{"type":"string","enum":["ready","init","pending","provisioning","stopped","unknown"],"description":"Current operational status of the instance","example":"ready"},"creator_user_nickname":{"type":"string","description":"Nickname of the user who created this instance","example":"developer"}},"required":["id","instance_type","region","status"],"description":"Compute instance details including configuration, location, and status"},"description":"Array of compute instances belonging to the authenticated user"}},"required":["next_cursor","has_more","instances"],"description":"Response containing a list of compute instances with pagination support"},"example":{"instances":[{"id":"inst_abc123xyz","instance_type":"gpu_1x_h100_sxm5","region":"us-west","sector":"sector_1","ip":"203.0.113.42","status":"ready","creator_user_nickname":"developer"},{"id":"inst_def456uvw","instance_type":"gpu_8x_h100_sxm5","region":"us-east","status":"provisioning","creator_user_nickname":"developer"}],"next_cursor":null,"has_more":false}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}},"post":{"operationId":"createComputeInstance","summary":"Create Compute Instance","x-mint":{"href":"/platform-apis/v1/compute/instances/create","metadata":{"sidebarTitle":"Create Compute Instance"}},"description":"Creates a new compute instance with the specified configuration and SSH key.\n\n**Requirements:**\n- Requires compute permissions (extra_permissions.compute = true)\n- Authentication required via admin API key\n- Valid SSH public key required for instance access\n\n**Key Features:**\n- Create high-performance GPU instances\n- Specify sector for InfiniBand configuration (8x H100 only)\n- SSH key-based authentication\n- Automatic instance provisioning and region assignment\n- Idempotent creation with Idempotency-Key header (optional but recommended)\n\n**Common Use Cases:**\n- Spin up compute resources for ML training\n- Create GPU instances for inference workloads\n- Set up development environments with H100 GPUs\n- Deploy distributed training with InfiniBand networking\n\n**Instance Types:**\n- `gpu_8x_h100_sxm5`: 8x NVIDIA H100 GPUs (high-performance, supports sector configuration for InfiniBand)\n- `gpu_1x_h100_sxm5`: 1x NVIDIA H100 GPU (standard)\n\n**Idempotency:**\n- Optional Idempotency-Key header prevents duplicate instance creation on retries\n- Responses cached for 10 minutes per unique key\n\nSee [fal.ai docs](https://docs.fal.ai/compute) for more details.","tags":["Compute"],"security":[{"adminApiKey":[]}],"parameters":[{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"instance_type":{"type":"string","enum":["gpu_8x_h100_sxm5","gpu_1x_h100_sxm5"],"description":"Type of compute instance to create","example":"gpu_1x_h100_sxm5"},"ssh_key":{"type":"string","minLength":1,"description":"SSH public key for accessing the instance (e.g., 'ssh-rsa AAAAB3...')","example":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC... user@host"},"sector":{"type":"string","enum":["sector_1","sector_2","sector_3"],"description":"Sector for InfiniBand configuration (only valid with gpu_8x_h100_sxm5)","example":"sector_1"}},"required":["instance_type","ssh_key"],"description":"Request body for creating a new compute instance with SSH access"},"example":{"instance_type":"gpu_8x_h100_sxm5","ssh_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC7Kl4... user@host","sector":"sector_1"}}}},"responses":{"201":{"description":"Compute instance created successfully","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the compute instance","example":"inst_abc123xyz"},"instance_type":{"type":"string","enum":["gpu_8x_h100_sxm5","gpu_1x_h100_sxm5"],"description":"Type of compute instance (GPU configuration)","example":"gpu_1x_h100_sxm5"},"region":{"type":"string","enum":["us-west","us-central","us-east","eu-north","eu-west","other"],"description":"Geographical region where the instance is located","example":"us-west"},"sector":{"type":"string","enum":["sector_1","sector_2","sector_3"],"description":"Sector identifier for instance placement within the region (if applicable)","example":"sector_1"},"ip":{"type":"string","description":"IP address of the instance (available when instance is ready)","example":"203.0.113.42"},"status":{"type":"string","enum":["ready","init","pending","provisioning","stopped","unknown"],"description":"Current operational status of the instance","example":"ready"},"creator_user_nickname":{"type":"string","description":"Nickname of the user who created this instance","example":"developer"}},"required":["id","instance_type","region","status"],"description":"Compute instance details including configuration, location, and status"},"example":{"id":"inst_abc123xyz","instance_type":"gpu_8x_h100_sxm5","region":"us-west","sector":"sector_1","status":"provisioning","creator_user_nickname":"developer"}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/compute/instances/{id}":{"get":{"operationId":"getComputeInstance","summary":"Get Compute Instance","x-mint":{"href":"/platform-apis/v1/compute/instances/get","metadata":{"sidebarTitle":"Get Compute Instance"}},"description":"Retrieves detailed information about a specific compute instance by its ID.\n\n**Requirements:**\n- Requires compute permissions (extra_permissions.compute = true)\n- Authentication required via admin API key\n- Instance must belong to the authenticated user's workspace\n\n**Key Features:**\n- Get current instance status and configuration\n- Access instance IP address when available\n- View region and sector placement\n- Check creator information\n\n**Common Use Cases:**\n- Monitor specific instance status\n- Retrieve connection details (IP address)\n- Check instance readiness before use\n- Audit instance configuration\n\nSee [fal.ai docs](https://docs.fal.ai/compute) for more details.","tags":["Compute"],"security":[{"adminApiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Unique identifier for the compute instance","example":"inst_abc123xyz"},"required":true,"description":"Unique identifier for the compute instance","name":"id","in":"path"}],"responses":{"200":{"description":"Successfully retrieved compute instance details","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the compute instance","example":"inst_abc123xyz"},"instance_type":{"type":"string","enum":["gpu_8x_h100_sxm5","gpu_1x_h100_sxm5"],"description":"Type of compute instance (GPU configuration)","example":"gpu_1x_h100_sxm5"},"region":{"type":"string","enum":["us-west","us-central","us-east","eu-north","eu-west","other"],"description":"Geographical region where the instance is located","example":"us-west"},"sector":{"type":"string","enum":["sector_1","sector_2","sector_3"],"description":"Sector identifier for instance placement within the region (if applicable)","example":"sector_1"},"ip":{"type":"string","description":"IP address of the instance (available when instance is ready)","example":"203.0.113.42"},"status":{"type":"string","enum":["ready","init","pending","provisioning","stopped","unknown"],"description":"Current operational status of the instance","example":"ready"},"creator_user_nickname":{"type":"string","description":"Nickname of the user who created this instance","example":"developer"}},"required":["id","instance_type","region","status"],"description":"Compute instance details including configuration, location, and status"},"example":{"id":"inst_abc123xyz","instance_type":"gpu_1x_h100_sxm5","region":"us-west","sector":"sector_1","ip":"203.0.113.42","status":"ready","creator_user_nickname":"developer"}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}},"delete":{"operationId":"deleteComputeInstance","summary":"Delete Compute Instance","x-mint":{"href":"/platform-apis/v1/compute/instances/delete","metadata":{"sidebarTitle":"Delete Compute Instance"}},"description":"Deletes a specific compute instance by its ID. This action is irreversible.\n\n**Requirements:**\n- Requires compute permissions (extra_permissions.compute = true)\n- Authentication required via admin API key\n- Instance must belong to the authenticated user's workspace\n\n**Key Features:**\n- Permanently remove compute instances\n- Free up compute resources\n- Stop billing for the instance\n- Clean up unused resources\n\n**Important:**\n- This action cannot be undone\n- All data on the instance will be lost\n- Instance will be immediately terminated\n- Billing stops after deletion\n\n**Common Use Cases:**\n- Clean up completed workloads\n- Remove failed or stuck instances\n- Manage compute costs\n- Free up quota for new instances\n\nSee [fal.ai docs](https://docs.fal.ai/compute) for more details.","tags":["Compute"],"security":[{"adminApiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Unique identifier for the compute instance","example":"inst_abc123xyz"},"required":true,"description":"Unique identifier for the compute instance","name":"id","in":"path"}],"responses":{"204":{"description":"Compute instance deleted successfully"},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/keys":{"get":{"operationId":"listApiKeys","summary":"List API Keys","x-mint":{"href":"/platform-apis/v1/keys/list","metadata":{"sidebarTitle":"List API Keys"}},"description":"Returns a list of all API keys belonging to the authenticated user's workspace.\n\n**Requirements:**\n- Authentication required via admin API key\n\n**Key Features:**\n- View all API keys with their aliases and creation dates\n- Optionally expand to include creator information\n- Paginated results for workspaces with many keys\n\n**Expansion Options:**\n- `expand=creator_info`: Include creator_nickname and creator_email for each key\n\n**Common Use Cases:**\n- Audit existing API keys\n- Find keys by alias\n- Monitor key creation activity\n- Build key management interfaces","tags":["Keys"],"security":[{"adminApiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","example":50},"required":false,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor from previous response. Encodes the page number.","example":"Mg=="},"required":false,"description":"Pagination cursor from previous response. Encodes the page number.","name":"cursor","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Fields to expand in the response. Available: creator_info (includes creator_nickname and creator_email)","example":["creator_info"]},"required":false,"description":"Fields to expand in the response. Available: creator_info (includes creator_nickname and creator_email)","name":"expand","style":"form","explode":true,"in":"query"}],"responses":{"200":{"description":"Successfully retrieved API keys","content":{"application/json":{"schema":{"type":"object","properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results, null if no more pages"},"has_more":{"type":"boolean","description":"Boolean indicating if more results are available (convenience field derived from next_cursor)"},"keys":{"type":"array","items":{"type":"object","properties":{"key_id":{"type":"string","description":"Unique identifier for the API key","example":"abc123def456"},"alias":{"type":"string","description":"User-provided friendly name for the key","example":"Production Key"},"scope":{"type":"string","enum":["API"],"description":"Scope of the API key. Only API scope keys can be managed via this API.","example":"API"},"created_at":{"type":"string","description":"ISO8601 timestamp when the key was created","example":"2025-01-15T12:00:00Z"},"creator_nickname":{"type":"string","description":"Nickname of the user who created this key (when expanded)","example":"developer"},"creator_email":{"type":"string","description":"Email of the user who created this key (when expanded)","example":"developer@example.com"}},"required":["key_id","alias","scope","created_at"],"description":"API key information"},"description":"Array of API keys belonging to the authenticated user"}},"required":["next_cursor","has_more","keys"],"description":"Response containing a list of API keys with pagination support"},"example":{"keys":[{"key_id":"abc123def456","alias":"Production Key","scope":"API","created_at":"2025-01-15T12:00:00Z"},{"key_id":"xyz789ghi012","alias":"Development Key","scope":"API","created_at":"2025-01-10T09:30:00Z"}],"next_cursor":null,"has_more":false}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}},"post":{"operationId":"createApiKey","summary":"Create API Key","x-mint":{"href":"/platform-apis/v1/keys/create","metadata":{"sidebarTitle":"Create API Key"}},"description":"Creates a new API key with the specified alias.\n\n**Requirements:**\n- Authentication required via admin API key\n\n**Important Security Notice:**\nThe `key_secret` is only returned once at creation time. Store it securely immediately\nas it cannot be retrieved again. If lost, you must delete the key and create a new one.\n\n**Key Features:**\n- Create API keys programmatically without UI access\n- Assign meaningful aliases for key identification\n- Keys are immediately active upon creation\n\n**Common Use Cases:**\n- Programmatic key provisioning for CI/CD pipelines\n- Self-serve key generation for team members\n- Automated key rotation workflows\n- Integration with secret management systems","tags":["Keys"],"security":[{"adminApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"alias":{"type":"string","minLength":1,"maxLength":255,"description":"Required friendly name for the API key","example":"Production Key"}},"required":["alias"],"description":"Request body for creating a new API key"},"example":{"alias":"Production Key"}}}},"responses":{"201":{"description":"API key created successfully. Store the key_secret securely - it will not be shown again.","content":{"application/json":{"schema":{"type":"object","properties":{"key_id":{"type":"string","description":"Unique identifier for the newly created API key","example":"abc123def456"},"key_secret":{"type":"string","description":"Secret portion of the API key. IMPORTANT: This is only returned once at creation time and cannot be retrieved again.","example":"sk_live_abc123..."},"key":{"type":"string","description":"Full API key in the format 'key_id:key_secret'. Use this value directly for API authorization. IMPORTANT: This is only returned once at creation time and cannot be retrieved again.","example":"abc123def456:sk_live_abc123..."}},"required":["key_id","key_secret","key"],"description":"Response containing the newly created API key credentials. The key_secret is only returned once."},"example":{"key_id":"abc123def456","key_secret":"sk_live_abc123def456xyz789","key":"abc123def456:sk_live_abc123def456xyz789"}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/keys/{key_id}":{"delete":{"operationId":"deleteApiKey","summary":"Delete API Key","x-mint":{"href":"/platform-apis/v1/keys/delete","metadata":{"sidebarTitle":"Delete API Key"}},"description":"Deletes an API key by its ID. This action is irreversible.\n\n**Requirements:**\n- Authentication required via admin API key\n- Key must belong to the authenticated user's workspace\n\n**Key Features:**\n- Permanently revoke API key access\n- Idempotent operation (safe to retry)\n- Optional Idempotency-Key header for safe retries\n\n**Important:**\n- This action cannot be undone\n- Any applications using this key will immediately lose access\n- Returns 204 even if the key doesn't exist (idempotent behavior)\n\n**Common Use Cases:**\n- Revoke compromised keys\n- Clean up unused keys\n- Implement key rotation (delete old, create new)\n- Offboard team members","tags":["Keys"],"security":[{"adminApiKey":[]}],"parameters":[{"schema":{"type":"string","minLength":1,"description":"Unique identifier of the API key to delete","example":"abc123def456"},"required":true,"description":"Unique identifier of the API key to delete","name":"key_id","in":"path"},{"schema":{"type":"string","description":"Optional idempotency key for safe request retries","example":"550e8400-e29b-41d4-a716-446655440000"},"required":false,"description":"Optional idempotency key for safe request retries","name":"Idempotency-Key","in":"header"}],"responses":{"204":{"description":"API key deleted successfully (or already deleted)"},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/account/billing":{"get":{"operationId":"getAccountBilling","summary":"Account Billing","x-mint":{"href":"/platform-apis/v1/account/billing","metadata":{"sidebarTitle":"Account Billing"}},"description":"Returns billing information for the authenticated account. Use the `expand`\nparameter to include additional details.\n\n**Expandable Fields:**\n- `credits` — Current credit balance and currency\n\n**Common Use Cases:**\n- Monitor available credit balance programmatically\n- Display balance in custom dashboards","tags":["Account"],"security":[{"adminApiKey":[]}],"parameters":[{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Data to include in the response. Use 'credits' to include current credit balance.","example":"credits"},"required":false,"description":"Data to include in the response. Use 'credits' to include current credit balance.","name":"expand","style":"form","explode":true,"in":"query"}],"responses":{"200":{"description":"Account billing information retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"username":{"type":"string","description":"Account username","example":"my-team"},"credits":{"type":"object","properties":{"current_balance":{"type":"number","minimum":0,"description":"Current credit balance available on the account","example":24.5},"currency":{"type":"string","description":"Currency code for the balance","example":"USD"}},"required":["current_balance","currency"],"description":"Credit balance details. Only present when 'credits' is included in expand parameter."}},"required":["username"],"description":"Account billing information with optional expanded details"},"example":{"username":"my-team","credits":{"current_balance":24.5,"currency":"USD"}}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/account/focus":{"get":{"operationId":"getFocusReport","summary":"FOCUS Report","x-mint":{"href":"/platform-apis/v1/account/focus","metadata":{"sidebarTitle":"FOCUS Report"}},"description":"\nReturns a FOCUS compliant billing report as a CSV download.\n\n> **Availability:** This endpoint is available to enterprise customers with FOCUS reports enabled. Contact your account team or support@fal.ai to request access.\n\nSupports two data sources:\n- **invoice**: Finalized invoice data for a billing month. Includes usage charges, credits, and taxes.\n- **estimate**: Real-time usage estimates for a date range. Pre-invoice data that may change once invoiced.\n\nThe report follows the [FinOps FOCUS specification](https://focus.finops.org/) for cloud billing data interoperability.\n\n**Invoice reports** default to the most recently available billing month.\n**Usage estimates** default to the last 24 hours, with a maximum 90-day lookback.\n ","tags":["Account"],"security":[{"adminApiKey":[]}],"parameters":[{"schema":{"type":"string","enum":["invoice","estimate"],"description":"Report source. 'invoice' returns finalized invoice data for a billing month. 'estimate' returns real-time usage estimates for a date range.","example":"invoice"},"required":true,"description":"Report source. 'invoice' returns finalized invoice data for a billing month. 'estimate' returns real-time usage estimates for a date range.","name":"source","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}$","description":"Invoice billing month (YYYY-MM). The month the invoice was issued (e.g. '2025-02' for January charges). Used with source=invoice. Defaults to most recent available billing month.","example":"2025-02"},"required":false,"description":"Invoice billing month (YYYY-MM). The month the invoice was issued (e.g. '2025-02' for January charges). Used with source=invoice. Defaults to most recent available billing month.","name":"billing_month","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}$","description":"Charge month (YYYY-MM). The month charges were incurred. Converted to billing_month by adding 1 month (billing in arrears). Alternative to billing_month. Used with source=invoice.","example":"2025-01"},"required":false,"description":"Charge month (YYYY-MM). The month charges were incurred. Converted to billing_month by adding 1 month (billing in arrears). Alternative to billing_month. Used with source=invoice.","name":"charge_month","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","example":"2025-01-01T00:00:00Z"},"required":false,"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","name":"start","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","example":"2025-02-01T00:00:00Z"},"required":false,"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","name":"end","in":"query"},{"schema":{"type":"string","default":"UTC","description":"Timezone for date aggregation and boundaries. All timestamps in responses are in UTC, but this controls how dates are bucketed.","example":"UTC"},"required":false,"description":"Timezone for date aggregation and boundaries. All timestamps in responses are in UTC, but this controls how dates are bucketed.","name":"timezone","in":"query"},{"schema":{"type":"string","enum":["minute","hour","day","week","month"],"description":"Aggregation timeframe for timeseries data (auto-detected from date range if not specified). Auto-detection uses: minute (<2h), hour (<2d), day (<64d), week (<183d), month (>=183d).","example":"day"},"required":false,"description":"Aggregation timeframe for timeseries data (auto-detected from date range if not specified). Auto-detection uses: minute (<2h), hour (<2d), day (<64d), week (<183d), month (>=183d).","name":"timeframe","in":"query"},{"schema":{"type":"string","enum":["true","false"],"default":"true","description":"Whether to adjust start/end dates to align with timeframe boundaries and use exclusive end. Defaults to true. When true, dates are aligned to the start of the timeframe period (e.g., start of day) and end is made exclusive (e.g., start of next day). When false, uses exact dates provided.","example":"true"},"required":false,"description":"Whether to adjust start/end dates to align with timeframe boundaries and use exclusive end. Defaults to true. When true, dates are aligned to the start of the timeframe period (e.g., start of day) and end is made exclusive (e.g., start of next day). When false, uses exact dates provided.","name":"bound_to_timeframe","in":"query"}],"responses":{"200":{"description":"FOCUS compliant CSV report","content":{"text/csv":{"schema":{"type":"string"}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/account/model-access-controls":{"get":{"operationId":"getModelAccessControls","summary":"Model Access Controls Report","x-mint":{"href":"/platform-apis/v1/account/model-access-controls","metadata":{"sidebarTitle":"Model Access Controls"}},"description":"\nReturns the current model access controls for your organization as a CSV download.\n\n> **Availability:** This endpoint is available to enterprise customers with model access controls enabled. Contact your account team or support@fal.ai to request access.\n\nThe report includes each model's endpoint ID, title, category, enterprise readiness status, and the resolved UI and API access state (ALLOWED or BLOCKED).\n ","tags":["Account"],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Model access controls CSV report","content":{"text/csv":{"schema":{"type":"string"}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/organization/teams":{"get":{"operationId":"getOrganizationTeams","summary":"Organization Teams","x-mint":{"href":"/platform-apis/v1/organization/teams","metadata":{"sidebarTitle":"Organization Teams"}},"description":"\nReturns the list of teams in your organization with their details.\n\n> **Availability:** This endpoint is available to enterprise customers with organizations enabled. Contact your account team or support@fal.ai to request access.\n\nMust be called with an admin API key on the organization's root team.\n\n**Key Features:**\n- List all teams within the organization\n- Identify the organization's root team via `is_org_root`\n- View team usernames and display names\n\nSee [fal.ai docs](https://docs.fal.ai) for more details.\n ","tags":["Organization"],"security":[{"adminApiKey":[]}],"responses":{"200":{"description":"Organization teams retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"teams":{"type":"array","items":{"type":"object","properties":{"username":{"type":"string","description":"Team username/identifier (unique within the organization)","example":"acme-corp"},"name":{"type":"string","description":"Human-readable display name of the team","example":"Acme Corporation"},"is_org_root":{"type":"boolean","description":"True if this is the root organization team; false for sub-teams","example":true},"created_at":{"type":"string","description":"Team creation timestamp in ISO8601 format","example":"2024-01-15T10:30:00Z"}},"required":["username","name","is_org_root","created_at"],"description":"Organization team details"},"description":"List of teams in the organization"}},"required":["teams"],"description":"Response containing organization team details"},"example":{"teams":[{"username":"acme-corp","name":"Acme Corporation","is_org_root":true,"created_at":"2024-01-15T10:30:00Z"},{"username":"acme-ml-team","name":"ML Research Team","is_org_root":false,"created_at":"2024-03-01T14:00:00Z"}]}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/organization/usage":{"get":{"operationId":"getOrganizationUsage","summary":"Organization Usage","x-mint":{"href":"/platform-apis/v1/organization/usage","metadata":{"sidebarTitle":"Organization Usage"}},"description":"\nReturns paginated usage records across all teams and product lines in your\norganization, with each record attributed to a specific team via the\n`username` field and a product line via the `product` field.\n\nCovers all three fal product lines:\n- `model_apis` — model API endpoint calls (e.g. `fal-ai/flux/dev`)\n- `serverless` — fal Serverless SDK billing\n- `compute` — fal Compute (raw instance time)\n\n> **Availability:** This endpoint is available to enterprise customers with organizations enabled. Contact your account team or support@fal.ai to request access.\n\nMust be called with an admin API key on the organization's root team.\n\n**Key Features:**\n- Organization-wide usage data across all teams and products\n- Filter by team (`team_username`), product line (`product`), endpoint, date range, and auth method\n- Per-team and per-product attribution on every usage record\n- Paginated time series and aggregate summary views\n\nSee [fal.ai docs](https://docs.fal.ai) for more details.\n ","tags":["Organization"],"security":[{"adminApiKey":[]}],"parameters":[{"schema":{"type":"integer","minimum":1,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","example":50},"required":false,"description":"Maximum number of items to return. Actual maximum depends on query type and expansion parameters.","name":"limit","in":"query"},{"schema":{"type":"string","description":"Pagination cursor from previous response. Encodes the page number.","example":"Mg=="},"required":false,"description":"Pagination cursor from previous response. Encodes the page number.","name":"cursor","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","example":"2025-01-01T00:00:00Z"},"required":false,"description":"Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.","name":"start","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}],"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","example":"2025-02-01T00:00:00Z"},"required":false,"description":"End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.","name":"end","in":"query"},{"schema":{"type":"string","default":"UTC","description":"Timezone for date aggregation and boundaries. All timestamps in responses are in UTC, but this controls how dates are bucketed.","example":"UTC"},"required":false,"description":"Timezone for date aggregation and boundaries. All timestamps in responses are in UTC, but this controls how dates are bucketed.","name":"timezone","in":"query"},{"schema":{"type":"string","enum":["minute","hour","day","week","month"],"description":"Aggregation timeframe for timeseries data (auto-detected from date range if not specified). Auto-detection uses: minute (<2h), hour (<2d), day (<64d), week (<183d), month (>=183d).","example":"day"},"required":false,"description":"Aggregation timeframe for timeseries data (auto-detected from date range if not specified). Auto-detection uses: minute (<2h), hour (<2d), day (<64d), week (<183d), month (>=183d).","name":"timeframe","in":"query"},{"schema":{"type":"string","enum":["true","false"],"default":"true","description":"Whether to adjust start/end dates to align with timeframe boundaries and use exclusive end. Defaults to true. When true, dates are aligned to the start of the timeframe period (e.g., start of day) and end is made exclusive (e.g., start of next day). When false, uses exact dates provided.","example":"true"},"required":false,"description":"Whether to adjust start/end dates to align with timeframe boundaries and use exclusive end. Defaults to true. When true, dates are aligned to the start of the timeframe period (e.g., start of day) and end is made exclusive (e.g., start of next day). When false, uses exact dates provided.","name":"bound_to_timeframe","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","example":["fal-ai/flux/dev"]},"required":false,"description":"Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2","name":"endpoint_id","style":"form","explode":true,"in":"query"},{"schema":{"type":"string","description":"Filter by a specific team username within the organization. If not provided, returns usage across all teams.","example":"acme-ml-team"},"required":false,"description":"Filter by a specific team username within the organization. If not provided, returns usage across all teams.","name":"team_username","in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Restrict results to one or more product lines. Accepts a comma-separated list or repeated parameter. Defaults to all three (model_apis, serverless, compute).","example":["model_apis","compute"]},"required":false,"description":"Restrict results to one or more product lines. Accepts a comma-separated list or repeated parameter. Defaults to all three (model_apis, serverless, compute).","name":"product","style":"form","explode":true,"in":"query"},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"default":["time_series"],"description":"Data to include in the response. Use 'time_series' for time-bucketed data, 'summary' for aggregate statistics, and 'auth_method' to include authentication method information. At least one of 'time_series' or 'summary' is required.","example":["time_series","auth_method"]},"required":false,"description":"Data to include in the response. Use 'time_series' for time-bucketed data, 'summary' for aggregate statistics, and 'auth_method' to include authentication method information. At least one of 'time_series' or 'summary' is required.","name":"expand","style":"form","explode":true,"in":"query"}],"responses":{"200":{"description":"Organization usage data retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results, null if no more pages"},"has_more":{"type":"boolean","description":"Boolean indicating if more results are available (convenience field derived from next_cursor)"},"time_series":{"type":"array","items":{"type":"object","properties":{"bucket":{"type":"string","description":"Time bucket timestamp in user's timezone with offset (ISO8601 datetime)","example":"2025-01-15T00:00:00-05:00"},"results":{"type":"array","items":{"type":"object","properties":{"username":{"type":"string","description":"Team username within the organization — identifies which team incurred this line item.","example":"acme-ml-team"},"product":{"type":"string","enum":["model_apis","serverless","compute"],"description":"Product line the usage belongs to: 'model_apis' (fal Model APIs — endpoint calls), 'serverless' (fal Serverless SDK billing), or 'compute' (fal Compute — raw instances).","example":"model_apis"},"endpoint_id":{"type":"string","description":"Identifier of the billed resource. For 'model_apis' this is the endpoint slug (e.g., 'fal-ai/flux/dev'); for 'serverless' it is the SDK billing line; for 'compute' it is the machine type line (e.g., 'type: gpu_1x_h100_sxm5 (my-app, prod)').","example":"fal-ai/flux/dev"},"unit":{"type":"string","description":"The billing unit (e.g., 'image', 'video', or a GPU/compute unit for some models)","example":"image"},"quantity":{"type":"number","minimum":0,"description":"Quantity of usage in the specified billing unit","example":4},"unit_price":{"type":"number","minimum":0,"description":"Unit price used to compute charges for this line item","example":0.1},"cost":{"type":"number","minimum":0,"description":"Computed cost (quantity × unit_price)","example":0.4},"currency":{"type":"string","minLength":3,"maxLength":3,"description":"Three-letter currency code (ISO 4217, e.g., 'USD')","example":"USD"},"auth_method":{"type":"string","description":"Authentication method label resolved across the organization (e.g., 'my-key (owner: alice)', 'alice ', or 'None'). Only populated when 'auth_method' is included in the expand parameter. Falls back to the raw upstream label if the decoration service cannot resolve a row.","example":"production-key (owner: acme-ml-team)"}},"required":["username","product","endpoint_id","unit","quantity","unit_price","cost","currency"],"description":"Organization usage line item with team attribution"},"description":"Usage records for this time bucket"}},"required":["bucket","results"],"description":"Time bucket with grouped usage records"},"description":"Time series usage data grouped by time bucket (when expand includes 'time_series'). Each bucket contains all usage records for that time period."},"summary":{"type":"array","items":{"type":"object","properties":{"username":{"type":"string","description":"Team username within the organization — identifies which team incurred this line item.","example":"acme-ml-team"},"product":{"type":"string","enum":["model_apis","serverless","compute"],"description":"Product line the usage belongs to: 'model_apis' (fal Model APIs — endpoint calls), 'serverless' (fal Serverless SDK billing), or 'compute' (fal Compute — raw instances).","example":"model_apis"},"endpoint_id":{"type":"string","description":"Identifier of the billed resource. For 'model_apis' this is the endpoint slug (e.g., 'fal-ai/flux/dev'); for 'serverless' it is the SDK billing line; for 'compute' it is the machine type line (e.g., 'type: gpu_1x_h100_sxm5 (my-app, prod)').","example":"fal-ai/flux/dev"},"unit":{"type":"string","description":"The billing unit (e.g., 'image', 'video', or a GPU/compute unit for some models)","example":"image"},"quantity":{"type":"number","minimum":0,"description":"Quantity of usage in the specified billing unit","example":4},"unit_price":{"type":"number","minimum":0,"description":"Unit price used to compute charges for this line item","example":0.1},"cost":{"type":"number","minimum":0,"description":"Computed cost (quantity × unit_price)","example":0.4},"currency":{"type":"string","minLength":3,"maxLength":3,"description":"Three-letter currency code (ISO 4217, e.g., 'USD')","example":"USD"},"auth_method":{"type":"string","description":"Authentication method label resolved across the organization (e.g., 'my-key (owner: alice)', 'alice ', or 'None'). Only populated when 'auth_method' is included in the expand parameter. Falls back to the raw upstream label if the decoration service cannot resolve a row.","example":"production-key (owner: acme-ml-team)"}},"required":["username","product","endpoint_id","unit","quantity","unit_price","cost","currency"],"description":"Aggregate organization usage statistics for the entire date range"},"description":"Aggregate statistics (when expand includes 'summary')"}},"required":["next_cursor","has_more"],"description":"Response containing organization usage data with pagination support"},"example":{"time_series":[{"bucket":"2025-01-15T00:00:00-05:00","results":[{"username":"acme-ml-team","product":"model_apis","endpoint_id":"fal-ai/flux/dev","unit":"image","quantity":4,"unit_price":0.1,"cost":0.4,"currency":"USD"},{"username":"acme-ml-team","product":"compute","endpoint_id":"type: gpu_1x_h100_sxm5 (my-app, production)","unit":"second","quantity":3600,"unit_price":0.001,"cost":3.6,"currency":"USD"}]}],"next_cursor":null,"has_more":false}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"validation_error","message":"Invalid request parameters"}}}}},"401":{"description":"Authentication required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Authentication required"}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"authorization_error","message":"Access denied"}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"not_found","message":"Resource not found"}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}},"/meta":{"get":{"operationId":"getMeta","summary":"Get platform metadata","x-mint":{"href":"/platform-apis/v1/meta","metadata":{"sidebarTitle":"Get Platform Metadata"}},"description":"\nReturns platform metadata including webhook IP ranges for allowlisting.\n\nIf your infrastructure requires allowlisting IP addresses for incoming webhook\nrequests, this endpoint provides the current list of IP ranges used by fal.ai\nwebhooks in CIDR notation.\n ","tags":["Meta"],"responses":{"200":{"description":"Platform metadata","content":{"application/json":{"schema":{"type":"object","properties":{"webhook_ip_ranges":{"type":"array","items":{"type":"string"},"description":"IP address ranges (CIDR notation) used by fal.ai webhooks"}},"required":["webhook_ip_ranges"],"description":"Platform metadata including webhook IP ranges for allowlisting","example":{"webhook_ip_ranges":["34.123.59.101/32","34.135.41.243/32","35.239.83.87/32","104.198.204.37/32","34.56.20.205/32","34.170.94.127/32","35.224.184.236/32","136.114.56.197/32","34.29.37.237/32","35.225.160.28/32","34.56.205.145/32","34.59.170.72/32","34.10.147.45/32","104.198.64.245/32","34.9.1.255/32"]}},"example":{"webhook_ip_ranges":["34.123.59.101/32","34.135.41.243/32","35.239.83.87/32","104.198.204.37/32","34.56.20.205/32","34.170.94.127/32","35.224.184.236/32","136.114.56.197/32","34.29.37.237/32","35.225.160.28/32","34.56.205.145/32","34.59.170.72/32","34.10.147.45/32","104.198.64.245/32","34.9.1.255/32"]}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"rate_limited","message":"Rate limit exceeded"}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["authorization_error","validation_error","not_found","rate_limited","server_error","not_implemented"],"description":"The category of error that occurred"},"message":{"type":"string","description":"Human-readable error message"},"docs_url":{"type":"string","format":"uri","description":"Link to relevant documentation"},"request_id":{"type":"string","description":"Unique request identifier for debugging"}},"required":["type","message"],"description":"Error details"}},"required":["error"],"description":"Standard error response format"},"example":{"error":{"type":"server_error","message":"An unexpected error occurred"}}}}}}}}},"webhooks":{}}