diff --git a/modules/ai-security-for-apps/pom.xml b/modules/ai-security-for-apps/pom.xml
new file mode 100644
index 000000000..6c079b5a0
--- /dev/null
+++ b/modules/ai-security-for-apps/pom.xml
@@ -0,0 +1,63 @@
+
+ 4.0.0
+
+
+ networking
+ com.ibm.cloud
+ 99-SNAPSHOT
+ ../..
+
+
+ ai-security-for-apps
+
+ Cloud Internet Services AI Security for Apps
+ jar
+
+
+
+ com.ibm.cloud
+ sdk-core
+
+
+ networking-common
+ ${project.groupId}
+
+
+ networking-common
+ ${project.groupId}
+ test-jar
+ tests
+ test
+
+
+ org.testng
+ testng
+ test
+
+
+ com.squareup.okhttp3
+ mockwebserver
+ test
+
+
+ org.powermock
+ powermock-api-mockito2
+ test
+
+
+ org.powermock
+ powermock-module-testng
+ test
+
+
+
+
+
+ IBM Cloud DevX SDK Development
+ devxsdk@us.ibm.com
+ https://www.ibm.com/
+
+
+
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/AiSecurityForApps.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/AiSecurityForApps.java
new file mode 100644
index 000000000..e92c9ba2a
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/AiSecurityForApps.java
@@ -0,0 +1,902 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+/*
+ * IBM OpenAPI SDK Code Generator Version: 3.117.0-7f07c563-20260915-094553
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1;
+
+import com.google.gson.JsonObject;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.AiSecuritySettingsResp;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.ApiGatewayDiscoveryResp;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.ApiGatewayNullResultResp;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.ApiGatewayOperationItemResp;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.ApiGatewayOperationLabelResp;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.ApiGatewayOperationsLabelsResp;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.ApiGatewayOperationsListResp;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.ApiGatewayOperationsResp;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.ApiGatewaySchemasResp;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.CreateApiGatewayOperationItemOptions;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.CreateApiGatewayOperationLabelsOptions;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.CreateZoneApiGatewayOperationOptions;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.DeleteZoneApiGatewayOperationLabelsOptions;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.DeleteZoneApiGatewayOperationOptions;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.DeleteZoneApiGatewayOperationsOptions;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.DiscoveryOperationsListResp;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.DiscoveryOperationsPatchResp;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.GetAiSecuritySettingsOptions;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.GetApiGatewayDiscoveryOptions;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.GetApiGatewaySchemasOptions;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.GetZoneApiGatewayOperationOptions;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.ListApiGatewayDiscoveryOperationsOptions;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.ListZoneApiGatewayOperationsOptions;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.ReplaceZoneAiSecuritySettingsOptions;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.ReplaceZoneApiGatewayOperationLabelsOptions;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.SetZoneApiGatewayOperationLabelsOptions;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.UnsetZoneApiGatewayOperationLabelsOptions;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.UpdateApiGatewayOperationLabelsOptions;
+import com.ibm.cloud.networking.ai_security_for_apps.v1.model.UpdateZoneApiGatewayDiscoveryOperationOptions;
+import com.ibm.cloud.networking.common.SdkCommon;
+import com.ibm.cloud.sdk.core.http.RequestBuilder;
+import com.ibm.cloud.sdk.core.http.ResponseConverter;
+import com.ibm.cloud.sdk.core.http.ServiceCall;
+import com.ibm.cloud.sdk.core.security.Authenticator;
+import com.ibm.cloud.sdk.core.security.ConfigBasedAuthenticatorFactory;
+import com.ibm.cloud.sdk.core.service.BaseService;
+import com.ibm.cloud.sdk.core.util.RequestUtils;
+import com.ibm.cloud.sdk.core.util.ResponseConverterUtils;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Map.Entry;
+
+/**
+ * AI Security for Apps.
+ *
+ * API Version: 1.0.0
+ */
+public class AiSecurityForApps extends BaseService {
+
+ /**
+ * Default service name used when configuring the `AiSecurityForApps` client.
+ */
+ public static final String DEFAULT_SERVICE_NAME = "ai_security_for_apps";
+
+ /**
+ * Default service endpoint URL.
+ */
+ public static final String DEFAULT_SERVICE_URL = "https://api.cis.cloud.ibm.com";
+
+ private String crn;
+
+ private String zoneIdentifier;
+
+ /**
+ * Class method which constructs an instance of the `AiSecurityForApps` client.
+ * The default service name is used to configure the client instance.
+ *
+ * @param crn Full url-encoded CRN of the service instance.
+ * @param zoneIdentifier Zone identifier to identify the zone.
+ * @return an instance of the `AiSecurityForApps` client using external configuration
+ */
+ public static AiSecurityForApps newInstance(String crn, String zoneIdentifier) {
+ return newInstance(crn, zoneIdentifier, DEFAULT_SERVICE_NAME);
+ }
+
+ /**
+ * Class method which constructs an instance of the `AiSecurityForApps` client.
+ * The specified service name is used to configure the client instance.
+ *
+ * @param crn Full url-encoded CRN of the service instance.
+ * @param zoneIdentifier Zone identifier to identify the zone.
+ * @param serviceName the service name to be used when configuring the client instance
+ * @return an instance of the `AiSecurityForApps` client using external configuration
+ */
+ public static AiSecurityForApps newInstance(String crn, String zoneIdentifier, String serviceName) {
+ Authenticator authenticator = ConfigBasedAuthenticatorFactory.getAuthenticator(serviceName);
+ AiSecurityForApps service = new AiSecurityForApps(crn, zoneIdentifier, serviceName, authenticator);
+ service.configureService(serviceName);
+ return service;
+ }
+
+ /**
+ * Constructs an instance of the `AiSecurityForApps` client.
+ * The specified service name and authenticator are used to configure the client instance.
+ *
+ * @param crn Full url-encoded CRN of the service instance.
+ * @param zoneIdentifier Zone identifier to identify the zone.
+ * @param serviceName the service name to be used when configuring the client instance
+ * @param authenticator the {@link Authenticator} instance to be configured for this client
+ */
+ public AiSecurityForApps(String crn, String zoneIdentifier, String serviceName, Authenticator authenticator) {
+ super(serviceName, authenticator);
+ setServiceUrl(DEFAULT_SERVICE_URL);
+ setCrn(crn);
+ setZoneIdentifier(zoneIdentifier);
+ }
+
+ /**
+ * Gets the crn.
+ *
+ * Full url-encoded CRN of the service instance.
+ *
+ * @return the crn
+ */
+ public String getCrn() {
+ return this.crn;
+ }
+
+ /**
+ * Sets the crn.
+ *
+ * @param crn the new crn
+ */
+ public void setCrn(final String crn) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(crn, "crn cannot be empty.");
+ this.crn = crn;
+ }
+
+ /**
+ * Gets the zoneIdentifier.
+ *
+ * Zone identifier to identify the zone.
+ *
+ * @return the zoneIdentifier
+ */
+ public String getZoneIdentifier() {
+ return this.zoneIdentifier;
+ }
+
+ /**
+ * Sets the zoneIdentifier.
+ *
+ * @param zoneIdentifier the new zoneIdentifier
+ */
+ public void setZoneIdentifier(final String zoneIdentifier) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(zoneIdentifier, "zoneIdentifier cannot be empty.");
+ this.zoneIdentifier = zoneIdentifier;
+ }
+
+ /**
+ * Get AI Security for Apps settings.
+ *
+ * Get AI Security for Apps enabled/disabled setting for a given zone.
+ *
+ * @param getAiSecuritySettingsOptions the {@link GetAiSecuritySettingsOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link AiSecuritySettingsResp}
+ */
+ public ServiceCall getAiSecuritySettings(GetAiSecuritySettingsOptions getAiSecuritySettingsOptions) {
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/ai_security/settings", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("ai_security_for_apps", "v1", "getAiSecuritySettings");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Get AI Security for Apps settings.
+ *
+ * Get AI Security for Apps enabled/disabled setting for a given zone.
+ *
+ * @return a {@link ServiceCall} with a result of type {@link AiSecuritySettingsResp}
+ */
+ public ServiceCall getAiSecuritySettings() {
+ return getAiSecuritySettings(null);
+ }
+
+ /**
+ * Update AI Security for Apps settings.
+ *
+ * Enable or disable AI Security for Apps for a given zone.
+ *
+ * @param replaceZoneAiSecuritySettingsOptions the {@link ReplaceZoneAiSecuritySettingsOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link AiSecuritySettingsResp}
+ */
+ public ServiceCall replaceZoneAiSecuritySettings(ReplaceZoneAiSecuritySettingsOptions replaceZoneAiSecuritySettingsOptions) {
+ boolean skipBody = false;
+ if (replaceZoneAiSecuritySettingsOptions == null) {
+ replaceZoneAiSecuritySettingsOptions = new ReplaceZoneAiSecuritySettingsOptions.Builder().build();
+ skipBody = true;
+ }
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ RequestBuilder builder = RequestBuilder.put(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/ai_security/settings", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("ai_security_for_apps", "v1", "replaceZoneAiSecuritySettings");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ if (!skipBody) {
+ final JsonObject contentJson = new JsonObject();
+ if (replaceZoneAiSecuritySettingsOptions.enabled() != null) {
+ contentJson.addProperty("enabled", replaceZoneAiSecuritySettingsOptions.enabled());
+ }
+ builder.bodyJson(contentJson);
+ }
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Update AI Security for Apps settings.
+ *
+ * Enable or disable AI Security for Apps for a given zone.
+ *
+ * @return a {@link ServiceCall} with a result of type {@link AiSecuritySettingsResp}
+ */
+ public ServiceCall replaceZoneAiSecuritySettings() {
+ return replaceZoneAiSecuritySettings(null);
+ }
+
+ /**
+ * Get API Gateway discovery.
+ *
+ * Retrieve discovered operations for a zone rendered as OpenAPI schemas. Use this to identify AI-powered endpoints,
+ * save them to Endpoint Management, and label them to enable AI Security for Apps scanning.
+ *
+ * @param getApiGatewayDiscoveryOptions the {@link GetApiGatewayDiscoveryOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link ApiGatewayDiscoveryResp}
+ */
+ public ServiceCall getApiGatewayDiscovery(GetApiGatewayDiscoveryOptions getApiGatewayDiscoveryOptions) {
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/api_gateway/discovery", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("ai_security_for_apps", "v1", "getApiGatewayDiscovery");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Get API Gateway discovery.
+ *
+ * Retrieve discovered operations for a zone rendered as OpenAPI schemas. Use this to identify AI-powered endpoints,
+ * save them to Endpoint Management, and label them to enable AI Security for Apps scanning.
+ *
+ * @return a {@link ServiceCall} with a result of type {@link ApiGatewayDiscoveryResp}
+ */
+ public ServiceCall getApiGatewayDiscovery() {
+ return getApiGatewayDiscovery(null);
+ }
+
+ /**
+ * List API Gateway discovery operations.
+ *
+ * Retrieve the most up-to-date list of discovered operations for a zone.
+ *
+ * @param listApiGatewayDiscoveryOperationsOptions the {@link ListApiGatewayDiscoveryOperationsOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link DiscoveryOperationsListResp}
+ */
+ public ServiceCall listApiGatewayDiscoveryOperations(ListApiGatewayDiscoveryOperationsOptions listApiGatewayDiscoveryOperationsOptions) {
+ if (listApiGatewayDiscoveryOperationsOptions == null) {
+ listApiGatewayDiscoveryOperationsOptions = new ListApiGatewayDiscoveryOperationsOptions.Builder().build();
+ }
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/api_gateway/discovery/operations", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("ai_security_for_apps", "v1", "listApiGatewayDiscoveryOperations");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ if (listApiGatewayDiscoveryOperationsOptions.diff() != null) {
+ builder.query("diff", String.valueOf(listApiGatewayDiscoveryOperationsOptions.diff()));
+ }
+ if (listApiGatewayDiscoveryOperationsOptions.direction() != null) {
+ builder.query("direction", String.valueOf(listApiGatewayDiscoveryOperationsOptions.direction()));
+ }
+ if (listApiGatewayDiscoveryOperationsOptions.endpoint() != null) {
+ builder.query("endpoint", String.valueOf(listApiGatewayDiscoveryOperationsOptions.endpoint()));
+ }
+ if (listApiGatewayDiscoveryOperationsOptions.host() != null) {
+ builder.query("host", RequestUtils.join(listApiGatewayDiscoveryOperationsOptions.host(), ","));
+ }
+ if (listApiGatewayDiscoveryOperationsOptions.method() != null) {
+ builder.query("method", RequestUtils.join(listApiGatewayDiscoveryOperationsOptions.method(), ","));
+ }
+ if (listApiGatewayDiscoveryOperationsOptions.order() != null) {
+ builder.query("order", String.valueOf(listApiGatewayDiscoveryOperationsOptions.order()));
+ }
+ if (listApiGatewayDiscoveryOperationsOptions.origin() != null) {
+ builder.query("origin", String.valueOf(listApiGatewayDiscoveryOperationsOptions.origin()));
+ }
+ if (listApiGatewayDiscoveryOperationsOptions.state() != null) {
+ builder.query("state", String.valueOf(listApiGatewayDiscoveryOperationsOptions.state()));
+ }
+ if (listApiGatewayDiscoveryOperationsOptions.page() != null) {
+ builder.query("page", String.valueOf(listApiGatewayDiscoveryOperationsOptions.page()));
+ }
+ if (listApiGatewayDiscoveryOperationsOptions.perPage() != null) {
+ builder.query("per_page", String.valueOf(listApiGatewayDiscoveryOperationsOptions.perPage()));
+ }
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * List API Gateway discovery operations.
+ *
+ * Retrieve the most up-to-date list of discovered operations for a zone.
+ *
+ * @return a {@link ServiceCall} with a result of type {@link DiscoveryOperationsListResp}
+ */
+ public ServiceCall listApiGatewayDiscoveryOperations() {
+ return listApiGatewayDiscoveryOperations(null);
+ }
+
+ /**
+ * Bulk update discovered operation states.
+ *
+ * Bulk update the state of one or more discovered operations. Use to mark operations as saved (promoting to Endpoint
+ * Management) or ignored.
+ *
+ * @param updateZoneApiGatewayDiscoveryOperationOptions the {@link UpdateZoneApiGatewayDiscoveryOperationOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link DiscoveryOperationsPatchResp}
+ */
+ public ServiceCall updateZoneApiGatewayDiscoveryOperation(UpdateZoneApiGatewayDiscoveryOperationOptions updateZoneApiGatewayDiscoveryOperationOptions) {
+ if (updateZoneApiGatewayDiscoveryOperationOptions == null) {
+ updateZoneApiGatewayDiscoveryOperationOptions = new UpdateZoneApiGatewayDiscoveryOperationOptions.Builder().build();
+ }
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ RequestBuilder builder = RequestBuilder.patch(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/api_gateway/discovery/operations", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("ai_security_for_apps", "v1", "updateZoneApiGatewayDiscoveryOperation");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ if (updateZoneApiGatewayDiscoveryOperationOptions.requestBody() != null) {
+ builder.bodyContent(com.ibm.cloud.sdk.core.util.GsonSingleton.getGsonWithoutPrettyPrinting().toJson(updateZoneApiGatewayDiscoveryOperationOptions.requestBody()), "application/json");
+ }
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Bulk update discovered operation states.
+ *
+ * Bulk update the state of one or more discovered operations. Use to mark operations as saved (promoting to Endpoint
+ * Management) or ignored.
+ *
+ * @return a {@link ServiceCall} with a result of type {@link DiscoveryOperationsPatchResp}
+ */
+ public ServiceCall updateZoneApiGatewayDiscoveryOperation() {
+ return updateZoneApiGatewayDiscoveryOperation(null);
+ }
+
+ /**
+ * Bulk-delete all API Gateway operations for a zone.
+ *
+ * Bulk-delete all API Gateway operations saved to Endpoint Management for a zone.
+ *
+ * @param deleteZoneApiGatewayOperationsOptions the {@link DeleteZoneApiGatewayOperationsOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link ApiGatewayNullResultResp}
+ */
+ public ServiceCall deleteZoneApiGatewayOperations(DeleteZoneApiGatewayOperationsOptions deleteZoneApiGatewayOperationsOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(deleteZoneApiGatewayOperationsOptions,
+ "deleteZoneApiGatewayOperationsOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ RequestBuilder builder = RequestBuilder.delete(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/api_gateway/operations", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("ai_security_for_apps", "v1", "deleteZoneApiGatewayOperations");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ builder.bodyContent(com.ibm.cloud.sdk.core.util.GsonSingleton.getGsonWithoutPrettyPrinting().toJson(deleteZoneApiGatewayOperationsOptions.apiGatewayOperationsDeleteInputItem()), "application/json");
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * List API Gateway operations.
+ *
+ * List all API Gateway operations saved to Endpoint Management for a zone.
+ *
+ * @param listZoneApiGatewayOperationsOptions the {@link ListZoneApiGatewayOperationsOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link ApiGatewayOperationsListResp}
+ */
+ public ServiceCall listZoneApiGatewayOperations(ListZoneApiGatewayOperationsOptions listZoneApiGatewayOperationsOptions) {
+ if (listZoneApiGatewayOperationsOptions == null) {
+ listZoneApiGatewayOperationsOptions = new ListZoneApiGatewayOperationsOptions.Builder().build();
+ }
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/api_gateway/operations", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("ai_security_for_apps", "v1", "listZoneApiGatewayOperations");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ if (listZoneApiGatewayOperationsOptions.host() != null) {
+ builder.query("host", RequestUtils.join(listZoneApiGatewayOperationsOptions.host(), ","));
+ }
+ if (listZoneApiGatewayOperationsOptions.method() != null) {
+ builder.query("method", RequestUtils.join(listZoneApiGatewayOperationsOptions.method(), ","));
+ }
+ if (listZoneApiGatewayOperationsOptions.endpoint() != null) {
+ builder.query("endpoint", String.valueOf(listZoneApiGatewayOperationsOptions.endpoint()));
+ }
+ if (listZoneApiGatewayOperationsOptions.labels() != null) {
+ builder.query("labels", RequestUtils.join(listZoneApiGatewayOperationsOptions.labels(), ","));
+ }
+ if (listZoneApiGatewayOperationsOptions.direction() != null) {
+ builder.query("direction", String.valueOf(listZoneApiGatewayOperationsOptions.direction()));
+ }
+ if (listZoneApiGatewayOperationsOptions.order() != null) {
+ builder.query("order", String.valueOf(listZoneApiGatewayOperationsOptions.order()));
+ }
+ if (listZoneApiGatewayOperationsOptions.page() != null) {
+ builder.query("page", String.valueOf(listZoneApiGatewayOperationsOptions.page()));
+ }
+ if (listZoneApiGatewayOperationsOptions.perPage() != null) {
+ builder.query("per_page", String.valueOf(listZoneApiGatewayOperationsOptions.perPage()));
+ }
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * List API Gateway operations.
+ *
+ * List all API Gateway operations saved to Endpoint Management for a zone.
+ *
+ * @return a {@link ServiceCall} with a result of type {@link ApiGatewayOperationsListResp}
+ */
+ public ServiceCall listZoneApiGatewayOperations() {
+ return listZoneApiGatewayOperations(null);
+ }
+
+ /**
+ * Create API Gateway operations in bulk.
+ *
+ * Create API Gateway operations in bulk for a zone, saving them to Endpoint Management.
+ *
+ * @param createZoneApiGatewayOperationOptions the {@link CreateZoneApiGatewayOperationOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link ApiGatewayOperationsResp}
+ */
+ public ServiceCall createZoneApiGatewayOperation(CreateZoneApiGatewayOperationOptions createZoneApiGatewayOperationOptions) {
+ if (createZoneApiGatewayOperationOptions == null) {
+ createZoneApiGatewayOperationOptions = new CreateZoneApiGatewayOperationOptions.Builder().build();
+ }
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ RequestBuilder builder = RequestBuilder.post(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/api_gateway/operations", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("ai_security_for_apps", "v1", "createZoneApiGatewayOperation");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ if (createZoneApiGatewayOperationOptions.apiGatewayOperation() != null) {
+ builder.bodyContent(com.ibm.cloud.sdk.core.util.GsonSingleton.getGsonWithoutPrettyPrinting().toJson(createZoneApiGatewayOperationOptions.apiGatewayOperation()), "application/json");
+ }
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Create API Gateway operations in bulk.
+ *
+ * Create API Gateway operations in bulk for a zone, saving them to Endpoint Management.
+ *
+ * @return a {@link ServiceCall} with a result of type {@link ApiGatewayOperationsResp}
+ */
+ public ServiceCall createZoneApiGatewayOperation() {
+ return createZoneApiGatewayOperation(null);
+ }
+
+ /**
+ * Create a single API Gateway operation.
+ *
+ * Create a single API Gateway operation for a zone, saving it to Endpoint Management.
+ *
+ * @param createApiGatewayOperationItemOptions the {@link CreateApiGatewayOperationItemOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link ApiGatewayOperationItemResp}
+ */
+ public ServiceCall createApiGatewayOperationItem(CreateApiGatewayOperationItemOptions createApiGatewayOperationItemOptions) {
+ boolean skipBody = false;
+ if (createApiGatewayOperationItemOptions == null) {
+ createApiGatewayOperationItemOptions = new CreateApiGatewayOperationItemOptions.Builder().build();
+ skipBody = true;
+ }
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ RequestBuilder builder = RequestBuilder.post(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/api_gateway/operations/item", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("ai_security_for_apps", "v1", "createApiGatewayOperationItem");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ if (!skipBody) {
+ final JsonObject contentJson = new JsonObject();
+ if (createApiGatewayOperationItemOptions.method() != null) {
+ contentJson.addProperty("method", createApiGatewayOperationItemOptions.method());
+ }
+ if (createApiGatewayOperationItemOptions.host() != null) {
+ contentJson.addProperty("host", createApiGatewayOperationItemOptions.host());
+ }
+ if (createApiGatewayOperationItemOptions.endpoint() != null) {
+ contentJson.addProperty("endpoint", createApiGatewayOperationItemOptions.endpoint());
+ }
+ builder.bodyJson(contentJson);
+ }
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Create a single API Gateway operation.
+ *
+ * Create a single API Gateway operation for a zone, saving it to Endpoint Management.
+ *
+ * @return a {@link ServiceCall} with a result of type {@link ApiGatewayOperationItemResp}
+ */
+ public ServiceCall createApiGatewayOperationItem() {
+ return createApiGatewayOperationItem(null);
+ }
+
+ /**
+ * Replace labels on API Gateway operations in bulk.
+ *
+ * Replace labels on a set of API Gateway operations in bulk.
+ *
+ * @param replaceZoneApiGatewayOperationLabelsOptions the {@link ReplaceZoneApiGatewayOperationLabelsOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link ApiGatewayOperationsLabelsResp}
+ */
+ public ServiceCall replaceZoneApiGatewayOperationLabels(ReplaceZoneApiGatewayOperationLabelsOptions replaceZoneApiGatewayOperationLabelsOptions) {
+ boolean skipBody = false;
+ if (replaceZoneApiGatewayOperationLabelsOptions == null) {
+ replaceZoneApiGatewayOperationLabelsOptions = new ReplaceZoneApiGatewayOperationLabelsOptions.Builder().build();
+ skipBody = true;
+ }
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ RequestBuilder builder = RequestBuilder.put(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/api_gateway/operations/labels", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("ai_security_for_apps", "v1", "replaceZoneApiGatewayOperationLabels");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ if (!skipBody) {
+ final JsonObject contentJson = new JsonObject();
+ if (replaceZoneApiGatewayOperationLabelsOptions.selector() != null) {
+ contentJson.add("selector", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(replaceZoneApiGatewayOperationLabelsOptions.selector()));
+ }
+ if (replaceZoneApiGatewayOperationLabelsOptions.user() != null) {
+ contentJson.add("user", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(replaceZoneApiGatewayOperationLabelsOptions.user()));
+ }
+ if (replaceZoneApiGatewayOperationLabelsOptions.managed() != null) {
+ contentJson.add("managed", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(replaceZoneApiGatewayOperationLabelsOptions.managed()));
+ }
+ builder.bodyJson(contentJson);
+ }
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Replace labels on API Gateway operations in bulk.
+ *
+ * Replace labels on a set of API Gateway operations in bulk.
+ *
+ * @return a {@link ServiceCall} with a result of type {@link ApiGatewayOperationsLabelsResp}
+ */
+ public ServiceCall replaceZoneApiGatewayOperationLabels() {
+ return replaceZoneApiGatewayOperationLabels(null);
+ }
+
+ /**
+ * Remove labels from API Gateway operations in bulk.
+ *
+ * Remove labels from a set of API Gateway operations in bulk.
+ *
+ * @param deleteZoneApiGatewayOperationLabelsOptions the {@link DeleteZoneApiGatewayOperationLabelsOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link ApiGatewayNullResultResp}
+ */
+ public ServiceCall deleteZoneApiGatewayOperationLabels(DeleteZoneApiGatewayOperationLabelsOptions deleteZoneApiGatewayOperationLabelsOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(deleteZoneApiGatewayOperationLabelsOptions,
+ "deleteZoneApiGatewayOperationLabelsOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ RequestBuilder builder = RequestBuilder.delete(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/api_gateway/operations/labels", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("ai_security_for_apps", "v1", "deleteZoneApiGatewayOperationLabels");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ final JsonObject contentJson = new JsonObject();
+ contentJson.add("selector", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(deleteZoneApiGatewayOperationLabelsOptions.selector()));
+ if (deleteZoneApiGatewayOperationLabelsOptions.user() != null) {
+ contentJson.add("user", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(deleteZoneApiGatewayOperationLabelsOptions.user()));
+ }
+ if (deleteZoneApiGatewayOperationLabelsOptions.managed() != null) {
+ contentJson.add("managed", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(deleteZoneApiGatewayOperationLabelsOptions.managed()));
+ }
+ builder.bodyJson(contentJson);
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Add or remove labels from API Gateway operations.
+ *
+ * Add or remove labels from one or more API Gateway operations. Apply the built-in LLM label to endpoints that
+ * receive LLM traffic to enable IBM AI Security for Apps to scan those endpoints for prompt injection, PII, and
+ * unsafe topics.
+ *
+ * @param updateApiGatewayOperationLabelsOptions the {@link UpdateApiGatewayOperationLabelsOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link ApiGatewayOperationsLabelsResp}
+ */
+ public ServiceCall updateApiGatewayOperationLabels(UpdateApiGatewayOperationLabelsOptions updateApiGatewayOperationLabelsOptions) {
+ boolean skipBody = false;
+ if (updateApiGatewayOperationLabelsOptions == null) {
+ updateApiGatewayOperationLabelsOptions = new UpdateApiGatewayOperationLabelsOptions.Builder().build();
+ skipBody = true;
+ }
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ RequestBuilder builder = RequestBuilder.post(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/api_gateway/operations/labels", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("ai_security_for_apps", "v1", "updateApiGatewayOperationLabels");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ if (!skipBody) {
+ final JsonObject contentJson = new JsonObject();
+ if (updateApiGatewayOperationLabelsOptions.selector() != null) {
+ contentJson.add("selector", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(updateApiGatewayOperationLabelsOptions.selector()));
+ }
+ if (updateApiGatewayOperationLabelsOptions.user() != null) {
+ contentJson.add("user", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(updateApiGatewayOperationLabelsOptions.user()));
+ }
+ if (updateApiGatewayOperationLabelsOptions.managed() != null) {
+ contentJson.add("managed", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(updateApiGatewayOperationLabelsOptions.managed()));
+ }
+ builder.bodyJson(contentJson);
+ }
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Add or remove labels from API Gateway operations.
+ *
+ * Add or remove labels from one or more API Gateway operations. Apply the built-in LLM label to endpoints that
+ * receive LLM traffic to enable IBM AI Security for Apps to scan those endpoints for prompt injection, PII, and
+ * unsafe topics.
+ *
+ * @return a {@link ServiceCall} with a result of type {@link ApiGatewayOperationsLabelsResp}
+ */
+ public ServiceCall updateApiGatewayOperationLabels() {
+ return updateApiGatewayOperationLabels(null);
+ }
+
+ /**
+ * Attach labels to a single operation.
+ *
+ * Attach labels to a single API Gateway operation.
+ *
+ * @param createApiGatewayOperationLabelsOptions the {@link CreateApiGatewayOperationLabelsOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link ApiGatewayOperationLabelResp}
+ */
+ public ServiceCall createApiGatewayOperationLabels(CreateApiGatewayOperationLabelsOptions createApiGatewayOperationLabelsOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(createApiGatewayOperationLabelsOptions,
+ "createApiGatewayOperationLabelsOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ pathParamsMap.put("operation_id", createApiGatewayOperationLabelsOptions.operationId());
+ RequestBuilder builder = RequestBuilder.post(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/api_gateway/operations/{operation_id}/labels", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("ai_security_for_apps", "v1", "createApiGatewayOperationLabels");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ final JsonObject contentJson = new JsonObject();
+ if (createApiGatewayOperationLabelsOptions.user() != null) {
+ contentJson.add("user", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(createApiGatewayOperationLabelsOptions.user()));
+ }
+ if (createApiGatewayOperationLabelsOptions.managed() != null) {
+ contentJson.add("managed", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(createApiGatewayOperationLabelsOptions.managed()));
+ }
+ builder.bodyJson(contentJson);
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Replace labels on a single operation.
+ *
+ * Replace labels on a single API Gateway operation.
+ *
+ * @param setZoneApiGatewayOperationLabelsOptions the {@link SetZoneApiGatewayOperationLabelsOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link ApiGatewayOperationLabelResp}
+ */
+ public ServiceCall setZoneApiGatewayOperationLabels(SetZoneApiGatewayOperationLabelsOptions setZoneApiGatewayOperationLabelsOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(setZoneApiGatewayOperationLabelsOptions,
+ "setZoneApiGatewayOperationLabelsOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ pathParamsMap.put("operation_id", setZoneApiGatewayOperationLabelsOptions.operationId());
+ RequestBuilder builder = RequestBuilder.put(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/api_gateway/operations/{operation_id}/labels", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("ai_security_for_apps", "v1", "setZoneApiGatewayOperationLabels");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ final JsonObject contentJson = new JsonObject();
+ if (setZoneApiGatewayOperationLabelsOptions.user() != null) {
+ contentJson.add("user", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(setZoneApiGatewayOperationLabelsOptions.user()));
+ }
+ if (setZoneApiGatewayOperationLabelsOptions.managed() != null) {
+ contentJson.add("managed", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(setZoneApiGatewayOperationLabelsOptions.managed()));
+ }
+ builder.bodyJson(contentJson);
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Remove labels from a single operation.
+ *
+ * Remove labels from a single API Gateway operation.
+ *
+ * @param unsetZoneApiGatewayOperationLabelsOptions the {@link UnsetZoneApiGatewayOperationLabelsOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link ApiGatewayNullResultResp}
+ */
+ public ServiceCall unsetZoneApiGatewayOperationLabels(UnsetZoneApiGatewayOperationLabelsOptions unsetZoneApiGatewayOperationLabelsOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(unsetZoneApiGatewayOperationLabelsOptions,
+ "unsetZoneApiGatewayOperationLabelsOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ pathParamsMap.put("operation_id", unsetZoneApiGatewayOperationLabelsOptions.operationId());
+ RequestBuilder builder = RequestBuilder.delete(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/api_gateway/operations/{operation_id}/labels", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("ai_security_for_apps", "v1", "unsetZoneApiGatewayOperationLabels");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ final JsonObject contentJson = new JsonObject();
+ if (unsetZoneApiGatewayOperationLabelsOptions.user() != null) {
+ contentJson.add("user", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(unsetZoneApiGatewayOperationLabelsOptions.user()));
+ }
+ if (unsetZoneApiGatewayOperationLabelsOptions.managed() != null) {
+ contentJson.add("managed", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(unsetZoneApiGatewayOperationLabelsOptions.managed()));
+ }
+ builder.bodyJson(contentJson);
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Retrieve information about an operation.
+ *
+ * Retrieve information about a specific operation on a zone.
+ *
+ * @param getZoneApiGatewayOperationOptions the {@link GetZoneApiGatewayOperationOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link ApiGatewayOperationItemResp}
+ */
+ public ServiceCall getZoneApiGatewayOperation(GetZoneApiGatewayOperationOptions getZoneApiGatewayOperationOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(getZoneApiGatewayOperationOptions,
+ "getZoneApiGatewayOperationOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ pathParamsMap.put("operation_id", getZoneApiGatewayOperationOptions.operationId());
+ RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/api_gateway/operations/{operation_id}", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("ai_security_for_apps", "v1", "getZoneApiGatewayOperation");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Delete an operation.
+ *
+ * Delete an operation from a zone.
+ *
+ * @param deleteZoneApiGatewayOperationOptions the {@link DeleteZoneApiGatewayOperationOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a void result
+ */
+ public ServiceCall deleteZoneApiGatewayOperation(DeleteZoneApiGatewayOperationOptions deleteZoneApiGatewayOperationOptions) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(deleteZoneApiGatewayOperationOptions,
+ "deleteZoneApiGatewayOperationOptions cannot be null");
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ pathParamsMap.put("operation_id", deleteZoneApiGatewayOperationOptions.operationId());
+ RequestBuilder builder = RequestBuilder.delete(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/api_gateway/operations/{operation_id}", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("ai_security_for_apps", "v1", "deleteZoneApiGatewayOperation");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ ResponseConverter responseConverter = ResponseConverterUtils.getVoid();
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Get API Gateway schemas.
+ *
+ * Retrieve API Gateway schemas for a specified zone rendered as OpenAPI schemas.
+ *
+ * @param getApiGatewaySchemasOptions the {@link GetApiGatewaySchemasOptions} containing the options for the call
+ * @return a {@link ServiceCall} with a result of type {@link ApiGatewaySchemasResp}
+ */
+ public ServiceCall getApiGatewaySchemas(GetApiGatewaySchemasOptions getApiGatewaySchemasOptions) {
+ Map pathParamsMap = new HashMap();
+ pathParamsMap.put("crn", this.crn);
+ pathParamsMap.put("zone_identifier", this.zoneIdentifier);
+ RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/{crn}/zones/{zone_identifier}/api_gateway/schemas", pathParamsMap));
+ Map sdkHeaders = SdkCommon.getSdkHeaders("ai_security_for_apps", "v1", "getApiGatewaySchemas");
+ for (Entry header : sdkHeaders.entrySet()) {
+ builder.header(header.getKey(), header.getValue());
+ }
+ builder.header("Accept", "application/json");
+ ResponseConverter responseConverter =
+ ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken() { }.getType());
+ return createServiceCall(builder.build(), responseConverter);
+ }
+
+ /**
+ * Get API Gateway schemas.
+ *
+ * Retrieve API Gateway schemas for a specified zone rendered as OpenAPI schemas.
+ *
+ * @return a {@link ServiceCall} with a result of type {@link ApiGatewaySchemasResp}
+ */
+ public ServiceCall getApiGatewaySchemas() {
+ return getApiGatewaySchemas(null);
+ }
+
+}
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/AiSecuritySettingsResp.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/AiSecuritySettingsResp.java
new file mode 100644
index 000000000..31c9eb86f
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/AiSecuritySettingsResp.java
@@ -0,0 +1,76 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import java.util.List;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * AI Security for Apps settings response.
+ */
+public class AiSecuritySettingsResp extends GenericModel {
+
+ protected Boolean success;
+ protected List> errors;
+ protected List> messages;
+ protected AiSecuritySettingsRespResult result;
+
+ protected AiSecuritySettingsResp() { }
+
+ /**
+ * Gets the success.
+ *
+ * Was operation successful.
+ *
+ * @return the success
+ */
+ public Boolean isSuccess() {
+ return success;
+ }
+
+ /**
+ * Gets the errors.
+ *
+ * Array of errors encountered.
+ *
+ * @return the errors
+ */
+ public List> getErrors() {
+ return errors;
+ }
+
+ /**
+ * Gets the messages.
+ *
+ * Array of messages returned.
+ *
+ * @return the messages
+ */
+ public List> getMessages() {
+ return messages;
+ }
+
+ /**
+ * Gets the result.
+ *
+ * Container for response information.
+ *
+ * @return the result
+ */
+ public AiSecuritySettingsRespResult getResult() {
+ return result;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/AiSecuritySettingsRespResult.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/AiSecuritySettingsRespResult.java
new file mode 100644
index 000000000..6d49ac52b
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/AiSecuritySettingsRespResult.java
@@ -0,0 +1,38 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * Container for response information.
+ */
+public class AiSecuritySettingsRespResult extends GenericModel {
+
+ protected Boolean enabled;
+
+ protected AiSecuritySettingsRespResult() { }
+
+ /**
+ * Gets the enabled.
+ *
+ * Whether AI Security for Apps is enabled on the zone.
+ *
+ * @return the enabled
+ */
+ public Boolean isEnabled() {
+ return enabled;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayDiscoveryResp.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayDiscoveryResp.java
new file mode 100644
index 000000000..f759c2848
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayDiscoveryResp.java
@@ -0,0 +1,77 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import java.util.List;
+import java.util.Map;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * API Gateway discovery response (OpenAPI schema format).
+ */
+public class ApiGatewayDiscoveryResp extends GenericModel {
+
+ protected Boolean success;
+ protected List> errors;
+ protected List> messages;
+ protected Map result;
+
+ protected ApiGatewayDiscoveryResp() { }
+
+ /**
+ * Gets the success.
+ *
+ * Was operation successful.
+ *
+ * @return the success
+ */
+ public Boolean isSuccess() {
+ return success;
+ }
+
+ /**
+ * Gets the errors.
+ *
+ * Array of errors encountered.
+ *
+ * @return the errors
+ */
+ public List> getErrors() {
+ return errors;
+ }
+
+ /**
+ * Gets the messages.
+ *
+ * Array of messages returned.
+ *
+ * @return the messages
+ */
+ public List> getMessages() {
+ return messages;
+ }
+
+ /**
+ * Gets the result.
+ *
+ * Discovered operations rendered as an OpenAPI schema document.
+ *
+ * @return the result
+ */
+ public Map getResult() {
+ return result;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayNullResultResp.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayNullResultResp.java
new file mode 100644
index 000000000..2f46c3e5c
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayNullResultResp.java
@@ -0,0 +1,77 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import java.util.List;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * API Gateway response with null result on success.
+ */
+public class ApiGatewayNullResultResp extends GenericModel {
+
+ protected Boolean success;
+ protected List> errors;
+ protected List> messages;
+ protected Object result;
+
+ protected ApiGatewayNullResultResp() { }
+
+ /**
+ * Gets the success.
+ *
+ * Was operation successful.
+ *
+ * @return the success
+ */
+ public Boolean isSuccess() {
+ return success;
+ }
+
+ /**
+ * Gets the errors.
+ *
+ * Array of errors encountered.
+ *
+ * @return the errors
+ */
+ public List> getErrors() {
+ return errors;
+ }
+
+ /**
+ * Gets the messages.
+ *
+ * Array of messages returned.
+ *
+ * @return the messages
+ */
+ public List> getMessages() {
+ return messages;
+ }
+
+ /**
+ * Gets the result.
+ *
+ * Result on success. May be an empty object ({}) or an empty array ([]) depending on the operation. No type
+ * constraint is applied so that SDK generators produce an interface{} / any field that can hold either.
+ *
+ * @return the result
+ */
+ public Object getResult() {
+ return result;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperation.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperation.java
new file mode 100644
index 000000000..72d31f7ce
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperation.java
@@ -0,0 +1,184 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * An API Gateway operation definition.
+ */
+public class ApiGatewayOperation extends GenericModel {
+
+ /**
+ * The HTTP method for the operation.
+ */
+ public interface Method {
+ /** GET. */
+ String GET = "GET";
+ /** POST. */
+ String POST = "POST";
+ /** PUT. */
+ String PUT = "PUT";
+ /** PATCH. */
+ String PATCH = "PATCH";
+ /** DELETE. */
+ String DELETE = "DELETE";
+ /** HEAD. */
+ String HEAD = "HEAD";
+ /** OPTIONS. */
+ String OPTIONS = "OPTIONS";
+ }
+
+ protected String method;
+ protected String host;
+ protected String endpoint;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String method;
+ private String host;
+ private String endpoint;
+
+ /**
+ * Instantiates a new Builder from an existing ApiGatewayOperation instance.
+ *
+ * @param apiGatewayOperation the instance to initialize the Builder with
+ */
+ private Builder(ApiGatewayOperation apiGatewayOperation) {
+ this.method = apiGatewayOperation.method;
+ this.host = apiGatewayOperation.host;
+ this.endpoint = apiGatewayOperation.endpoint;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param method the method
+ * @param host the host
+ * @param endpoint the endpoint
+ */
+ public Builder(String method, String host, String endpoint) {
+ this.method = method;
+ this.host = host;
+ this.endpoint = endpoint;
+ }
+
+ /**
+ * Builds a ApiGatewayOperation.
+ *
+ * @return the new ApiGatewayOperation instance
+ */
+ public ApiGatewayOperation build() {
+ return new ApiGatewayOperation(this);
+ }
+
+ /**
+ * Set the method.
+ *
+ * @param method the method
+ * @return the ApiGatewayOperation builder
+ */
+ public Builder method(String method) {
+ this.method = method;
+ return this;
+ }
+
+ /**
+ * Set the host.
+ *
+ * @param host the host
+ * @return the ApiGatewayOperation builder
+ */
+ public Builder host(String host) {
+ this.host = host;
+ return this;
+ }
+
+ /**
+ * Set the endpoint.
+ *
+ * @param endpoint the endpoint
+ * @return the ApiGatewayOperation builder
+ */
+ public Builder endpoint(String endpoint) {
+ this.endpoint = endpoint;
+ return this;
+ }
+ }
+
+ protected ApiGatewayOperation() { }
+
+ protected ApiGatewayOperation(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(builder.method,
+ "method cannot be null");
+ com.ibm.cloud.sdk.core.util.Validator.notNull(builder.host,
+ "host cannot be null");
+ com.ibm.cloud.sdk.core.util.Validator.notNull(builder.endpoint,
+ "endpoint cannot be null");
+ method = builder.method;
+ host = builder.host;
+ endpoint = builder.endpoint;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a ApiGatewayOperation builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the method.
+ *
+ * The HTTP method for the operation.
+ *
+ * @return the method
+ */
+ public String method() {
+ return method;
+ }
+
+ /**
+ * Gets the host.
+ *
+ * RFC3986-compliant host.
+ *
+ * @return the host
+ */
+ public String host() {
+ return host;
+ }
+
+ /**
+ * Gets the endpoint.
+ *
+ * The endpoint path. Must start with /.
+ *
+ * @return the endpoint
+ */
+ public String endpoint() {
+ return endpoint;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationItemResp.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationItemResp.java
new file mode 100644
index 000000000..685daa9ed
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationItemResp.java
@@ -0,0 +1,74 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import java.util.List;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * Single API Gateway operation create response.
+ */
+public class ApiGatewayOperationItemResp extends GenericModel {
+
+ protected Boolean success;
+ protected List> errors;
+ protected List> messages;
+ protected ApiGatewayOperationItemRespResult result;
+
+ protected ApiGatewayOperationItemResp() { }
+
+ /**
+ * Gets the success.
+ *
+ * Was operation successful.
+ *
+ * @return the success
+ */
+ public Boolean isSuccess() {
+ return success;
+ }
+
+ /**
+ * Gets the errors.
+ *
+ * Array of errors encountered.
+ *
+ * @return the errors
+ */
+ public List> getErrors() {
+ return errors;
+ }
+
+ /**
+ * Gets the messages.
+ *
+ * Array of messages returned.
+ *
+ * @return the messages
+ */
+ public List> getMessages() {
+ return messages;
+ }
+
+ /**
+ * Gets the result.
+ *
+ * @return the result
+ */
+ public ApiGatewayOperationItemRespResult getResult() {
+ return result;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationItemRespResult.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationItemRespResult.java
new file mode 100644
index 000000000..c587cd0c3
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationItemRespResult.java
@@ -0,0 +1,70 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import com.google.gson.annotations.SerializedName;
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * ApiGatewayOperationItemRespResult.
+ */
+public class ApiGatewayOperationItemRespResult extends GenericModel {
+
+ @SerializedName("operation_id")
+ protected String operationId;
+ protected String method;
+ protected String host;
+ protected String endpoint;
+
+ protected ApiGatewayOperationItemRespResult() { }
+
+ /**
+ * Gets the operationId.
+ *
+ * UUID of the created operation.
+ *
+ * @return the operationId
+ */
+ public String getOperationId() {
+ return operationId;
+ }
+
+ /**
+ * Gets the method.
+ *
+ * @return the method
+ */
+ public String getMethod() {
+ return method;
+ }
+
+ /**
+ * Gets the host.
+ *
+ * @return the host
+ */
+ public String getHost() {
+ return host;
+ }
+
+ /**
+ * Gets the endpoint.
+ *
+ * @return the endpoint
+ */
+ public String getEndpoint() {
+ return endpoint;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationLabelResp.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationLabelResp.java
new file mode 100644
index 000000000..21d673cbe
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationLabelResp.java
@@ -0,0 +1,76 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import java.util.List;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * API Gateway single operation label response.
+ */
+public class ApiGatewayOperationLabelResp extends GenericModel {
+
+ protected Boolean success;
+ protected List> errors;
+ protected List> messages;
+ protected ApiGatewayOperationLabelRespResult result;
+
+ protected ApiGatewayOperationLabelResp() { }
+
+ /**
+ * Gets the success.
+ *
+ * Was operation successful.
+ *
+ * @return the success
+ */
+ public Boolean isSuccess() {
+ return success;
+ }
+
+ /**
+ * Gets the errors.
+ *
+ * Array of errors encountered.
+ *
+ * @return the errors
+ */
+ public List> getErrors() {
+ return errors;
+ }
+
+ /**
+ * Gets the messages.
+ *
+ * Array of messages returned.
+ *
+ * @return the messages
+ */
+ public List> getMessages() {
+ return messages;
+ }
+
+ /**
+ * Gets the result.
+ *
+ * The updated operation with its label set.
+ *
+ * @return the result
+ */
+ public ApiGatewayOperationLabelRespResult getResult() {
+ return result;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationLabelRespResult.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationLabelRespResult.java
new file mode 100644
index 000000000..6790a4e52
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationLabelRespResult.java
@@ -0,0 +1,54 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import java.util.List;
+
+import com.google.gson.annotations.SerializedName;
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The updated operation with its label set.
+ */
+public class ApiGatewayOperationLabelRespResult extends GenericModel {
+
+ @SerializedName("operation_id")
+ protected String operationId;
+ protected List labels;
+
+ protected ApiGatewayOperationLabelRespResult() { }
+
+ /**
+ * Gets the operationId.
+ *
+ * UUID of the operation.
+ *
+ * @return the operationId
+ */
+ public String getOperationId() {
+ return operationId;
+ }
+
+ /**
+ * Gets the labels.
+ *
+ * Labels applied to the operation.
+ *
+ * @return the labels
+ */
+ public List getLabels() {
+ return labels;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationLabelRespResultLabelsItem.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationLabelRespResultLabelsItem.java
new file mode 100644
index 000000000..04f705e15
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationLabelRespResultLabelsItem.java
@@ -0,0 +1,50 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * ApiGatewayOperationLabelRespResultLabelsItem.
+ */
+public class ApiGatewayOperationLabelRespResultLabelsItem extends GenericModel {
+
+ protected String name;
+ protected String source;
+
+ protected ApiGatewayOperationLabelRespResultLabelsItem() { }
+
+ /**
+ * Gets the name.
+ *
+ * Label name.
+ *
+ * @return the name
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Gets the source.
+ *
+ * Label source (e.g. managed or user).
+ *
+ * @return the source
+ */
+ public String getSource() {
+ return source;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsDeleteInputItem.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsDeleteInputItem.java
new file mode 100644
index 000000000..c9917f719
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsDeleteInputItem.java
@@ -0,0 +1,106 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import com.google.gson.annotations.SerializedName;
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * ApiGatewayOperationsDeleteInputItem.
+ */
+public class ApiGatewayOperationsDeleteInputItem extends GenericModel {
+
+ @SerializedName("operation_id")
+ protected String operationId;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String operationId;
+
+ /**
+ * Instantiates a new Builder from an existing ApiGatewayOperationsDeleteInputItem instance.
+ *
+ * @param apiGatewayOperationsDeleteInputItem the instance to initialize the Builder with
+ */
+ private Builder(ApiGatewayOperationsDeleteInputItem apiGatewayOperationsDeleteInputItem) {
+ this.operationId = apiGatewayOperationsDeleteInputItem.operationId;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param operationId the operationId
+ */
+ public Builder(String operationId) {
+ this.operationId = operationId;
+ }
+
+ /**
+ * Builds a ApiGatewayOperationsDeleteInputItem.
+ *
+ * @return the new ApiGatewayOperationsDeleteInputItem instance
+ */
+ public ApiGatewayOperationsDeleteInputItem build() {
+ return new ApiGatewayOperationsDeleteInputItem(this);
+ }
+
+ /**
+ * Set the operationId.
+ *
+ * @param operationId the operationId
+ * @return the ApiGatewayOperationsDeleteInputItem builder
+ */
+ public Builder operationId(String operationId) {
+ this.operationId = operationId;
+ return this;
+ }
+ }
+
+ protected ApiGatewayOperationsDeleteInputItem() { }
+
+ protected ApiGatewayOperationsDeleteInputItem(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(builder.operationId,
+ "operationId cannot be null");
+ operationId = builder.operationId;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a ApiGatewayOperationsDeleteInputItem builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the operationId.
+ *
+ * UUID of the operation to delete.
+ *
+ * @return the operationId
+ */
+ public String operationId() {
+ return operationId;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsBulkDeleteInputManaged.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsBulkDeleteInputManaged.java
new file mode 100644
index 000000000..42510f0f9
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsBulkDeleteInputManaged.java
@@ -0,0 +1,113 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * Managed labels to remove.
+ */
+public class ApiGatewayOperationsLabelsBulkDeleteInputManaged extends GenericModel {
+
+ protected List labels;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private List labels;
+
+ /**
+ * Instantiates a new Builder from an existing ApiGatewayOperationsLabelsBulkDeleteInputManaged instance.
+ *
+ * @param apiGatewayOperationsLabelsBulkDeleteInputManaged the instance to initialize the Builder with
+ */
+ private Builder(ApiGatewayOperationsLabelsBulkDeleteInputManaged apiGatewayOperationsLabelsBulkDeleteInputManaged) {
+ this.labels = apiGatewayOperationsLabelsBulkDeleteInputManaged.labels;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Builds a ApiGatewayOperationsLabelsBulkDeleteInputManaged.
+ *
+ * @return the new ApiGatewayOperationsLabelsBulkDeleteInputManaged instance
+ */
+ public ApiGatewayOperationsLabelsBulkDeleteInputManaged build() {
+ return new ApiGatewayOperationsLabelsBulkDeleteInputManaged(this);
+ }
+
+ /**
+ * Adds a new element to labels.
+ *
+ * @param labels the new element to be added
+ * @return the ApiGatewayOperationsLabelsBulkDeleteInputManaged builder
+ */
+ public Builder addLabels(String labels) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(labels,
+ "labels cannot be null");
+ if (this.labels == null) {
+ this.labels = new ArrayList();
+ }
+ this.labels.add(labels);
+ return this;
+ }
+
+ /**
+ * Set the labels.
+ * Existing labels will be replaced.
+ *
+ * @param labels the labels
+ * @return the ApiGatewayOperationsLabelsBulkDeleteInputManaged builder
+ */
+ public Builder labels(List labels) {
+ this.labels = labels;
+ return this;
+ }
+ }
+
+ protected ApiGatewayOperationsLabelsBulkDeleteInputManaged() { }
+
+ protected ApiGatewayOperationsLabelsBulkDeleteInputManaged(Builder builder) {
+ labels = builder.labels;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a ApiGatewayOperationsLabelsBulkDeleteInputManaged builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the labels.
+ *
+ * List of managed label names to remove.
+ *
+ * @return the labels
+ */
+ public List labels() {
+ return labels;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsBulkDeleteInputSelector.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsBulkDeleteInputSelector.java
new file mode 100644
index 000000000..ada72ab19
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsBulkDeleteInputSelector.java
@@ -0,0 +1,104 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * Selector specifying which operations to affect.
+ */
+public class ApiGatewayOperationsLabelsBulkDeleteInputSelector extends GenericModel {
+
+ protected ApiGatewayOperationsLabelsBulkDeleteInputSelectorInclude include;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private ApiGatewayOperationsLabelsBulkDeleteInputSelectorInclude include;
+
+ /**
+ * Instantiates a new Builder from an existing ApiGatewayOperationsLabelsBulkDeleteInputSelector instance.
+ *
+ * @param apiGatewayOperationsLabelsBulkDeleteInputSelector the instance to initialize the Builder with
+ */
+ private Builder(ApiGatewayOperationsLabelsBulkDeleteInputSelector apiGatewayOperationsLabelsBulkDeleteInputSelector) {
+ this.include = apiGatewayOperationsLabelsBulkDeleteInputSelector.include;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param include the include
+ */
+ public Builder(ApiGatewayOperationsLabelsBulkDeleteInputSelectorInclude include) {
+ this.include = include;
+ }
+
+ /**
+ * Builds a ApiGatewayOperationsLabelsBulkDeleteInputSelector.
+ *
+ * @return the new ApiGatewayOperationsLabelsBulkDeleteInputSelector instance
+ */
+ public ApiGatewayOperationsLabelsBulkDeleteInputSelector build() {
+ return new ApiGatewayOperationsLabelsBulkDeleteInputSelector(this);
+ }
+
+ /**
+ * Set the include.
+ *
+ * @param include the include
+ * @return the ApiGatewayOperationsLabelsBulkDeleteInputSelector builder
+ */
+ public Builder include(ApiGatewayOperationsLabelsBulkDeleteInputSelectorInclude include) {
+ this.include = include;
+ return this;
+ }
+ }
+
+ protected ApiGatewayOperationsLabelsBulkDeleteInputSelector() { }
+
+ protected ApiGatewayOperationsLabelsBulkDeleteInputSelector(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(builder.include,
+ "include cannot be null");
+ include = builder.include;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a ApiGatewayOperationsLabelsBulkDeleteInputSelector builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the include.
+ *
+ * Operations to include.
+ *
+ * @return the include
+ */
+ public ApiGatewayOperationsLabelsBulkDeleteInputSelectorInclude include() {
+ return include;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsBulkDeleteInputSelectorInclude.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsBulkDeleteInputSelectorInclude.java
new file mode 100644
index 000000000..d034454eb
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsBulkDeleteInputSelectorInclude.java
@@ -0,0 +1,115 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.google.gson.annotations.SerializedName;
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * Operations to include.
+ */
+public class ApiGatewayOperationsLabelsBulkDeleteInputSelectorInclude extends GenericModel {
+
+ @SerializedName("operation_ids")
+ protected List operationIds;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private List operationIds;
+
+ /**
+ * Instantiates a new Builder from an existing ApiGatewayOperationsLabelsBulkDeleteInputSelectorInclude instance.
+ *
+ * @param apiGatewayOperationsLabelsBulkDeleteInputSelectorInclude the instance to initialize the Builder with
+ */
+ private Builder(ApiGatewayOperationsLabelsBulkDeleteInputSelectorInclude apiGatewayOperationsLabelsBulkDeleteInputSelectorInclude) {
+ this.operationIds = apiGatewayOperationsLabelsBulkDeleteInputSelectorInclude.operationIds;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Builds a ApiGatewayOperationsLabelsBulkDeleteInputSelectorInclude.
+ *
+ * @return the new ApiGatewayOperationsLabelsBulkDeleteInputSelectorInclude instance
+ */
+ public ApiGatewayOperationsLabelsBulkDeleteInputSelectorInclude build() {
+ return new ApiGatewayOperationsLabelsBulkDeleteInputSelectorInclude(this);
+ }
+
+ /**
+ * Adds a new element to operationIds.
+ *
+ * @param operationIds the new element to be added
+ * @return the ApiGatewayOperationsLabelsBulkDeleteInputSelectorInclude builder
+ */
+ public Builder addOperationIds(String operationIds) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(operationIds,
+ "operationIds cannot be null");
+ if (this.operationIds == null) {
+ this.operationIds = new ArrayList();
+ }
+ this.operationIds.add(operationIds);
+ return this;
+ }
+
+ /**
+ * Set the operationIds.
+ * Existing operationIds will be replaced.
+ *
+ * @param operationIds the operationIds
+ * @return the ApiGatewayOperationsLabelsBulkDeleteInputSelectorInclude builder
+ */
+ public Builder operationIds(List operationIds) {
+ this.operationIds = operationIds;
+ return this;
+ }
+ }
+
+ protected ApiGatewayOperationsLabelsBulkDeleteInputSelectorInclude() { }
+
+ protected ApiGatewayOperationsLabelsBulkDeleteInputSelectorInclude(Builder builder) {
+ operationIds = builder.operationIds;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a ApiGatewayOperationsLabelsBulkDeleteInputSelectorInclude builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the operationIds.
+ *
+ * Array of operation UUIDs to remove labels from.
+ *
+ * @return the operationIds
+ */
+ public List operationIds() {
+ return operationIds;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsBulkDeleteInputUser.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsBulkDeleteInputUser.java
new file mode 100644
index 000000000..98c0a3b66
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsBulkDeleteInputUser.java
@@ -0,0 +1,113 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * User-defined labels to remove.
+ */
+public class ApiGatewayOperationsLabelsBulkDeleteInputUser extends GenericModel {
+
+ protected List labels;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private List labels;
+
+ /**
+ * Instantiates a new Builder from an existing ApiGatewayOperationsLabelsBulkDeleteInputUser instance.
+ *
+ * @param apiGatewayOperationsLabelsBulkDeleteInputUser the instance to initialize the Builder with
+ */
+ private Builder(ApiGatewayOperationsLabelsBulkDeleteInputUser apiGatewayOperationsLabelsBulkDeleteInputUser) {
+ this.labels = apiGatewayOperationsLabelsBulkDeleteInputUser.labels;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Builds a ApiGatewayOperationsLabelsBulkDeleteInputUser.
+ *
+ * @return the new ApiGatewayOperationsLabelsBulkDeleteInputUser instance
+ */
+ public ApiGatewayOperationsLabelsBulkDeleteInputUser build() {
+ return new ApiGatewayOperationsLabelsBulkDeleteInputUser(this);
+ }
+
+ /**
+ * Adds a new element to labels.
+ *
+ * @param labels the new element to be added
+ * @return the ApiGatewayOperationsLabelsBulkDeleteInputUser builder
+ */
+ public Builder addLabels(String labels) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(labels,
+ "labels cannot be null");
+ if (this.labels == null) {
+ this.labels = new ArrayList();
+ }
+ this.labels.add(labels);
+ return this;
+ }
+
+ /**
+ * Set the labels.
+ * Existing labels will be replaced.
+ *
+ * @param labels the labels
+ * @return the ApiGatewayOperationsLabelsBulkDeleteInputUser builder
+ */
+ public Builder labels(List labels) {
+ this.labels = labels;
+ return this;
+ }
+ }
+
+ protected ApiGatewayOperationsLabelsBulkDeleteInputUser() { }
+
+ protected ApiGatewayOperationsLabelsBulkDeleteInputUser(Builder builder) {
+ labels = builder.labels;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a ApiGatewayOperationsLabelsBulkDeleteInputUser builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the labels.
+ *
+ * List of user-defined label names to remove.
+ *
+ * @return the labels
+ */
+ public List labels() {
+ return labels;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsBulkInputManaged.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsBulkInputManaged.java
new file mode 100644
index 000000000..cd2fd30f2
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsBulkInputManaged.java
@@ -0,0 +1,124 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * Managed labels to apply (e.g. cf-llm).
+ */
+public class ApiGatewayOperationsLabelsBulkInputManaged extends GenericModel {
+
+ protected List labels;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private List labels;
+
+ /**
+ * Instantiates a new Builder from an existing ApiGatewayOperationsLabelsBulkInputManaged instance.
+ *
+ * @param apiGatewayOperationsLabelsBulkInputManaged the instance to initialize the Builder with
+ */
+ private Builder(ApiGatewayOperationsLabelsBulkInputManaged apiGatewayOperationsLabelsBulkInputManaged) {
+ this.labels = apiGatewayOperationsLabelsBulkInputManaged.labels;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param labels the labels
+ */
+ public Builder(List labels) {
+ this.labels = labels;
+ }
+
+ /**
+ * Builds a ApiGatewayOperationsLabelsBulkInputManaged.
+ *
+ * @return the new ApiGatewayOperationsLabelsBulkInputManaged instance
+ */
+ public ApiGatewayOperationsLabelsBulkInputManaged build() {
+ return new ApiGatewayOperationsLabelsBulkInputManaged(this);
+ }
+
+ /**
+ * Adds a new element to labels.
+ *
+ * @param labels the new element to be added
+ * @return the ApiGatewayOperationsLabelsBulkInputManaged builder
+ */
+ public Builder addLabels(String labels) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(labels,
+ "labels cannot be null");
+ if (this.labels == null) {
+ this.labels = new ArrayList();
+ }
+ this.labels.add(labels);
+ return this;
+ }
+
+ /**
+ * Set the labels.
+ * Existing labels will be replaced.
+ *
+ * @param labels the labels
+ * @return the ApiGatewayOperationsLabelsBulkInputManaged builder
+ */
+ public Builder labels(List labels) {
+ this.labels = labels;
+ return this;
+ }
+ }
+
+ protected ApiGatewayOperationsLabelsBulkInputManaged() { }
+
+ protected ApiGatewayOperationsLabelsBulkInputManaged(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(builder.labels,
+ "labels cannot be null");
+ labels = builder.labels;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a ApiGatewayOperationsLabelsBulkInputManaged builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the labels.
+ *
+ * List of managed label names to apply.
+ *
+ * @return the labels
+ */
+ public List labels() {
+ return labels;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsBulkInputSelector.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsBulkInputSelector.java
new file mode 100644
index 000000000..3f88b8294
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsBulkInputSelector.java
@@ -0,0 +1,104 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * Selector specifying which operations to label.
+ */
+public class ApiGatewayOperationsLabelsBulkInputSelector extends GenericModel {
+
+ protected ApiGatewayOperationsLabelsBulkInputSelectorInclude include;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private ApiGatewayOperationsLabelsBulkInputSelectorInclude include;
+
+ /**
+ * Instantiates a new Builder from an existing ApiGatewayOperationsLabelsBulkInputSelector instance.
+ *
+ * @param apiGatewayOperationsLabelsBulkInputSelector the instance to initialize the Builder with
+ */
+ private Builder(ApiGatewayOperationsLabelsBulkInputSelector apiGatewayOperationsLabelsBulkInputSelector) {
+ this.include = apiGatewayOperationsLabelsBulkInputSelector.include;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param include the include
+ */
+ public Builder(ApiGatewayOperationsLabelsBulkInputSelectorInclude include) {
+ this.include = include;
+ }
+
+ /**
+ * Builds a ApiGatewayOperationsLabelsBulkInputSelector.
+ *
+ * @return the new ApiGatewayOperationsLabelsBulkInputSelector instance
+ */
+ public ApiGatewayOperationsLabelsBulkInputSelector build() {
+ return new ApiGatewayOperationsLabelsBulkInputSelector(this);
+ }
+
+ /**
+ * Set the include.
+ *
+ * @param include the include
+ * @return the ApiGatewayOperationsLabelsBulkInputSelector builder
+ */
+ public Builder include(ApiGatewayOperationsLabelsBulkInputSelectorInclude include) {
+ this.include = include;
+ return this;
+ }
+ }
+
+ protected ApiGatewayOperationsLabelsBulkInputSelector() { }
+
+ protected ApiGatewayOperationsLabelsBulkInputSelector(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(builder.include,
+ "include cannot be null");
+ include = builder.include;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a ApiGatewayOperationsLabelsBulkInputSelector builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the include.
+ *
+ * Operations to include in the label operation.
+ *
+ * @return the include
+ */
+ public ApiGatewayOperationsLabelsBulkInputSelectorInclude include() {
+ return include;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsBulkInputSelectorInclude.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsBulkInputSelectorInclude.java
new file mode 100644
index 000000000..9d2b85792
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsBulkInputSelectorInclude.java
@@ -0,0 +1,115 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.google.gson.annotations.SerializedName;
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * Operations to include in the label operation.
+ */
+public class ApiGatewayOperationsLabelsBulkInputSelectorInclude extends GenericModel {
+
+ @SerializedName("operation_ids")
+ protected List operationIds;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private List operationIds;
+
+ /**
+ * Instantiates a new Builder from an existing ApiGatewayOperationsLabelsBulkInputSelectorInclude instance.
+ *
+ * @param apiGatewayOperationsLabelsBulkInputSelectorInclude the instance to initialize the Builder with
+ */
+ private Builder(ApiGatewayOperationsLabelsBulkInputSelectorInclude apiGatewayOperationsLabelsBulkInputSelectorInclude) {
+ this.operationIds = apiGatewayOperationsLabelsBulkInputSelectorInclude.operationIds;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Builds a ApiGatewayOperationsLabelsBulkInputSelectorInclude.
+ *
+ * @return the new ApiGatewayOperationsLabelsBulkInputSelectorInclude instance
+ */
+ public ApiGatewayOperationsLabelsBulkInputSelectorInclude build() {
+ return new ApiGatewayOperationsLabelsBulkInputSelectorInclude(this);
+ }
+
+ /**
+ * Adds a new element to operationIds.
+ *
+ * @param operationIds the new element to be added
+ * @return the ApiGatewayOperationsLabelsBulkInputSelectorInclude builder
+ */
+ public Builder addOperationIds(String operationIds) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(operationIds,
+ "operationIds cannot be null");
+ if (this.operationIds == null) {
+ this.operationIds = new ArrayList();
+ }
+ this.operationIds.add(operationIds);
+ return this;
+ }
+
+ /**
+ * Set the operationIds.
+ * Existing operationIds will be replaced.
+ *
+ * @param operationIds the operationIds
+ * @return the ApiGatewayOperationsLabelsBulkInputSelectorInclude builder
+ */
+ public Builder operationIds(List operationIds) {
+ this.operationIds = operationIds;
+ return this;
+ }
+ }
+
+ protected ApiGatewayOperationsLabelsBulkInputSelectorInclude() { }
+
+ protected ApiGatewayOperationsLabelsBulkInputSelectorInclude(Builder builder) {
+ operationIds = builder.operationIds;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a ApiGatewayOperationsLabelsBulkInputSelectorInclude builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the operationIds.
+ *
+ * Array of operation UUIDs to label.
+ *
+ * @return the operationIds
+ */
+ public List operationIds() {
+ return operationIds;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsBulkInputUser.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsBulkInputUser.java
new file mode 100644
index 000000000..fcd039f1e
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsBulkInputUser.java
@@ -0,0 +1,124 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * User-defined labels to apply.
+ */
+public class ApiGatewayOperationsLabelsBulkInputUser extends GenericModel {
+
+ protected List labels;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private List labels;
+
+ /**
+ * Instantiates a new Builder from an existing ApiGatewayOperationsLabelsBulkInputUser instance.
+ *
+ * @param apiGatewayOperationsLabelsBulkInputUser the instance to initialize the Builder with
+ */
+ private Builder(ApiGatewayOperationsLabelsBulkInputUser apiGatewayOperationsLabelsBulkInputUser) {
+ this.labels = apiGatewayOperationsLabelsBulkInputUser.labels;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param labels the labels
+ */
+ public Builder(List labels) {
+ this.labels = labels;
+ }
+
+ /**
+ * Builds a ApiGatewayOperationsLabelsBulkInputUser.
+ *
+ * @return the new ApiGatewayOperationsLabelsBulkInputUser instance
+ */
+ public ApiGatewayOperationsLabelsBulkInputUser build() {
+ return new ApiGatewayOperationsLabelsBulkInputUser(this);
+ }
+
+ /**
+ * Adds a new element to labels.
+ *
+ * @param labels the new element to be added
+ * @return the ApiGatewayOperationsLabelsBulkInputUser builder
+ */
+ public Builder addLabels(String labels) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(labels,
+ "labels cannot be null");
+ if (this.labels == null) {
+ this.labels = new ArrayList();
+ }
+ this.labels.add(labels);
+ return this;
+ }
+
+ /**
+ * Set the labels.
+ * Existing labels will be replaced.
+ *
+ * @param labels the labels
+ * @return the ApiGatewayOperationsLabelsBulkInputUser builder
+ */
+ public Builder labels(List labels) {
+ this.labels = labels;
+ return this;
+ }
+ }
+
+ protected ApiGatewayOperationsLabelsBulkInputUser() { }
+
+ protected ApiGatewayOperationsLabelsBulkInputUser(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(builder.labels,
+ "labels cannot be null");
+ labels = builder.labels;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a ApiGatewayOperationsLabelsBulkInputUser builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the labels.
+ *
+ * List of user-defined label names to apply. Send an empty array if no user labels are needed.
+ *
+ * @return the labels
+ */
+ public List labels() {
+ return labels;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsResp.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsResp.java
new file mode 100644
index 000000000..274954429
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsResp.java
@@ -0,0 +1,76 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import java.util.List;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * API Gateway operations labels update response.
+ */
+public class ApiGatewayOperationsLabelsResp extends GenericModel {
+
+ protected Boolean success;
+ protected List> errors;
+ protected List> messages;
+ protected List result;
+
+ protected ApiGatewayOperationsLabelsResp() { }
+
+ /**
+ * Gets the success.
+ *
+ * Was operation successful.
+ *
+ * @return the success
+ */
+ public Boolean isSuccess() {
+ return success;
+ }
+
+ /**
+ * Gets the errors.
+ *
+ * Array of errors encountered.
+ *
+ * @return the errors
+ */
+ public List> getErrors() {
+ return errors;
+ }
+
+ /**
+ * Gets the messages.
+ *
+ * Array of messages returned.
+ *
+ * @return the messages
+ */
+ public List> getMessages() {
+ return messages;
+ }
+
+ /**
+ * Gets the result.
+ *
+ * List of operations with their updated label sets.
+ *
+ * @return the result
+ */
+ public List getResult() {
+ return result;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsRespResultItem.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsRespResultItem.java
new file mode 100644
index 000000000..596c8c8c1
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsRespResultItem.java
@@ -0,0 +1,50 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import java.util.List;
+
+import com.google.gson.annotations.SerializedName;
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * ApiGatewayOperationsLabelsRespResultItem.
+ */
+public class ApiGatewayOperationsLabelsRespResultItem extends GenericModel {
+
+ @SerializedName("operation_id")
+ protected String operationId;
+ protected List labels;
+
+ protected ApiGatewayOperationsLabelsRespResultItem() { }
+
+ /**
+ * Gets the operationId.
+ *
+ * @return the operationId
+ */
+ public String getOperationId() {
+ return operationId;
+ }
+
+ /**
+ * Gets the labels.
+ *
+ * @return the labels
+ */
+ public List getLabels() {
+ return labels;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsRespResultItemLabelsItem.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsRespResultItemLabelsItem.java
new file mode 100644
index 000000000..4f3a59ab1
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsLabelsRespResultItemLabelsItem.java
@@ -0,0 +1,50 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * ApiGatewayOperationsLabelsRespResultItemLabelsItem.
+ */
+public class ApiGatewayOperationsLabelsRespResultItemLabelsItem extends GenericModel {
+
+ protected String name;
+ protected String source;
+
+ protected ApiGatewayOperationsLabelsRespResultItemLabelsItem() { }
+
+ /**
+ * Gets the name.
+ *
+ * Label name.
+ *
+ * @return the name
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Gets the source.
+ *
+ * Label source (e.g. managed or user).
+ *
+ * @return the source
+ */
+ public String getSource() {
+ return source;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsListResp.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsListResp.java
new file mode 100644
index 000000000..ee1227438
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsListResp.java
@@ -0,0 +1,88 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import java.util.List;
+
+import com.google.gson.annotations.SerializedName;
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * API Gateway operations list response.
+ */
+public class ApiGatewayOperationsListResp extends GenericModel {
+
+ protected Boolean success;
+ protected List> errors;
+ protected List> messages;
+ protected List result;
+ @SerializedName("result_info")
+ protected ResultInfo resultInfo;
+
+ protected ApiGatewayOperationsListResp() { }
+
+ /**
+ * Gets the success.
+ *
+ * Was operation successful.
+ *
+ * @return the success
+ */
+ public Boolean isSuccess() {
+ return success;
+ }
+
+ /**
+ * Gets the errors.
+ *
+ * Array of errors encountered.
+ *
+ * @return the errors
+ */
+ public List> getErrors() {
+ return errors;
+ }
+
+ /**
+ * Gets the messages.
+ *
+ * Array of messages returned.
+ *
+ * @return the messages
+ */
+ public List> getMessages() {
+ return messages;
+ }
+
+ /**
+ * Gets the result.
+ *
+ * List of operations in Endpoint Management.
+ *
+ * @return the result
+ */
+ public List getResult() {
+ return result;
+ }
+
+ /**
+ * Gets the resultInfo.
+ *
+ * @return the resultInfo
+ */
+ public ResultInfo getResultInfo() {
+ return resultInfo;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsListRespResultItem.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsListRespResultItem.java
new file mode 100644
index 000000000..8833549c5
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsListRespResultItem.java
@@ -0,0 +1,83 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import java.util.Date;
+
+import com.google.gson.annotations.SerializedName;
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * ApiGatewayOperationsListRespResultItem.
+ */
+public class ApiGatewayOperationsListRespResultItem extends GenericModel {
+
+ @SerializedName("operation_id")
+ protected String operationId;
+ protected String method;
+ protected String host;
+ protected String endpoint;
+ @SerializedName("last_updated")
+ protected Date lastUpdated;
+
+ protected ApiGatewayOperationsListRespResultItem() { }
+
+ /**
+ * Gets the operationId.
+ *
+ * UUID of the operation.
+ *
+ * @return the operationId
+ */
+ public String getOperationId() {
+ return operationId;
+ }
+
+ /**
+ * Gets the method.
+ *
+ * @return the method
+ */
+ public String getMethod() {
+ return method;
+ }
+
+ /**
+ * Gets the host.
+ *
+ * @return the host
+ */
+ public String getHost() {
+ return host;
+ }
+
+ /**
+ * Gets the endpoint.
+ *
+ * @return the endpoint
+ */
+ public String getEndpoint() {
+ return endpoint;
+ }
+
+ /**
+ * Gets the lastUpdated.
+ *
+ * @return the lastUpdated
+ */
+ public Date getLastUpdated() {
+ return lastUpdated;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsResp.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsResp.java
new file mode 100644
index 000000000..2a138f612
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsResp.java
@@ -0,0 +1,76 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import java.util.List;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * API Gateway bulk operations create response.
+ */
+public class ApiGatewayOperationsResp extends GenericModel {
+
+ protected Boolean success;
+ protected List> errors;
+ protected List> messages;
+ protected List result;
+
+ protected ApiGatewayOperationsResp() { }
+
+ /**
+ * Gets the success.
+ *
+ * Was operation successful.
+ *
+ * @return the success
+ */
+ public Boolean isSuccess() {
+ return success;
+ }
+
+ /**
+ * Gets the errors.
+ *
+ * Array of errors encountered.
+ *
+ * @return the errors
+ */
+ public List> getErrors() {
+ return errors;
+ }
+
+ /**
+ * Gets the messages.
+ *
+ * Array of messages returned.
+ *
+ * @return the messages
+ */
+ public List> getMessages() {
+ return messages;
+ }
+
+ /**
+ * Gets the result.
+ *
+ * List of created operations.
+ *
+ * @return the result
+ */
+ public List getResult() {
+ return result;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsRespResultItem.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsRespResultItem.java
new file mode 100644
index 000000000..effb1c3b5
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewayOperationsRespResultItem.java
@@ -0,0 +1,70 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import com.google.gson.annotations.SerializedName;
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * ApiGatewayOperationsRespResultItem.
+ */
+public class ApiGatewayOperationsRespResultItem extends GenericModel {
+
+ @SerializedName("operation_id")
+ protected String operationId;
+ protected String method;
+ protected String host;
+ protected String endpoint;
+
+ protected ApiGatewayOperationsRespResultItem() { }
+
+ /**
+ * Gets the operationId.
+ *
+ * UUID of the created operation.
+ *
+ * @return the operationId
+ */
+ public String getOperationId() {
+ return operationId;
+ }
+
+ /**
+ * Gets the method.
+ *
+ * @return the method
+ */
+ public String getMethod() {
+ return method;
+ }
+
+ /**
+ * Gets the host.
+ *
+ * @return the host
+ */
+ public String getHost() {
+ return host;
+ }
+
+ /**
+ * Gets the endpoint.
+ *
+ * @return the endpoint
+ */
+ public String getEndpoint() {
+ return endpoint;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewaySchemasResp.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewaySchemasResp.java
new file mode 100644
index 000000000..1241f588f
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ApiGatewaySchemasResp.java
@@ -0,0 +1,77 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import java.util.List;
+import java.util.Map;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * API Gateway schemas response (OpenAPI schema format).
+ */
+public class ApiGatewaySchemasResp extends GenericModel {
+
+ protected Boolean success;
+ protected List> errors;
+ protected List> messages;
+ protected Map result;
+
+ protected ApiGatewaySchemasResp() { }
+
+ /**
+ * Gets the success.
+ *
+ * Was operation successful.
+ *
+ * @return the success
+ */
+ public Boolean isSuccess() {
+ return success;
+ }
+
+ /**
+ * Gets the errors.
+ *
+ * Array of errors encountered.
+ *
+ * @return the errors
+ */
+ public List> getErrors() {
+ return errors;
+ }
+
+ /**
+ * Gets the messages.
+ *
+ * Array of messages returned.
+ *
+ * @return the messages
+ */
+ public List> getMessages() {
+ return messages;
+ }
+
+ /**
+ * Gets the result.
+ *
+ * API Gateway schemas rendered as an OpenAPI schema document.
+ *
+ * @return the result
+ */
+ public Map getResult() {
+ return result;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/CreateApiGatewayOperationItemOptions.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/CreateApiGatewayOperationItemOptions.java
new file mode 100644
index 000000000..0d1efea36
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/CreateApiGatewayOperationItemOptions.java
@@ -0,0 +1,165 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The createApiGatewayOperationItem options.
+ */
+public class CreateApiGatewayOperationItemOptions extends GenericModel {
+
+ /**
+ * The HTTP method for the operation.
+ */
+ public interface Method {
+ /** GET. */
+ String GET = "GET";
+ /** POST. */
+ String POST = "POST";
+ /** PUT. */
+ String PUT = "PUT";
+ /** PATCH. */
+ String PATCH = "PATCH";
+ /** DELETE. */
+ String DELETE = "DELETE";
+ /** HEAD. */
+ String HEAD = "HEAD";
+ /** OPTIONS. */
+ String OPTIONS = "OPTIONS";
+ }
+
+ protected String method;
+ protected String host;
+ protected String endpoint;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String method;
+ private String host;
+ private String endpoint;
+
+ /**
+ * Instantiates a new Builder from an existing CreateApiGatewayOperationItemOptions instance.
+ *
+ * @param createApiGatewayOperationItemOptions the instance to initialize the Builder with
+ */
+ private Builder(CreateApiGatewayOperationItemOptions createApiGatewayOperationItemOptions) {
+ this.method = createApiGatewayOperationItemOptions.method;
+ this.host = createApiGatewayOperationItemOptions.host;
+ this.endpoint = createApiGatewayOperationItemOptions.endpoint;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Builds a CreateApiGatewayOperationItemOptions.
+ *
+ * @return the new CreateApiGatewayOperationItemOptions instance
+ */
+ public CreateApiGatewayOperationItemOptions build() {
+ return new CreateApiGatewayOperationItemOptions(this);
+ }
+
+ /**
+ * Set the method.
+ *
+ * @param method the method
+ * @return the CreateApiGatewayOperationItemOptions builder
+ */
+ public Builder method(String method) {
+ this.method = method;
+ return this;
+ }
+
+ /**
+ * Set the host.
+ *
+ * @param host the host
+ * @return the CreateApiGatewayOperationItemOptions builder
+ */
+ public Builder host(String host) {
+ this.host = host;
+ return this;
+ }
+
+ /**
+ * Set the endpoint.
+ *
+ * @param endpoint the endpoint
+ * @return the CreateApiGatewayOperationItemOptions builder
+ */
+ public Builder endpoint(String endpoint) {
+ this.endpoint = endpoint;
+ return this;
+ }
+ }
+
+ protected CreateApiGatewayOperationItemOptions() { }
+
+ protected CreateApiGatewayOperationItemOptions(Builder builder) {
+ method = builder.method;
+ host = builder.host;
+ endpoint = builder.endpoint;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a CreateApiGatewayOperationItemOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the method.
+ *
+ * The HTTP method for the operation.
+ *
+ * @return the method
+ */
+ public String method() {
+ return method;
+ }
+
+ /**
+ * Gets the host.
+ *
+ * RFC3986-compliant host.
+ *
+ * @return the host
+ */
+ public String host() {
+ return host;
+ }
+
+ /**
+ * Gets the endpoint.
+ *
+ * The endpoint path. Must start with /.
+ *
+ * @return the endpoint
+ */
+ public String endpoint() {
+ return endpoint;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/CreateApiGatewayOperationLabelsOptions.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/CreateApiGatewayOperationLabelsOptions.java
new file mode 100644
index 000000000..abc466997
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/CreateApiGatewayOperationLabelsOptions.java
@@ -0,0 +1,193 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The createApiGatewayOperationLabels options.
+ */
+public class CreateApiGatewayOperationLabelsOptions extends GenericModel {
+
+ protected String operationId;
+ protected List user;
+ protected List managed;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String operationId;
+ private List user;
+ private List managed;
+
+ /**
+ * Instantiates a new Builder from an existing CreateApiGatewayOperationLabelsOptions instance.
+ *
+ * @param createApiGatewayOperationLabelsOptions the instance to initialize the Builder with
+ */
+ private Builder(CreateApiGatewayOperationLabelsOptions createApiGatewayOperationLabelsOptions) {
+ this.operationId = createApiGatewayOperationLabelsOptions.operationId;
+ this.user = createApiGatewayOperationLabelsOptions.user;
+ this.managed = createApiGatewayOperationLabelsOptions.managed;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param operationId the operationId
+ */
+ public Builder(String operationId) {
+ this.operationId = operationId;
+ }
+
+ /**
+ * Builds a CreateApiGatewayOperationLabelsOptions.
+ *
+ * @return the new CreateApiGatewayOperationLabelsOptions instance
+ */
+ public CreateApiGatewayOperationLabelsOptions build() {
+ return new CreateApiGatewayOperationLabelsOptions(this);
+ }
+
+ /**
+ * Adds a new element to user.
+ *
+ * @param user the new element to be added
+ * @return the CreateApiGatewayOperationLabelsOptions builder
+ */
+ public Builder addUser(String user) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(user,
+ "user cannot be null");
+ if (this.user == null) {
+ this.user = new ArrayList();
+ }
+ this.user.add(user);
+ return this;
+ }
+
+ /**
+ * Adds a new element to managed.
+ *
+ * @param managed the new element to be added
+ * @return the CreateApiGatewayOperationLabelsOptions builder
+ */
+ public Builder addManaged(String managed) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(managed,
+ "managed cannot be null");
+ if (this.managed == null) {
+ this.managed = new ArrayList();
+ }
+ this.managed.add(managed);
+ return this;
+ }
+
+ /**
+ * Set the operationId.
+ *
+ * @param operationId the operationId
+ * @return the CreateApiGatewayOperationLabelsOptions builder
+ */
+ public Builder operationId(String operationId) {
+ this.operationId = operationId;
+ return this;
+ }
+
+ /**
+ * Set the user.
+ * Existing user will be replaced.
+ *
+ * @param user the user
+ * @return the CreateApiGatewayOperationLabelsOptions builder
+ */
+ public Builder user(List user) {
+ this.user = user;
+ return this;
+ }
+
+ /**
+ * Set the managed.
+ * Existing managed will be replaced.
+ *
+ * @param managed the managed
+ * @return the CreateApiGatewayOperationLabelsOptions builder
+ */
+ public Builder managed(List managed) {
+ this.managed = managed;
+ return this;
+ }
+ }
+
+ protected CreateApiGatewayOperationLabelsOptions() { }
+
+ protected CreateApiGatewayOperationLabelsOptions(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.operationId,
+ "operationId cannot be empty");
+ operationId = builder.operationId;
+ user = builder.user;
+ managed = builder.managed;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a CreateApiGatewayOperationLabelsOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the operationId.
+ *
+ * UUID of the API Gateway operation.
+ *
+ * @return the operationId
+ */
+ public String operationId() {
+ return operationId;
+ }
+
+ /**
+ * Gets the user.
+ *
+ * Flat list of user-defined label names to attach. Must be present; send an empty array if no user labels are needed.
+ *
+ * @return the user
+ */
+ public List user() {
+ return user;
+ }
+
+ /**
+ * Gets the managed.
+ *
+ * Flat list of managed label names to attach (e.g. cf-llm).
+ *
+ * @return the managed
+ */
+ public List managed() {
+ return managed;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/CreateZoneApiGatewayOperationOptions.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/CreateZoneApiGatewayOperationOptions.java
new file mode 100644
index 000000000..6b5025f9a
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/CreateZoneApiGatewayOperationOptions.java
@@ -0,0 +1,113 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The createZoneApiGatewayOperation options.
+ */
+public class CreateZoneApiGatewayOperationOptions extends GenericModel {
+
+ protected List apiGatewayOperation;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private List apiGatewayOperation;
+
+ /**
+ * Instantiates a new Builder from an existing CreateZoneApiGatewayOperationOptions instance.
+ *
+ * @param createZoneApiGatewayOperationOptions the instance to initialize the Builder with
+ */
+ private Builder(CreateZoneApiGatewayOperationOptions createZoneApiGatewayOperationOptions) {
+ this.apiGatewayOperation = createZoneApiGatewayOperationOptions.apiGatewayOperation;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Builds a CreateZoneApiGatewayOperationOptions.
+ *
+ * @return the new CreateZoneApiGatewayOperationOptions instance
+ */
+ public CreateZoneApiGatewayOperationOptions build() {
+ return new CreateZoneApiGatewayOperationOptions(this);
+ }
+
+ /**
+ * Adds a new element to apiGatewayOperation.
+ *
+ * @param apiGatewayOperation the new element to be added
+ * @return the CreateZoneApiGatewayOperationOptions builder
+ */
+ public Builder addApiGatewayOperation(ApiGatewayOperation apiGatewayOperation) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(apiGatewayOperation,
+ "apiGatewayOperation cannot be null");
+ if (this.apiGatewayOperation == null) {
+ this.apiGatewayOperation = new ArrayList();
+ }
+ this.apiGatewayOperation.add(apiGatewayOperation);
+ return this;
+ }
+
+ /**
+ * Set the apiGatewayOperation.
+ * Existing apiGatewayOperation will be replaced.
+ *
+ * @param apiGatewayOperation the apiGatewayOperation
+ * @return the CreateZoneApiGatewayOperationOptions builder
+ */
+ public Builder apiGatewayOperation(List apiGatewayOperation) {
+ this.apiGatewayOperation = apiGatewayOperation;
+ return this;
+ }
+ }
+
+ protected CreateZoneApiGatewayOperationOptions() { }
+
+ protected CreateZoneApiGatewayOperationOptions(Builder builder) {
+ apiGatewayOperation = builder.apiGatewayOperation;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a CreateZoneApiGatewayOperationOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the apiGatewayOperation.
+ *
+ * List of operations to create.
+ *
+ * @return the apiGatewayOperation
+ */
+ public List apiGatewayOperation() {
+ return apiGatewayOperation;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/DeleteZoneApiGatewayOperationLabelsOptions.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/DeleteZoneApiGatewayOperationLabelsOptions.java
new file mode 100644
index 000000000..57eb4b47d
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/DeleteZoneApiGatewayOperationLabelsOptions.java
@@ -0,0 +1,156 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The deleteZoneApiGatewayOperationLabels options.
+ */
+public class DeleteZoneApiGatewayOperationLabelsOptions extends GenericModel {
+
+ protected ApiGatewayOperationsLabelsBulkDeleteInputSelector selector;
+ protected ApiGatewayOperationsLabelsBulkDeleteInputUser user;
+ protected ApiGatewayOperationsLabelsBulkDeleteInputManaged managed;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private ApiGatewayOperationsLabelsBulkDeleteInputSelector selector;
+ private ApiGatewayOperationsLabelsBulkDeleteInputUser user;
+ private ApiGatewayOperationsLabelsBulkDeleteInputManaged managed;
+
+ /**
+ * Instantiates a new Builder from an existing DeleteZoneApiGatewayOperationLabelsOptions instance.
+ *
+ * @param deleteZoneApiGatewayOperationLabelsOptions the instance to initialize the Builder with
+ */
+ private Builder(DeleteZoneApiGatewayOperationLabelsOptions deleteZoneApiGatewayOperationLabelsOptions) {
+ this.selector = deleteZoneApiGatewayOperationLabelsOptions.selector;
+ this.user = deleteZoneApiGatewayOperationLabelsOptions.user;
+ this.managed = deleteZoneApiGatewayOperationLabelsOptions.managed;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param selector the selector
+ */
+ public Builder(ApiGatewayOperationsLabelsBulkDeleteInputSelector selector) {
+ this.selector = selector;
+ }
+
+ /**
+ * Builds a DeleteZoneApiGatewayOperationLabelsOptions.
+ *
+ * @return the new DeleteZoneApiGatewayOperationLabelsOptions instance
+ */
+ public DeleteZoneApiGatewayOperationLabelsOptions build() {
+ return new DeleteZoneApiGatewayOperationLabelsOptions(this);
+ }
+
+ /**
+ * Set the selector.
+ *
+ * @param selector the selector
+ * @return the DeleteZoneApiGatewayOperationLabelsOptions builder
+ */
+ public Builder selector(ApiGatewayOperationsLabelsBulkDeleteInputSelector selector) {
+ this.selector = selector;
+ return this;
+ }
+
+ /**
+ * Set the user.
+ *
+ * @param user the user
+ * @return the DeleteZoneApiGatewayOperationLabelsOptions builder
+ */
+ public Builder user(ApiGatewayOperationsLabelsBulkDeleteInputUser user) {
+ this.user = user;
+ return this;
+ }
+
+ /**
+ * Set the managed.
+ *
+ * @param managed the managed
+ * @return the DeleteZoneApiGatewayOperationLabelsOptions builder
+ */
+ public Builder managed(ApiGatewayOperationsLabelsBulkDeleteInputManaged managed) {
+ this.managed = managed;
+ return this;
+ }
+ }
+
+ protected DeleteZoneApiGatewayOperationLabelsOptions() { }
+
+ protected DeleteZoneApiGatewayOperationLabelsOptions(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(builder.selector,
+ "selector cannot be null");
+ selector = builder.selector;
+ user = builder.user;
+ managed = builder.managed;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a DeleteZoneApiGatewayOperationLabelsOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the selector.
+ *
+ * Selector specifying which operations to affect.
+ *
+ * @return the selector
+ */
+ public ApiGatewayOperationsLabelsBulkDeleteInputSelector selector() {
+ return selector;
+ }
+
+ /**
+ * Gets the user.
+ *
+ * User-defined labels to remove.
+ *
+ * @return the user
+ */
+ public ApiGatewayOperationsLabelsBulkDeleteInputUser user() {
+ return user;
+ }
+
+ /**
+ * Gets the managed.
+ *
+ * Managed labels to remove.
+ *
+ * @return the managed
+ */
+ public ApiGatewayOperationsLabelsBulkDeleteInputManaged managed() {
+ return managed;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/DeleteZoneApiGatewayOperationOptions.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/DeleteZoneApiGatewayOperationOptions.java
new file mode 100644
index 000000000..6bdcc23a2
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/DeleteZoneApiGatewayOperationOptions.java
@@ -0,0 +1,104 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The deleteZoneApiGatewayOperation options.
+ */
+public class DeleteZoneApiGatewayOperationOptions extends GenericModel {
+
+ protected String operationId;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String operationId;
+
+ /**
+ * Instantiates a new Builder from an existing DeleteZoneApiGatewayOperationOptions instance.
+ *
+ * @param deleteZoneApiGatewayOperationOptions the instance to initialize the Builder with
+ */
+ private Builder(DeleteZoneApiGatewayOperationOptions deleteZoneApiGatewayOperationOptions) {
+ this.operationId = deleteZoneApiGatewayOperationOptions.operationId;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param operationId the operationId
+ */
+ public Builder(String operationId) {
+ this.operationId = operationId;
+ }
+
+ /**
+ * Builds a DeleteZoneApiGatewayOperationOptions.
+ *
+ * @return the new DeleteZoneApiGatewayOperationOptions instance
+ */
+ public DeleteZoneApiGatewayOperationOptions build() {
+ return new DeleteZoneApiGatewayOperationOptions(this);
+ }
+
+ /**
+ * Set the operationId.
+ *
+ * @param operationId the operationId
+ * @return the DeleteZoneApiGatewayOperationOptions builder
+ */
+ public Builder operationId(String operationId) {
+ this.operationId = operationId;
+ return this;
+ }
+ }
+
+ protected DeleteZoneApiGatewayOperationOptions() { }
+
+ protected DeleteZoneApiGatewayOperationOptions(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.operationId,
+ "operationId cannot be empty");
+ operationId = builder.operationId;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a DeleteZoneApiGatewayOperationOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the operationId.
+ *
+ * UUID of the API Gateway operation.
+ *
+ * @return the operationId
+ */
+ public String operationId() {
+ return operationId;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/DeleteZoneApiGatewayOperationsOptions.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/DeleteZoneApiGatewayOperationsOptions.java
new file mode 100644
index 000000000..8f875d07e
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/DeleteZoneApiGatewayOperationsOptions.java
@@ -0,0 +1,124 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The deleteZoneApiGatewayOperations options.
+ */
+public class DeleteZoneApiGatewayOperationsOptions extends GenericModel {
+
+ protected List apiGatewayOperationsDeleteInputItem;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private List apiGatewayOperationsDeleteInputItem;
+
+ /**
+ * Instantiates a new Builder from an existing DeleteZoneApiGatewayOperationsOptions instance.
+ *
+ * @param deleteZoneApiGatewayOperationsOptions the instance to initialize the Builder with
+ */
+ private Builder(DeleteZoneApiGatewayOperationsOptions deleteZoneApiGatewayOperationsOptions) {
+ this.apiGatewayOperationsDeleteInputItem = deleteZoneApiGatewayOperationsOptions.apiGatewayOperationsDeleteInputItem;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param apiGatewayOperationsDeleteInputItem the apiGatewayOperationsDeleteInputItem
+ */
+ public Builder(List apiGatewayOperationsDeleteInputItem) {
+ this.apiGatewayOperationsDeleteInputItem = apiGatewayOperationsDeleteInputItem;
+ }
+
+ /**
+ * Builds a DeleteZoneApiGatewayOperationsOptions.
+ *
+ * @return the new DeleteZoneApiGatewayOperationsOptions instance
+ */
+ public DeleteZoneApiGatewayOperationsOptions build() {
+ return new DeleteZoneApiGatewayOperationsOptions(this);
+ }
+
+ /**
+ * Adds a new element to apiGatewayOperationsDeleteInputItem.
+ *
+ * @param apiGatewayOperationsDeleteInputItem the new element to be added
+ * @return the DeleteZoneApiGatewayOperationsOptions builder
+ */
+ public Builder addApiGatewayOperationsDeleteInputItem(ApiGatewayOperationsDeleteInputItem apiGatewayOperationsDeleteInputItem) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(apiGatewayOperationsDeleteInputItem,
+ "apiGatewayOperationsDeleteInputItem cannot be null");
+ if (this.apiGatewayOperationsDeleteInputItem == null) {
+ this.apiGatewayOperationsDeleteInputItem = new ArrayList();
+ }
+ this.apiGatewayOperationsDeleteInputItem.add(apiGatewayOperationsDeleteInputItem);
+ return this;
+ }
+
+ /**
+ * Set the apiGatewayOperationsDeleteInputItem.
+ * Existing apiGatewayOperationsDeleteInputItem will be replaced.
+ *
+ * @param apiGatewayOperationsDeleteInputItem the apiGatewayOperationsDeleteInputItem
+ * @return the DeleteZoneApiGatewayOperationsOptions builder
+ */
+ public Builder apiGatewayOperationsDeleteInputItem(List apiGatewayOperationsDeleteInputItem) {
+ this.apiGatewayOperationsDeleteInputItem = apiGatewayOperationsDeleteInputItem;
+ return this;
+ }
+ }
+
+ protected DeleteZoneApiGatewayOperationsOptions() { }
+
+ protected DeleteZoneApiGatewayOperationsOptions(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notNull(builder.apiGatewayOperationsDeleteInputItem,
+ "apiGatewayOperationsDeleteInputItem cannot be null");
+ apiGatewayOperationsDeleteInputItem = builder.apiGatewayOperationsDeleteInputItem;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a DeleteZoneApiGatewayOperationsOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the apiGatewayOperationsDeleteInputItem.
+ *
+ * List of specific operation IDs to delete.
+ *
+ * @return the apiGatewayOperationsDeleteInputItem
+ */
+ public List apiGatewayOperationsDeleteInputItem() {
+ return apiGatewayOperationsDeleteInputItem;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/DiscoveryOperation.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/DiscoveryOperation.java
new file mode 100644
index 000000000..927a2bae9
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/DiscoveryOperation.java
@@ -0,0 +1,170 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import java.util.Date;
+import java.util.List;
+
+import com.google.gson.annotations.SerializedName;
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * A discovered API operation.
+ */
+public class DiscoveryOperation extends GenericModel {
+
+ /**
+ * The HTTP method used to access the endpoint.
+ */
+ public interface Method {
+ /** GET. */
+ String GET = "GET";
+ /** POST. */
+ String POST = "POST";
+ /** HEAD. */
+ String HEAD = "HEAD";
+ /** OPTIONS. */
+ String OPTIONS = "OPTIONS";
+ /** PUT. */
+ String PUT = "PUT";
+ /** DELETE. */
+ String DELETE = "DELETE";
+ /** CONNECT. */
+ String CONNECT = "CONNECT";
+ /** PATCH. */
+ String PATCH = "PATCH";
+ /** TRACE. */
+ String TRACE = "TRACE";
+ }
+
+ public interface Origin {
+ /** ML. */
+ String ML = "ML";
+ /** SessionIdentifier. */
+ String SESSIONIDENTIFIER = "SessionIdentifier";
+ /** LabelDiscovery. */
+ String LABELDISCOVERY = "LabelDiscovery";
+ }
+
+ /**
+ * State of the operation in API Discovery. review - not yet saved to Endpoint Management; saved - saved to Endpoint
+ * Management; ignored - marked as ignored.
+ */
+ public interface State {
+ /** review. */
+ String REVIEW = "review";
+ /** saved. */
+ String SAVED = "saved";
+ /** ignored. */
+ String IGNORED = "ignored";
+ }
+
+ protected String id;
+ protected String endpoint;
+ protected String host;
+ protected String method;
+ @SerializedName("last_updated")
+ protected Date lastUpdated;
+ protected List origin;
+ protected String state;
+ protected DiscoveryOperationFeatures features;
+
+ protected DiscoveryOperation() { }
+
+ /**
+ * Gets the id.
+ *
+ * UUID of the discovered operation.
+ *
+ * @return the id
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * Gets the endpoint.
+ *
+ * The endpoint path. May contain path parameter templates in curly braces (e.g. /api/user/{var1}/details).
+ *
+ * @return the endpoint
+ */
+ public String getEndpoint() {
+ return endpoint;
+ }
+
+ /**
+ * Gets the host.
+ *
+ * RFC3986-compliant host.
+ *
+ * @return the host
+ */
+ public String getHost() {
+ return host;
+ }
+
+ /**
+ * Gets the method.
+ *
+ * The HTTP method used to access the endpoint.
+ *
+ * @return the method
+ */
+ public String getMethod() {
+ return method;
+ }
+
+ /**
+ * Gets the lastUpdated.
+ *
+ * @return the lastUpdated
+ */
+ public Date getLastUpdated() {
+ return lastUpdated;
+ }
+
+ /**
+ * Gets the origin.
+ *
+ * API discovery engine(s) that discovered this operation.
+ *
+ * @return the origin
+ */
+ public List getOrigin() {
+ return origin;
+ }
+
+ /**
+ * Gets the state.
+ *
+ * State of the operation in API Discovery. review - not yet saved to Endpoint Management; saved - saved to Endpoint
+ * Management; ignored - marked as ignored.
+ *
+ * @return the state
+ */
+ public String getState() {
+ return state;
+ }
+
+ /**
+ * Gets the features.
+ *
+ * @return the features
+ */
+ public DiscoveryOperationFeatures getFeatures() {
+ return features;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/DiscoveryOperationFeatures.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/DiscoveryOperationFeatures.java
new file mode 100644
index 000000000..f627ec2c0
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/DiscoveryOperationFeatures.java
@@ -0,0 +1,38 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import com.google.gson.annotations.SerializedName;
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * DiscoveryOperationFeatures.
+ */
+public class DiscoveryOperationFeatures extends GenericModel {
+
+ @SerializedName("traffic_stats")
+ protected DiscoveryOperationFeaturesTrafficStats trafficStats;
+
+ protected DiscoveryOperationFeatures() { }
+
+ /**
+ * Gets the trafficStats.
+ *
+ * @return the trafficStats
+ */
+ public DiscoveryOperationFeaturesTrafficStats getTrafficStats() {
+ return trafficStats;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/DiscoveryOperationFeaturesTrafficStats.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/DiscoveryOperationFeaturesTrafficStats.java
new file mode 100644
index 000000000..de0d5dae0
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/DiscoveryOperationFeaturesTrafficStats.java
@@ -0,0 +1,65 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import java.util.Date;
+
+import com.google.gson.annotations.SerializedName;
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * DiscoveryOperationFeaturesTrafficStats.
+ */
+public class DiscoveryOperationFeaturesTrafficStats extends GenericModel {
+
+ @SerializedName("last_updated")
+ protected Date lastUpdated;
+ @SerializedName("period_seconds")
+ protected Long periodSeconds;
+ protected Double requests;
+
+ protected DiscoveryOperationFeaturesTrafficStats() { }
+
+ /**
+ * Gets the lastUpdated.
+ *
+ * @return the lastUpdated
+ */
+ public Date getLastUpdated() {
+ return lastUpdated;
+ }
+
+ /**
+ * Gets the periodSeconds.
+ *
+ * The period in seconds over which statistics were computed.
+ *
+ * @return the periodSeconds
+ */
+ public Long getPeriodSeconds() {
+ return periodSeconds;
+ }
+
+ /**
+ * Gets the requests.
+ *
+ * The average number of requests seen during this period.
+ *
+ * @return the requests
+ */
+ public Double getRequests() {
+ return requests;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/DiscoveryOperationsListResp.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/DiscoveryOperationsListResp.java
new file mode 100644
index 000000000..5ef91f468
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/DiscoveryOperationsListResp.java
@@ -0,0 +1,86 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import java.util.List;
+
+import com.google.gson.annotations.SerializedName;
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * API Gateway discovery operations list response.
+ */
+public class DiscoveryOperationsListResp extends GenericModel {
+
+ protected Boolean success;
+ protected List> errors;
+ protected List> messages;
+ protected List result;
+ @SerializedName("result_info")
+ protected ResultInfo resultInfo;
+
+ protected DiscoveryOperationsListResp() { }
+
+ /**
+ * Gets the success.
+ *
+ * Was operation successful.
+ *
+ * @return the success
+ */
+ public Boolean isSuccess() {
+ return success;
+ }
+
+ /**
+ * Gets the errors.
+ *
+ * Array of errors encountered.
+ *
+ * @return the errors
+ */
+ public List> getErrors() {
+ return errors;
+ }
+
+ /**
+ * Gets the messages.
+ *
+ * Array of messages returned.
+ *
+ * @return the messages
+ */
+ public List> getMessages() {
+ return messages;
+ }
+
+ /**
+ * Gets the result.
+ *
+ * @return the result
+ */
+ public List getResult() {
+ return result;
+ }
+
+ /**
+ * Gets the resultInfo.
+ *
+ * @return the resultInfo
+ */
+ public ResultInfo getResultInfo() {
+ return resultInfo;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/DiscoveryOperationsPatchResp.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/DiscoveryOperationsPatchResp.java
new file mode 100644
index 000000000..f77453ab1
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/DiscoveryOperationsPatchResp.java
@@ -0,0 +1,74 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import java.util.List;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * API Gateway discovery operations bulk patch response.
+ */
+public class DiscoveryOperationsPatchResp extends GenericModel {
+
+ protected Boolean success;
+ protected List> errors;
+ protected List> messages;
+ protected List result;
+
+ protected DiscoveryOperationsPatchResp() { }
+
+ /**
+ * Gets the success.
+ *
+ * Was operation successful.
+ *
+ * @return the success
+ */
+ public Boolean isSuccess() {
+ return success;
+ }
+
+ /**
+ * Gets the errors.
+ *
+ * Array of errors encountered.
+ *
+ * @return the errors
+ */
+ public List> getErrors() {
+ return errors;
+ }
+
+ /**
+ * Gets the messages.
+ *
+ * Array of messages returned.
+ *
+ * @return the messages
+ */
+ public List> getMessages() {
+ return messages;
+ }
+
+ /**
+ * Gets the result.
+ *
+ * @return the result
+ */
+ public List getResult() {
+ return result;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/GetAiSecuritySettingsOptions.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/GetAiSecuritySettingsOptions.java
new file mode 100644
index 000000000..8d0e7209a
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/GetAiSecuritySettingsOptions.java
@@ -0,0 +1,29 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The getAiSecuritySettings options.
+ */
+public class GetAiSecuritySettingsOptions extends GenericModel {
+
+ /**
+ * Construct a new instance of GetAiSecuritySettingsOptions.
+ */
+ public GetAiSecuritySettingsOptions() {
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/GetApiGatewayDiscoveryOptions.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/GetApiGatewayDiscoveryOptions.java
new file mode 100644
index 000000000..875b8402f
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/GetApiGatewayDiscoveryOptions.java
@@ -0,0 +1,29 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The getApiGatewayDiscovery options.
+ */
+public class GetApiGatewayDiscoveryOptions extends GenericModel {
+
+ /**
+ * Construct a new instance of GetApiGatewayDiscoveryOptions.
+ */
+ public GetApiGatewayDiscoveryOptions() {
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/GetApiGatewaySchemasOptions.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/GetApiGatewaySchemasOptions.java
new file mode 100644
index 000000000..37f3c78f3
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/GetApiGatewaySchemasOptions.java
@@ -0,0 +1,29 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The getApiGatewaySchemas options.
+ */
+public class GetApiGatewaySchemasOptions extends GenericModel {
+
+ /**
+ * Construct a new instance of GetApiGatewaySchemasOptions.
+ */
+ public GetApiGatewaySchemasOptions() {
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/GetZoneApiGatewayOperationOptions.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/GetZoneApiGatewayOperationOptions.java
new file mode 100644
index 000000000..19469efdd
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/GetZoneApiGatewayOperationOptions.java
@@ -0,0 +1,104 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The getZoneApiGatewayOperation options.
+ */
+public class GetZoneApiGatewayOperationOptions extends GenericModel {
+
+ protected String operationId;
+
+ /**
+ * Builder.
+ */
+ public static class Builder {
+ private String operationId;
+
+ /**
+ * Instantiates a new Builder from an existing GetZoneApiGatewayOperationOptions instance.
+ *
+ * @param getZoneApiGatewayOperationOptions the instance to initialize the Builder with
+ */
+ private Builder(GetZoneApiGatewayOperationOptions getZoneApiGatewayOperationOptions) {
+ this.operationId = getZoneApiGatewayOperationOptions.operationId;
+ }
+
+ /**
+ * Instantiates a new builder.
+ */
+ public Builder() {
+ }
+
+ /**
+ * Instantiates a new builder with required properties.
+ *
+ * @param operationId the operationId
+ */
+ public Builder(String operationId) {
+ this.operationId = operationId;
+ }
+
+ /**
+ * Builds a GetZoneApiGatewayOperationOptions.
+ *
+ * @return the new GetZoneApiGatewayOperationOptions instance
+ */
+ public GetZoneApiGatewayOperationOptions build() {
+ return new GetZoneApiGatewayOperationOptions(this);
+ }
+
+ /**
+ * Set the operationId.
+ *
+ * @param operationId the operationId
+ * @return the GetZoneApiGatewayOperationOptions builder
+ */
+ public Builder operationId(String operationId) {
+ this.operationId = operationId;
+ return this;
+ }
+ }
+
+ protected GetZoneApiGatewayOperationOptions() { }
+
+ protected GetZoneApiGatewayOperationOptions(Builder builder) {
+ com.ibm.cloud.sdk.core.util.Validator.notEmpty(builder.operationId,
+ "operationId cannot be empty");
+ operationId = builder.operationId;
+ }
+
+ /**
+ * New builder.
+ *
+ * @return a GetZoneApiGatewayOperationOptions builder
+ */
+ public Builder newBuilder() {
+ return new Builder(this);
+ }
+
+ /**
+ * Gets the operationId.
+ *
+ * UUID of the API Gateway operation.
+ *
+ * @return the operationId
+ */
+ public String operationId() {
+ return operationId;
+ }
+}
+
diff --git a/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ListApiGatewayDiscoveryOperationsOptions.java b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ListApiGatewayDiscoveryOperationsOptions.java
new file mode 100644
index 000000000..98424240c
--- /dev/null
+++ b/modules/ai-security-for-apps/src/main/java/com/ibm/cloud/networking/ai_security_for_apps/v1/model/ListApiGatewayDiscoveryOperationsOptions.java
@@ -0,0 +1,414 @@
+/*
+ * (C) Copyright IBM Corp. 2026.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package com.ibm.cloud.networking.ai_security_for_apps.v1.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.ibm.cloud.sdk.core.service.model.GenericModel;
+
+/**
+ * The listApiGatewayDiscoveryOperations options.
+ */
+public class ListApiGatewayDiscoveryOperationsOptions extends GenericModel {
+
+ /**
+ * Direction to order results.
+ */
+ public interface Direction {
+ /** asc. */
+ String ASC = "asc";
+ /** desc. */
+ String DESC = "desc";
+ }
+
+ /**
+ * Field to order results by.
+ */
+ public interface Order {
+ /** host. */
+ String HOST = "host";
+ /** method. */
+ String METHOD = "method";
+ /** endpoint. */
+ String ENDPOINT = "endpoint";
+ /** traffic_stats.requests. */
+ String TRAFFIC_STATS_REQUESTS = "traffic_stats.requests";
+ /** traffic_stats.last_updated. */
+ String TRAFFIC_STATS_LAST_UPDATED = "traffic_stats.last_updated";
+ }
+
+ /**
+ * Filter by discovery engine source.
+ */
+ public interface Origin {
+ /** ML. */
+ String ML = "ML";
+ /** SessionIdentifier. */
+ String SESSIONIDENTIFIER = "SessionIdentifier";
+ /** LabelDiscovery. */
+ String LABELDISCOVERY = "LabelDiscovery";
+ }
+
+ /**
+ * Filter results by discovery state (review/saved/ignored).
+ */
+ public interface State {
+ /** review. */
+ String REVIEW = "review";
+ /** saved. */
+ String SAVED = "saved";
+ /** ignored. */
+ String IGNORED = "ignored";
+ }
+
+ protected Boolean diff;
+ protected String direction;
+ protected String endpoint;
+ protected List host;
+ protected List