diff --git a/src/libs/AI21/Generated/AI21.Ai21Api.ClarotyProductLookupSolutionsClarotyProductLookupPost.g.cs b/src/libs/AI21/Generated/AI21.Ai21Api.ClarotyProductLookupSolutionsClarotyProductLookupPost.g.cs
new file mode 100644
index 0000000..2a1ad04
--- /dev/null
+++ b/src/libs/AI21/Generated/AI21.Ai21Api.ClarotyProductLookupSolutionsClarotyProductLookupPost.g.cs
@@ -0,0 +1,150 @@
+
+#nullable enable
+
+namespace AI21
+{
+ public partial class Ai21Api
+ {
+ partial void PrepareClarotyProductLookupSolutionsClarotyProductLookupPostArguments(
+ global::System.Net.Http.HttpClient httpClient);
+ partial void PrepareClarotyProductLookupSolutionsClarotyProductLookupPostRequest(
+ global::System.Net.Http.HttpClient httpClient,
+ global::System.Net.Http.HttpRequestMessage httpRequestMessage);
+ partial void ProcessClarotyProductLookupSolutionsClarotyProductLookupPostResponse(
+ global::System.Net.Http.HttpClient httpClient,
+ global::System.Net.Http.HttpResponseMessage httpResponseMessage);
+
+ partial void ProcessClarotyProductLookupSolutionsClarotyProductLookupPostResponseContent(
+ global::System.Net.Http.HttpClient httpClient,
+ global::System.Net.Http.HttpResponseMessage httpResponseMessage,
+ ref string content);
+
+ ///
+ /// Claroty Product Lookup
+ ///
+ /// The token to cancel the operation with
+ ///
+ public async global::System.Threading.Tasks.Task ClarotyProductLookupSolutionsClarotyProductLookupPostAsync(
+ global::System.Threading.CancellationToken cancellationToken = default)
+ {
+ PrepareArguments(
+ client: HttpClient);
+ PrepareClarotyProductLookupSolutionsClarotyProductLookupPostArguments(
+ httpClient: HttpClient);
+
+ var __pathBuilder = new global::AI21.PathBuilder(
+ path: "/solutions/claroty/product-lookup",
+ baseUri: HttpClient.BaseAddress);
+ var __path = __pathBuilder.ToString();
+ using 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")
+ {
+ __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);
+ }
+ }
+
+ PrepareRequest(
+ client: HttpClient,
+ request: __httpRequest);
+ PrepareClarotyProductLookupSolutionsClarotyProductLookupPostRequest(
+ httpClient: HttpClient,
+ httpRequestMessage: __httpRequest);
+
+ using var __response = await HttpClient.SendAsync(
+ request: __httpRequest,
+ completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead,
+ cancellationToken: cancellationToken).ConfigureAwait(false);
+
+ ProcessResponse(
+ client: HttpClient,
+ response: __response);
+ ProcessClarotyProductLookupSolutionsClarotyProductLookupPostResponse(
+ httpClient: HttpClient,
+ httpResponseMessage: __response);
+
+ if (ReadResponseAsString)
+ {
+ var __content = await __response.Content.ReadAsStringAsync(
+#if NET5_0_OR_GREATER
+ cancellationToken
+#endif
+ ).ConfigureAwait(false);
+
+ ProcessResponseContent(
+ client: HttpClient,
+ response: __response,
+ content: ref __content);
+ ProcessClarotyProductLookupSolutionsClarotyProductLookupPostResponseContent(
+ httpClient: HttpClient,
+ httpResponseMessage: __response,
+ content: ref __content);
+
+ try
+ {
+ __response.EnsureSuccessStatusCode();
+
+ return __content;
+ }
+ catch (global::System.Exception __ex)
+ {
+ throw new global::AI21.ApiException(
+ message: __content ?? __response.ReasonPhrase ?? string.Empty,
+ innerException: __ex,
+ statusCode: __response.StatusCode)
+ {
+ ResponseBody = __content,
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+ }
+ else
+ {
+ try
+ {
+ __response.EnsureSuccessStatusCode();
+
+ var __content = await __response.Content.ReadAsStringAsync(
+#if NET5_0_OR_GREATER
+ cancellationToken
+#endif
+ ).ConfigureAwait(false);
+
+ return __content;
+ }
+ catch (global::System.Exception __ex)
+ {
+ throw new global::AI21.ApiException(
+ message: __response.ReasonPhrase ?? string.Empty,
+ innerException: __ex,
+ statusCode: __response.StatusCode)
+ {
+ ResponseHeaders = global::System.Linq.Enumerable.ToDictionary(
+ __response.Headers,
+ h => h.Key,
+ h => h.Value),
+ };
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/libs/AI21/Generated/AI21.IAi21Api.ClarotyProductLookupSolutionsClarotyProductLookupPost.g.cs b/src/libs/AI21/Generated/AI21.IAi21Api.ClarotyProductLookupSolutionsClarotyProductLookupPost.g.cs
new file mode 100644
index 0000000..04f54de
--- /dev/null
+++ b/src/libs/AI21/Generated/AI21.IAi21Api.ClarotyProductLookupSolutionsClarotyProductLookupPost.g.cs
@@ -0,0 +1,15 @@
+#nullable enable
+
+namespace AI21
+{
+ public partial interface IAi21Api
+ {
+ ///
+ /// Claroty Product Lookup
+ ///
+ /// The token to cancel the operation with
+ ///
+ global::System.Threading.Tasks.Task ClarotyProductLookupSolutionsClarotyProductLookupPostAsync(
+ global::System.Threading.CancellationToken cancellationToken = default);
+ }
+}
\ No newline at end of file
diff --git a/src/libs/AI21/Generated/AI21.Models.ClarotyProductLookupSolutionsClarotyProductLookupPostResponse.Json.g.cs b/src/libs/AI21/Generated/AI21.Models.ClarotyProductLookupSolutionsClarotyProductLookupPostResponse.Json.g.cs
new file mode 100644
index 0000000..6feb73d
--- /dev/null
+++ b/src/libs/AI21/Generated/AI21.Models.ClarotyProductLookupSolutionsClarotyProductLookupPostResponse.Json.g.cs
@@ -0,0 +1,92 @@
+#nullable enable
+
+namespace AI21
+{
+ public sealed partial class ClarotyProductLookupSolutionsClarotyProductLookupPostResponse
+ {
+ ///
+ /// 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::AI21.ClarotyProductLookupSolutionsClarotyProductLookupPostResponse? FromJson(
+ string json,
+ global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext)
+ {
+ return global::System.Text.Json.JsonSerializer.Deserialize(
+ json,
+ typeof(global::AI21.ClarotyProductLookupSolutionsClarotyProductLookupPostResponse),
+ jsonSerializerContext) as global::AI21.ClarotyProductLookupSolutionsClarotyProductLookupPostResponse;
+ }
+
+ ///
+ /// 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::AI21.ClarotyProductLookupSolutionsClarotyProductLookupPostResponse? 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::AI21.ClarotyProductLookupSolutionsClarotyProductLookupPostResponse),
+ jsonSerializerContext).ConfigureAwait(false)) as global::AI21.ClarotyProductLookupSolutionsClarotyProductLookupPostResponse;
+ }
+
+ ///
+ /// 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/AI21/Generated/AI21.Models.ClarotyProductLookupSolutionsClarotyProductLookupPostResponse.g.cs b/src/libs/AI21/Generated/AI21.Models.ClarotyProductLookupSolutionsClarotyProductLookupPostResponse.g.cs
new file mode 100644
index 0000000..214d2ea
--- /dev/null
+++ b/src/libs/AI21/Generated/AI21.Models.ClarotyProductLookupSolutionsClarotyProductLookupPostResponse.g.cs
@@ -0,0 +1,18 @@
+
+#nullable enable
+
+namespace AI21
+{
+ ///
+ ///
+ ///
+ public sealed partial class ClarotyProductLookupSolutionsClarotyProductLookupPostResponse
+ {
+
+ ///
+ /// 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();
+ }
+}
\ No newline at end of file
diff --git a/src/libs/AI21/openapi.yaml b/src/libs/AI21/openapi.yaml
index 4815a82..c81290c 100644
--- a/src/libs/AI21/openapi.yaml
+++ b/src/libs/AI21/openapi.yaml
@@ -2997,6 +2997,16 @@ paths:
content:
application/json:
schema: { }
+ /solutions/claroty/product-lookup:
+ post:
+ summary: Claroty Product Lookup
+ operationId: claroty_product_lookup_solutions_claroty_product_lookup_post
+ responses:
+ '200':
+ description: Successful Response
+ content:
+ application/json:
+ schema: { }
components:
schemas:
Assistant: