{
  "openapi": "3.0.3",
  "info": {
    "title": "Bot And Threat Defense",
    "description": "Behavioral fingerprinting identifies automated clients through request patterns, mouse movements, and JavaScript execution. Threat categories classify attacks by type including credential stuffing, scraping, and denial-of-service. Defense instances apply per-namespace policies with configurable sensitivity thresholds and challenge actions. Provisioning handles integration credentials for third-party threat intelligence feeds.",
    "version": "8.0.2",
    "contact": {
      "name": "F5 Distributed Cloud",
      "url": "https://docs.cloud.f5.com"
    },
    "license": {
      "name": "Proprietary",
      "url": "https://www.f5.com/company/policies/eula"
    },
    "x-f5xc-description-long": "Behavioral fingerprinting identifies automated clients through request patterns, mouse movements, and JavaScript execution. Threat categories classify attacks by type including credential stuffing, scraping, and denial-of-service. Defense instances apply per-namespace policies with configurable sensitivity thresholds and challenge actions. Provisioning handles integration credentials for third-party threat intelligence feeds.",
    "x-f5xc-summary": "Threat classification with behavioral analysis and signature matching. Automated blocking for malicious traffic patterns.",
    "x-f5xc-cli-domain": "bot_and_threat_defense",
    "externalDocs": {
      "url": "https://docs.cloud.f5.com/docs/how-to/app-security/bot-defense",
      "description": "F5 XC Documentation - Bot Defense"
    },
    "x-f5xc-api-reference-url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/bot_and_threat_defense/",
    "x-f5xc-best-practices": {
      "common_errors": [
        {
          "code": 400,
          "message": "Invalid request body",
          "resolution": "Validate JSON structure and required fields before submission",
          "prevention": "Use schema validation from OpenAPI spec"
        },
        {
          "code": 401,
          "message": "Authentication failed",
          "resolution": "Verify API token is valid and not expired",
          "prevention": "Use environment variables for token management"
        },
        {
          "code": 403,
          "message": "Permission denied",
          "resolution": "Check user role and namespace permissions",
          "prevention": "Verify RBAC policies before operations"
        },
        {
          "code": 404,
          "message": "Resource not found",
          "resolution": "Verify resource name and namespace exist",
          "prevention": "List resources before attempting operations"
        },
        {
          "code": 409,
          "message": "Resource already exists",
          "resolution": "Use unique name or delete existing resource",
          "prevention": "Check existence before creation"
        },
        {
          "code": 429,
          "message": "Rate limit exceeded",
          "resolution": "Implement exponential backoff and retry logic",
          "prevention": "Batch operations and add delays between requests"
        }
      ],
      "security_notes": [
        "Always use HTTPS for all API communications",
        "Store API tokens securely, never in source code",
        "Rotate API tokens regularly following security policies"
      ],
      "performance_tips": [
        "Use pagination for large result sets",
        "Batch related operations when possible",
        "Cache read-only responses appropriately"
      ]
    },
    "x-f5xc-namespace-profile": {
      "constraint": {
        "allowed": [
          "custom",
          "default",
          "shared"
        ],
        "enforced": false
      },
      "recommendation": {
        "primary": "shared",
        "alternatives": [],
        "rationale": "Bot defense infrastructure should be centralized"
      },
      "classification": {
        "category": "security",
        "multi_tenant_pattern": "shared-ref"
      }
    }
  },
  "servers": [
    {
      "url": "https://{tenant}.{console_url}/api/v1/{domain_prefix}/{environment}/{region}/namespaces/{namespace}",
      "description": "F5 Distributed Cloud Console",
      "variables": {
        "tenant": {
          "default": "example-corp",
          "description": "F5 Distributed Cloud tenant identifier (e.g., example-corp, example-partners)"
        },
        "console_url": {
          "default": "console.ves.volterra.io",
          "description": "Console URL base (e.g., console.ves.volterra.io for production, staging.volterra.us for staging)",
          "enum": [
            "console.ves.volterra.io",
            "staging.volterra.us"
          ]
        },
        "environment": {
          "default": "production",
          "description": "Environment designation (production, staging, development)",
          "enum": [
            "production",
            "staging",
            "development"
          ]
        },
        "domain_prefix": {
          "default": "api",
          "description": "Domain naming prefix for consistent naming conventions"
        },
        "region": {
          "default": "us-east-1",
          "description": "Geographic region for API deployment (e.g., us-east-1, eu-west-1)"
        },
        "namespace": {
          "default": "default",
          "description": "Kubernetes-style namespace for environment separation (e.g., 'default', 'production', 'staging')"
        }
      }
    }
  ],
  "security": [
    {
      "ApiToken": []
    }
  ],
  "tags": [
    {
      "name": "config"
    },
    {
      "name": "tpm"
    }
  ],
  "paths": {
    "/api/config/namespaces/{metadata.namespace}/bot_defense_app_infrastructures": {
      "post": {
        "summary": "Create Bot Defense App Infrastructure.",
        "description": "Creates Bot Defense App Infrastructure in a given namespace.",
        "operationId": "ves.io.schema.views.bot_defense_app_infrastructure.API.Create",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bot_defense_app_infrastructureCreateResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "metadata.namespace",
            "description": "Namespace\nThis defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "staging"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/bot_defense_app_infrastructureCreateRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/bot_and_threat_defense/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.bot_defense_app_infrastructure.API.Create",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Bot detection and defense configuration",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Bot-defense-app-infrastructure resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "bot-defense-app-infrastructure"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "bot-defense-app-infrastructure"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Bot Defense App Infrastructure.",
      "x-ves-proto-service": "ves.io.schema.views.bot_defense_app_infrastructure.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{metadata.namespace}/bot_defense_app_infrastructures/{metadata.name}": {
      "put": {
        "summary": "Replace Bot Defense App Infrastructure.",
        "description": "Replace a given Bot Defense App Infrastructure in a given namespace.",
        "operationId": "ves.io.schema.views.bot_defense_app_infrastructure.API.Replace",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bot_defense_app_infrastructureReplaceResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "metadata.namespace",
            "description": "Namespace\nThis defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "staging"
          },
          {
            "name": "metadata.name",
            "description": "Name\nThe configuration object to be replaced will be looked up by name.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "example-corp-web"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/bot_defense_app_infrastructureReplaceRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/bot_and_threat_defense/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.bot_defense_app_infrastructure.API.Replace",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Bot detection and defense configuration",
          "required_fields": [
            "path.metadata.name",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Resource updated with new values"
            ]
          },
          "side_effects": {
            "modifies": [
              "bot-defense-app-infrastructure"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.metadata.name",
          "path.metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "modifies": [
            "bot-defense-app-infrastructure"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 800,
          "p95_ms": 2500,
          "p99_ms": 6000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Bot Defense App Infrastructure.",
      "x-ves-proto-service": "ves.io.schema.views.bot_defense_app_infrastructure.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/bot_defense_app_infrastructures": {
      "get": {
        "summary": "List Bot Defense App Infrastructure.",
        "description": "List the set of bot_defense_app_infrastructure in a namespace.",
        "operationId": "ves.io.schema.views.bot_defense_app_infrastructure.API.List",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bot_defense_app_infrastructureListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nNamespace to scope the listing of bot_defense_app_infrastructure.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "label_filter",
            "description": "A LabelSelectorType expression that every item in list response will satisfy.",
            "in": "query",
            "required": false,
            "x-displayname": "Label Filter.",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "env in (staging, testing), tier in (web, db)"
          },
          {
            "name": "report_fields",
            "description": "X-example: \"\"\nExtra fields to return along with summary fields.",
            "in": "query",
            "required": false,
            "x-displayname": "Report Fields.",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "report_status_fields",
            "description": "X-example: \"\"\nExtra status fields to return along with summary fields.",
            "in": "query",
            "required": false,
            "x-displayname": "Report Status Fields.",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/bot_and_threat_defense/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.bot_defense_app_infrastructure.API.List",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Bot detection and defense configuration",
          "required_fields": [
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "moderate",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Bot Defense App Infrastructure.",
      "x-ves-proto-service": "ves.io.schema.views.bot_defense_app_infrastructure.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/bot_defense_app_infrastructures/{name}": {
      "get": {
        "summary": "Bot Defense App Infrastructure.",
        "description": "GET Bot Defense App Infrastructure from a given namespace.",
        "operationId": "ves.io.schema.views.bot_defense_app_infrastructure.API.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bot_defense_app_infrastructureGetResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThe namespace in which the configuration object is present.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "name",
            "description": "Name\nThe name of the configuration object to be fetched.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          },
          {
            "name": "response_format",
            "description": "The format in which the configuration object is to be fetched. This could be for example\n - in GetSpec form for the contents of object\n - in CreateRequest form to create a new similar object\n - to ReplaceRequest form to replace changeable values\n\nDefault format of returned resource\nResponse should be in CreateRequest format\nResponse should be in ReplaceRequest format\nResponse should be in format of GetSpecType\nResponse should have other objects referring to this object\nResponse should have deleted and disabled objects referred by this object.",
            "in": "query",
            "required": false,
            "x-displayname": "Broken Referred Objects.",
            "schema": {
              "type": "string",
              "enum": [
                "GET_RSP_FORMAT_DEFAULT",
                "GET_RSP_FORMAT_FOR_CREATE",
                "GET_RSP_FORMAT_FOR_REPLACE",
                "GET_RSP_FORMAT_READ",
                "GET_RSP_FORMAT_REFERRING_OBJECTS",
                "GET_RSP_FORMAT_BROKEN_REFERENCES"
              ],
              "default": "GET_RSP_FORMAT_DEFAULT"
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/bot_and_threat_defense/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.bot_defense_app_infrastructure.API.Get",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Bot detection and defense configuration",
          "required_fields": [
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "delete": {
        "summary": "DELETE Bot Defense App Infrastructure.",
        "description": "DELETE the specified bot_defense_app_infrastructure.",
        "operationId": "ves.io.schema.views.bot_defense_app_infrastructure.API.Delete",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nNamespace in which the configuration object is present.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "name",
            "description": "Name\nName of the configuration object.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/bot_defense_app_infrastructureDeleteRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/bot_and_threat_defense/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.bot_defense_app_infrastructure.API.Delete",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Bot detection and defense configuration",
          "required_fields": [
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Resource removed from system",
              "Associated resources may be affected"
            ]
          },
          "side_effects": {
            "deletes": [
              "bot-defense-app-infrastructure",
              "contained_resources"
            ]
          },
          "danger_level": "high",
          "confirmation_required": true,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "high",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "high",
        "x-f5xc-confirmation-required": true,
        "x-f5xc-side-effects": {
          "deletes": [
            "bot-defense-app-infrastructure",
            "contained_resources"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 500,
          "p95_ms": 1500,
          "p99_ms": 4000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Bot Defense App Infrastructure.",
      "x-ves-proto-service": "ves.io.schema.views.bot_defense_app_infrastructure.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/shape_bot_defense_instances": {
      "get": {
        "summary": "List Shape Bot Defense Instance.",
        "description": "List the set of shape_bot_defense_instance in a namespace.",
        "operationId": "ves.io.schema.shape_bot_defense_instance.API.List",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/shape_bot_defense_instanceListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nNamespace to scope the listing of shape_bot_defense_instance.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "label_filter",
            "description": "A LabelSelectorType expression that every item in list response will satisfy.",
            "in": "query",
            "required": false,
            "x-displayname": "Label Filter.",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "env in (staging, testing), tier in (web, db)"
          },
          {
            "name": "report_fields",
            "description": "X-example: \"\"\nExtra fields to return along with summary fields.",
            "in": "query",
            "required": false,
            "x-displayname": "Report Fields.",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "report_status_fields",
            "description": "X-example: \"\"\nExtra status fields to return along with summary fields.",
            "in": "query",
            "required": false,
            "x-displayname": "Report Status Fields.",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/bot_and_threat_defense/"
        },
        "x-ves-proto-rpc": "ves.io.schema.shape_bot_defense_instance.API.List",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Bot detection and defense configuration",
          "required_fields": [
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "moderate",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Shape Bot Defense Instance.",
      "x-ves-proto-service": "ves.io.schema.shape_bot_defense_instance.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/shape_bot_defense_instances/{name}": {
      "get": {
        "summary": "GET Virtual Host.",
        "description": "GET virtual host from a given namespace.",
        "operationId": "ves.io.schema.shape_bot_defense_instance.API.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/shape_bot_defense_instanceGetResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThe namespace in which the configuration object is present.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "name",
            "description": "Name\nThe name of the configuration object to be fetched.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          },
          {
            "name": "response_format",
            "description": "The format in which the configuration object is to be fetched. This could be for example\n - in GetSpec form for the contents of object\n - in CreateRequest form to create a new similar object\n - to ReplaceRequest form to replace changeable values\n\nDefault format of returned resource\nResponse should be in format of GetSpecType\nResponse should have other objects referring to this object\nResponse should have deleted and disabled objects referred by this object.",
            "in": "query",
            "required": false,
            "x-displayname": "Broken Referred Objects.",
            "schema": {
              "type": "string",
              "enum": [
                "GET_RSP_FORMAT_DEFAULT",
                "GET_RSP_FORMAT_READ",
                "GET_RSP_FORMAT_REFERRING_OBJECTS",
                "GET_RSP_FORMAT_BROKEN_REFERENCES"
              ],
              "default": "GET_RSP_FORMAT_DEFAULT"
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/bot_and_threat_defense/"
        },
        "x-ves-proto-rpc": "ves.io.schema.shape_bot_defense_instance.API.Get",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Bot detection and defense configuration",
          "required_fields": [
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Shape Bot Defense Instance.",
      "x-ves-proto-service": "ves.io.schema.shape_bot_defense_instance.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/tpm/namespaces/{metadata.namespace}/tpm_api_keys": {
      "post": {
        "summary": "Create TPM API Key.",
        "description": "APIKey object when successfully created returns actual APIKey bytes which is used by the users to call in to\nTPM provisioning API.",
        "operationId": "ves.io.schema.tpm_api_key.API.Create",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/tpm_api_keyCreateResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "metadata.namespace",
            "description": "Namespace\nThis defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "staging"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/tpm_api_keyCreateRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/bot_and_threat_defense/"
        },
        "x-ves-proto-rpc": "ves.io.schema.tpm_api_key.API.Create",
        "tags": [
          "tpm"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Tpm-api-key resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "tpm-api-key"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "tpm-api-key"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "TPM API Key.",
      "x-ves-proto-service": "ves.io.schema.tpm_api_key.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/tpm/namespaces/{metadata.namespace}/tpm_api_keys/{metadata.name}": {
      "put": {
        "summary": "Replace TPM API Key.",
        "description": "Replace a APIKey object's revocation or enable/disable status. A revoked APIKey is not considered disabled.\nCertificates minted using disabled APIKeys are rejected during system bring-up/verification stage,\nwhereas certificates minted using revoked APIKeys are only rejected if they were minted after revocation date.",
        "operationId": "ves.io.schema.tpm_api_key.API.Replace",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/tpm_api_keyReplaceResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "metadata.namespace",
            "description": "Namespace\nThis defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "staging"
          },
          {
            "name": "metadata.name",
            "description": "Name\nThe configuration object to be replaced will be looked up by name.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "example-corp-web"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/tpm_api_keyReplaceRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/bot_and_threat_defense/"
        },
        "x-ves-proto-rpc": "ves.io.schema.tpm_api_key.API.Replace",
        "tags": [
          "tpm"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource replacement operation",
          "required_fields": [
            "path.metadata.name",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Resource updated with new values"
            ]
          },
          "side_effects": {
            "modifies": [
              "tpm-api-key"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.metadata.name",
          "path.metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "modifies": [
            "tpm-api-key"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 800,
          "p95_ms": 2500,
          "p99_ms": 6000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "TPM API Key.",
      "x-ves-proto-service": "ves.io.schema.tpm_api_key.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/tpm/namespaces/{namespace}/tpm_api_keys": {
      "get": {
        "summary": "List TPM API Key.",
        "description": "List the set of tpm_api_key in a namespace.",
        "operationId": "ves.io.schema.tpm_api_key.API.List",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/tpm_api_keyListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nNamespace to scope the listing of tpm_api_key.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "label_filter",
            "description": "A LabelSelectorType expression that every item in list response will satisfy.",
            "in": "query",
            "required": false,
            "x-displayname": "Label Filter.",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "env in (staging, testing), tier in (web, db)"
          },
          {
            "name": "report_fields",
            "description": "X-example: \"\"\nExtra fields to return along with summary fields.",
            "in": "query",
            "required": false,
            "x-displayname": "Report Fields.",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "report_status_fields",
            "description": "X-example: \"\"\nExtra status fields to return along with summary fields.",
            "in": "query",
            "required": false,
            "x-displayname": "Report Status Fields.",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/bot_and_threat_defense/"
        },
        "x-ves-proto-rpc": "ves.io.schema.tpm_api_key.API.List",
        "tags": [
          "tpm"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "moderate",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "TPM API Key.",
      "x-ves-proto-service": "ves.io.schema.tpm_api_key.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/tpm/namespaces/{namespace}/tpm_api_keys/{name}": {
      "get": {
        "summary": "GET TPM API Key.",
        "description": "Retrieve an APIKey object.",
        "operationId": "ves.io.schema.tpm_api_key.API.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/tpm_api_keyGetResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThe namespace in which the configuration object is present.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "name",
            "description": "Name\nThe name of the configuration object to be fetched.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          },
          {
            "name": "response_format",
            "description": "The format in which the configuration object is to be fetched. This could be for example\n - in GetSpec form for the contents of object\n - in CreateRequest form to create a new similar object\n - to ReplaceRequest form to replace changeable values\n\nDefault format of returned resource\nResponse should be in CreateRequest format\nResponse should be in ReplaceRequest format\nResponse should be in StatusObject(s) format\nResponse should be in format of GetSpecType\nResponse should have other objects referring to this object\nResponse should have deleted and disabled objects referred by this object.",
            "in": "query",
            "required": false,
            "x-displayname": "Broken Referred Objects.",
            "schema": {
              "type": "string",
              "enum": [
                "GET_RSP_FORMAT_DEFAULT",
                "GET_RSP_FORMAT_FOR_CREATE",
                "GET_RSP_FORMAT_FOR_REPLACE",
                "GET_RSP_FORMAT_STATUS",
                "GET_RSP_FORMAT_READ",
                "GET_RSP_FORMAT_REFERRING_OBJECTS",
                "GET_RSP_FORMAT_BROKEN_REFERENCES"
              ],
              "default": "GET_RSP_FORMAT_DEFAULT"
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/bot_and_threat_defense/"
        },
        "x-ves-proto-rpc": "ves.io.schema.tpm_api_key.API.Get",
        "tags": [
          "tpm"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "TPM API Key.",
      "x-ves-proto-service": "ves.io.schema.tpm_api_key.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/tpm/namespaces/{metadata.namespace}/tpm_categorys": {
      "post": {
        "summary": "Create TPM Category.",
        "description": "Create a Category object, which is a grouping of APIKeys used for TPM provisioning.",
        "operationId": "ves.io.schema.tpm_category.API.Create",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/tpm_categoryCreateResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "metadata.namespace",
            "description": "Namespace\nThis defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "staging"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/tpm_categoryCreateRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/bot_and_threat_defense/"
        },
        "x-ves-proto-rpc": "ves.io.schema.tpm_category.API.Create",
        "tags": [
          "tpm"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Tpm-category resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "tpm-category"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "tpm-category"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "TPM Category.",
      "x-ves-proto-service": "ves.io.schema.tpm_category.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/tpm/namespaces/{metadata.namespace}/tpm_categorys/{metadata.name}": {
      "put": {
        "summary": "Replace TPM Category.",
        "description": "Replace a Category object's Allow list of TPM EK Certificates.",
        "operationId": "ves.io.schema.tpm_category.API.Replace",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/tpm_categoryReplaceResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "metadata.namespace",
            "description": "Namespace\nThis defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "staging"
          },
          {
            "name": "metadata.name",
            "description": "Name\nThe configuration object to be replaced will be looked up by name.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "example-corp-web"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/tpm_categoryReplaceRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/bot_and_threat_defense/"
        },
        "x-ves-proto-rpc": "ves.io.schema.tpm_category.API.Replace",
        "tags": [
          "tpm"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource replacement operation",
          "required_fields": [
            "path.metadata.name",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Resource updated with new values"
            ]
          },
          "side_effects": {
            "modifies": [
              "tpm-category"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.metadata.name",
          "path.metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "modifies": [
            "tpm-category"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 800,
          "p95_ms": 2500,
          "p99_ms": 6000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "TPM Category.",
      "x-ves-proto-service": "ves.io.schema.tpm_category.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/tpm/namespaces/{namespace}/tpm_categorys": {
      "get": {
        "summary": "List TPM Category.",
        "description": "List the set of tpm_category in a namespace.",
        "operationId": "ves.io.schema.tpm_category.API.List",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/tpm_categoryListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nNamespace to scope the listing of tpm_category.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "label_filter",
            "description": "A LabelSelectorType expression that every item in list response will satisfy.",
            "in": "query",
            "required": false,
            "x-displayname": "Label Filter.",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "env in (staging, testing), tier in (web, db)"
          },
          {
            "name": "report_fields",
            "description": "X-example: \"\"\nExtra fields to return along with summary fields.",
            "in": "query",
            "required": false,
            "x-displayname": "Report Fields.",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "report_status_fields",
            "description": "X-example: \"\"\nExtra status fields to return along with summary fields.",
            "in": "query",
            "required": false,
            "x-displayname": "Report Status Fields.",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/bot_and_threat_defense/"
        },
        "x-ves-proto-rpc": "ves.io.schema.tpm_category.API.List",
        "tags": [
          "tpm"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "moderate",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "TPM Category.",
      "x-ves-proto-service": "ves.io.schema.tpm_category.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/tpm/namespaces/{namespace}/tpm_categorys/{name}": {
      "get": {
        "summary": "GET TPM Category.",
        "description": "Retrieve an APIKey object.",
        "operationId": "ves.io.schema.tpm_category.API.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/tpm_categoryGetResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThe namespace in which the configuration object is present.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "name",
            "description": "Name\nThe name of the configuration object to be fetched.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          },
          {
            "name": "response_format",
            "description": "The format in which the configuration object is to be fetched. This could be for example\n - in GetSpec form for the contents of object\n - in CreateRequest form to create a new similar object\n - to ReplaceRequest form to replace changeable values\n\nDefault format of returned resource\nResponse should be in CreateRequest format\nResponse should be in ReplaceRequest format\nResponse should be in StatusObject(s) format\nResponse should be in format of GetSpecType\nResponse should have other objects referring to this object\nResponse should have deleted and disabled objects referred by this object.",
            "in": "query",
            "required": false,
            "x-displayname": "Broken Referred Objects.",
            "schema": {
              "type": "string",
              "enum": [
                "GET_RSP_FORMAT_DEFAULT",
                "GET_RSP_FORMAT_FOR_CREATE",
                "GET_RSP_FORMAT_FOR_REPLACE",
                "GET_RSP_FORMAT_STATUS",
                "GET_RSP_FORMAT_READ",
                "GET_RSP_FORMAT_REFERRING_OBJECTS",
                "GET_RSP_FORMAT_BROKEN_REFERENCES"
              ],
              "default": "GET_RSP_FORMAT_DEFAULT"
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/bot_and_threat_defense/"
        },
        "x-ves-proto-rpc": "ves.io.schema.tpm_category.API.Get",
        "tags": [
          "tpm"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "TPM Category.",
      "x-ves-proto-service": "ves.io.schema.tpm_category.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/tpm/namespaces/{metadata.namespace}/tpm_managers": {
      "post": {
        "summary": "Create TPM Manager.",
        "description": "Create a TPM Manager object.",
        "operationId": "ves.io.schema.tpm_manager.API.Create",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/tpm_managerCreateResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "metadata.namespace",
            "description": "Namespace\nThis defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "staging"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/tpm_managerCreateRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/bot_and_threat_defense/"
        },
        "x-ves-proto-rpc": "ves.io.schema.tpm_manager.API.Create",
        "tags": [
          "tpm"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Tpm-manager resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "tpm-manager"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "tpm-manager"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "TPM Manager.",
      "x-ves-proto-service": "ves.io.schema.tpm_manager.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/tpm/namespaces/{namespace}/tpm_managers": {
      "get": {
        "summary": "List TPM Manager.",
        "description": "List the set of tpm_manager in a namespace.",
        "operationId": "ves.io.schema.tpm_manager.API.List",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/tpm_managerListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nNamespace to scope the listing of tpm_manager.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "label_filter",
            "description": "A LabelSelectorType expression that every item in list response will satisfy.",
            "in": "query",
            "required": false,
            "x-displayname": "Label Filter.",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "env in (staging, testing), tier in (web, db)"
          },
          {
            "name": "report_fields",
            "description": "X-example: \"\"\nExtra fields to return along with summary fields.",
            "in": "query",
            "required": false,
            "x-displayname": "Report Fields.",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "report_status_fields",
            "description": "X-example: \"\"\nExtra status fields to return along with summary fields.",
            "in": "query",
            "required": false,
            "x-displayname": "Report Status Fields.",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/bot_and_threat_defense/"
        },
        "x-ves-proto-rpc": "ves.io.schema.tpm_manager.API.List",
        "tags": [
          "tpm"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "moderate",
            "resource_usage": "moderate"
          }
        },
        "x-f5xc-required-fields": [
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "TPM Manager.",
      "x-ves-proto-service": "ves.io.schema.tpm_manager.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/tpm/namespaces/{namespace}/tpm_managers/{name}": {
      "get": {
        "summary": "GET TPM Manager.",
        "description": "Retrieve a TPM Manager object.",
        "operationId": "ves.io.schema.tpm_manager.API.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/tpm_managerGetResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nThe namespace in which the configuration object is present.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ns1"
          },
          {
            "name": "name",
            "description": "Name\nThe name of the configuration object to be fetched.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          },
          {
            "name": "response_format",
            "description": "The format in which the configuration object is to be fetched. This could be for example\n - in GetSpec form for the contents of object\n - in CreateRequest form to create a new similar object\n - to ReplaceRequest form to replace changeable values\n\nDefault format of returned resource\nResponse should be in CreateRequest format\nResponse should be in StatusObject(s) format\nResponse should be in format of GetSpecType\nResponse should have other objects referring to this object\nResponse should have deleted and disabled objects referred by this object.",
            "in": "query",
            "required": false,
            "x-displayname": "Broken Referred Objects.",
            "schema": {
              "type": "string",
              "enum": [
                "GET_RSP_FORMAT_DEFAULT",
                "GET_RSP_FORMAT_FOR_CREATE",
                "GET_RSP_FORMAT_STATUS",
                "GET_RSP_FORMAT_READ",
                "GET_RSP_FORMAT_REFERRING_OBJECTS",
                "GET_RSP_FORMAT_BROKEN_REFERENCES"
              ],
              "default": "GET_RSP_FORMAT_DEFAULT"
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/bot_and_threat_defense/"
        },
        "x-ves-proto-rpc": "ves.io.schema.tpm_manager.API.Get",
        "tags": [
          "tpm"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "TPM Manager.",
      "x-ves-proto-service": "ves.io.schema.tpm_manager.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/tpm/tpm/preauth": {
      "post": {
        "summary": "Preauth",
        "description": "Pre-flight auth checks before calling the Provision API.",
        "operationId": "ves.io.schema.tpm_provision.CustomAPI.Preauth",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/tpm_provisionPreauthResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/tpm_provisionPreauthRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/bot_and_threat_defense/"
        },
        "x-ves-proto-rpc": "ves.io.schema.tpm_provision.CustomAPI.Preauth",
        "tags": [
          "tpm"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [],
            "postconditions": [
              "Preauth resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "preauth"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "preauth"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "TPM Provisioning.",
      "x-ves-proto-service": "ves.io.schema.tpm_provision.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/tpm/tpm/provision": {
      "post": {
        "summary": "Provision",
        "operationId": "ves.io.schema.tpm_provision.CustomAPI.Provision",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/tpm_provisionProvisionResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/tpm_provisionProvisionRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/bot_and_threat_defense/"
        },
        "x-ves-proto-rpc": "ves.io.schema.tpm_provision.CustomAPI.Provision",
        "tags": [
          "tpm"
        ],
        "description": "Provision provision.",
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [],
            "postconditions": [
              "Provision resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "provision"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "provision"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "TPM Provisioning.",
      "x-ves-proto-service": "ves.io.schema.tpm_provision.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    }
  },
  "components": {
    "securitySchemes": {
      "ApiToken": {
        "type": "apiKey",
        "name": "Authorization",
        "in": "header",
        "description": "API Token authentication. Format: 'APIToken <your-token>'"
      },
      "apiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "Authorization",
        "description": "F5 XC API Token (format: APIToken <token>)"
      }
    },
    "schemas": {
      "bot_defense_app_infrastructureBotDefenseAdvancedRegion": {
        "type": "string",
        "description": "Defines a selection for Bot Defense Advanced region\n\n- US: US\n\nUS region\n- EU: EU\n\nEuropean Union region\n- ASIA: ASIA\n\nAsia region.",
        "title": "BotDefenseAdvancedRegion",
        "enum": [
          "US",
          "EU",
          "ASIA"
        ],
        "default": "US",
        "x-displayname": "Bot Defense Advanced Region.",
        "x-ves-proto-enum": "ves.io.schema.views.bot_defense_app_infrastructure.BotDefenseAdvancedRegion",
        "x-f5xc-description-short": "Defines a selection for Bot Defense Advanced region - US: US US region - EU: EU European Union region - ASIA: ASIA Asia region.",
        "x-f5xc-description-medium": "Defines a selection for Bot Defense Advanced region - US: US US region - EU: EU European Union region - ASIA: ASIA Asia region.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for bot_defense_app_infrastructureBotDefenseAdvancedRegion",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"US\"",
          "example_yaml": "US\n..."
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "bot_defense_app_infrastructureCreateRequest": {
        "type": "object",
        "description": "This is the input message of the 'Create' RPC.",
        "title": "CreateRequest is used to create an instance of bot_defense_app_infrastructure",
        "x-displayname": "Create Request.",
        "x-ves-proto-message": "ves.io.schema.views.bot_defense_app_infrastructure.CreateRequest",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectCreateMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/bot_defense_app_infrastructureCreateSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for bot_defense_app_infrastructureCreateRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "bot_defense_app_infrastructureCreateResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.views.bot_defense_app_infrastructure.CreateResponse",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/bot_defense_app_infrastructureGetSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for bot_defense_app_infrastructureCreateResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "bot_defense_app_infrastructureCreateSpecType": {
        "type": "object",
        "description": "Creates Bot Defense App Infrastructure in a given namespace.",
        "title": "Create Bot Defense App Infrastructure",
        "x-displayname": "Create Bot Defense App Infrastructure.",
        "x-ves-oneof-field-infra_choice": "[\"cloud_hosted\",\"data_center_hosted\"]",
        "x-ves-proto-message": "ves.io.schema.views.bot_defense_app_infrastructure.CreateSpecType",
        "properties": {
          "cloud_hosted": {
            "allOf": [
              {
                "$ref": "#/components/schemas/bot_defense_app_infrastructureInfraF5Hosted"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "data_center_hosted"
            ]
          },
          "data_center_hosted": {
            "allOf": [
              {
                "$ref": "#/components/schemas/bot_defense_app_infrastructureInfraF5Hosted"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cloud_hosted"
            ]
          },
          "environment_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/bot_defense_app_infrastructureEnvironmentType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "traffic_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/bot_defense_app_infrastructureTrafficType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Creates Bot Defense App Infrastructure in a given namespace.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for bot_defense_app_infrastructureCreateSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "bot_defense_app_infrastructureDeleteRequest": {
        "type": "object",
        "description": "This is the input message of the 'DELETE' RPC.",
        "title": "DeleteRequest is used to delete a bot_defense_app_infrastructure",
        "x-displayname": "DELETE Request.",
        "x-ves-proto-message": "ves.io.schema.views.bot_defense_app_infrastructure.DeleteRequest",
        "properties": {
          "fail_if_referred": {
            "type": "boolean",
            "description": "Fail the DELETE operation if this object is being referred by other objects.",
            "title": "fail_if_referred",
            "format": "boolean",
            "x-displayname": "Fail-If-Referred.",
            "x-f5xc-description-short": "Fail the DELETE operation if this object is being referred by other objects.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Name of the configuration object.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Name",
            "x-f5xc-example": "name",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "Namespace in which the configuration object is present.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "x-f5xc-description-short": "Namespace in which the configuration object is present.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for bot_defense_app_infrastructureDeleteRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "bot_defense_app_infrastructureEgress": {
        "type": "object",
        "description": "Egress",
        "title": "Egress",
        "x-displayname": "Egress",
        "x-ves-proto-message": "ves.io.schema.views.bot_defense_app_infrastructure.Egress",
        "properties": {
          "ip_address": {
            "type": "string",
            "description": "Egress IP address.",
            "title": "IP Address",
            "x-displayname": "IP Address.",
            "x-ves-example": "192.0.2.78.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.ip": "true"
            },
            "x-f5xc-example": "192.0.2.78",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.ip": "true"
            },
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "minLength": 7,
              "pattern": "^((25[0-5]|(2[0-4]|1\\d|[1-9]|)\\d)\\.?\\b){4}$",
              "format": "ip",
              "formatDescription": "IPv4 dotted-decimal notation (e.g., 192.168.1.1)",
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "location": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsbot_defense_app_infrastructureLocation"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 4,
            "minLength": 4,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for bot_defense_app_infrastructureEgress",
          "required_fields": [
            "ip_address"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"ip_address\": \"192.0.2.78\"\n}",
          "example_yaml": "ip_address: 192.0.2.78"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "bot_defense_app_infrastructureEnvironmentType": {
        "type": "string",
        "description": "Environment Type\n\nProduction environment\nTesting environment.",
        "title": "EnvironmentType",
        "enum": [
          "PRODUCTION",
          "TESTING"
        ],
        "default": "PRODUCTION",
        "x-displayname": "Environment Type.",
        "x-ves-proto-enum": "ves.io.schema.views.bot_defense_app_infrastructure.EnvironmentType",
        "x-f5xc-description-short": "Environment Type Production environment Testing environment.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for bot_defense_app_infrastructureEnvironmentType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"PRODUCTION\"",
          "example_yaml": "PRODUCTION\n..."
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "bot_defense_app_infrastructureGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read bot_defense_app_infrastructure",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.views.bot_defense_app_infrastructure.GetResponse",
        "properties": {
          "create_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/bot_defense_app_infrastructureCreateRequest"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for create form.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "deleted_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "deleted_referred_objects",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Deleted Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "disabled_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "disabled_referred_objects",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Disabled Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "referring_objects": {
            "type": "array",
            "description": "The set of objects that are referring to this object in their spec.",
            "title": "referring_objects",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Referring Objects.",
            "x-f5xc-description-short": "The set of objects that are referring to this object in their spec.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "replace_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/bot_defense_app_infrastructureReplaceRequest"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for replace form.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/bot_defense_app_infrastructureGetSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resource_version": {
            "type": "string",
            "x-f5xc-concurrency-token": {
              "server_assigned": true,
              "echo_on_operations": [
                "replace"
              ]
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for bot_defense_app_infrastructureGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "bot_defense_app_infrastructureGetSpecType": {
        "type": "object",
        "description": "GET Bot Defense App Infrastructure from a given namespace.",
        "title": "Get Bot Defense App Infrastructure",
        "x-displayname": "Bot Defense App Infrastructure.",
        "x-ves-oneof-field-infra_choice": "[\"cloud_hosted\",\"data_center_hosted\"]",
        "x-ves-proto-message": "ves.io.schema.views.bot_defense_app_infrastructure.GetSpecType",
        "properties": {
          "cloud_hosted": {
            "allOf": [
              {
                "$ref": "#/components/schemas/bot_defense_app_infrastructureInfraF5Hosted"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "data_center_hosted"
            ]
          },
          "data_center_hosted": {
            "allOf": [
              {
                "$ref": "#/components/schemas/bot_defense_app_infrastructureInfraF5Hosted"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cloud_hosted"
            ]
          },
          "environment_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/bot_defense_app_infrastructureEnvironmentType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "traffic_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/bot_defense_app_infrastructureTrafficType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "GET Bot Defense App Infrastructure from a given namespace.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for bot_defense_app_infrastructureGetSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "bot_defense_app_infrastructureInfraF5Hosted": {
        "type": "object",
        "description": "Infra F5 Hosted.",
        "title": "InfraF5Hosted",
        "x-displayname": "F5 Hosted",
        "x-ves-proto-message": "ves.io.schema.views.bot_defense_app_infrastructure.InfraF5Hosted",
        "properties": {
          "egress": {
            "type": "array",
            "description": "Egress",
            "title": "Egress",
            "minItems": 1,
            "items": {
              "$ref": "#/components/schemas/bot_defense_app_infrastructureEgress"
            },
            "x-displayname": "Egress",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "uniqueItems": true,
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "infra_host_name": {
            "type": "string",
            "description": "Infra Host Name.",
            "title": "Infra Host Name",
            "x-displayname": "Infra Host Name.",
            "x-ves-example": "www.example.com.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.hostname": "true"
            },
            "x-f5xc-example": "www.example.com",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.hostname": "true"
            },
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "format": "hostname",
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "ingress": {
            "type": "array",
            "description": "Ingress",
            "title": "Ingress",
            "minItems": 1,
            "maxItems": 3,
            "items": {
              "$ref": "#/components/schemas/bot_defense_app_infrastructureIngress"
            },
            "x-displayname": "Ingress",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "3",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "3",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 3,
              "uniqueItems": true,
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "region": {
            "allOf": [
              {
                "$ref": "#/components/schemas/bot_defense_app_infrastructureBotDefenseAdvancedRegion"
              }
            ],
            "x-f5xc-example": "us-west-2",
            "x-f5xc-description-short": "Geographic region for resource placement.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for bot_defense_app_infrastructureInfraF5Hosted",
          "required_fields": [
            "egress",
            "infra_host_name",
            "ingress"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"egress\": [\n    {\n      \"ip_address\": \"192.0.2.78\"\n    }\n  ],\n  \"infra_host_name\": \"www.example.com\",\n  \"ingress\": [\n    {}\n  ]\n}",
          "example_yaml": "egress:\n- ip_address: 192.0.2.78\ninfra_host_name: www.example.com\ningress:\n- {}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "bot_defense_app_infrastructureIngress": {
        "type": "object",
        "description": "Ingress",
        "title": "Ingress",
        "x-displayname": "Ingress",
        "x-ves-oneof-field-type_choice": "[\"host_name\",\"ip_address\"]",
        "x-ves-proto-message": "ves.io.schema.views.bot_defense_app_infrastructure.Ingress",
        "properties": {
          "host_name": {
            "type": "string",
            "description": "Exclusive with [ip_address]\nIngress Host Name.",
            "title": "Host Name",
            "x-displayname": "Ingress value.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true"
            },
            "x-f5xc-example": "example-resource",
            "x-f5xc-description-short": "Exclusive with [ip_address] Ingress Host Name.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "format": "hostname",
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ip_address"
            ]
          },
          "ip_address": {
            "type": "string",
            "description": "Exclusive with [host_name]\nIngress IP Address.",
            "title": "IP Address",
            "x-displayname": "Ingress value.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ip": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.ip": "true"
            },
            "x-f5xc-example": "192.0.2.1",
            "x-f5xc-description-short": "Exclusive with [host_name] Ingress IP Address.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "minLength": 7,
              "pattern": "^((25[0-5]|(2[0-4]|1\\d|[1-9]|)\\d)\\.?\\b){4}$",
              "format": "ip",
              "formatDescription": "IPv4 dotted-decimal notation (e.g., 192.168.1.1)",
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "host_name"
            ]
          },
          "location": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsbot_defense_app_infrastructureLocation"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 4,
            "minLength": 4,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for bot_defense_app_infrastructureIngress",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "bot_defense_app_infrastructureListResponse": {
        "type": "object",
        "description": "This is the output message of 'List' RPC.",
        "title": "ListResponse is the collection of bot_defense_app_infrastructure",
        "x-displayname": "List Response.",
        "x-ves-proto-message": "ves.io.schema.views.bot_defense_app_infrastructure.ListResponse",
        "properties": {
          "errors": {
            "type": "array",
            "description": "Errors(if any) while listing items from collection.",
            "title": "errors",
            "items": {
              "$ref": "#/components/schemas/schemaErrorType__ves_io_schema_ai_assistant"
            },
            "x-displayname": "Errors",
            "x-f5xc-description-short": "Errors(if any) while listing items from collection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "items": {
            "type": "array",
            "description": "Items represents the collection in response.",
            "title": "items",
            "items": {
              "$ref": "#/components/schemas/bot_defense_app_infrastructureListResponseItem"
            },
            "x-displayname": "Items",
            "x-f5xc-example": "[\"item1\", \"item2\", \"item3\"]",
            "x-f5xc-description-short": "Items represents the collection in response.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "general",
              "minItems": 0,
              "maxItems": 256,
              "uniqueItems": false,
              "metadata": {
                "source": "inferred",
                "confidence": 0.7,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for bot_defense_app_infrastructureListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "bot_defense_app_infrastructureListResponseItem": {
        "type": "object",
        "description": "By default a summary of bot_defense_app_infrastructure is returned in 'List'. By setting\n'report_fields' in the ListRequest more details of each item can be got.",
        "title": "ListResponseItem is an individual item in a collection of bot_defense_app_infrastructure",
        "x-displayname": "List Item",
        "x-ves-proto-message": "ves.io.schema.views.bot_defense_app_infrastructure.ListResponseItem",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "The set of annotations present on this bot_defense_app_infrastructure.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of annotations present on this bot_defense_app_infrastructure.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "The description set for this bot_defense_app_infrastructure.",
            "title": "description",
            "x-displayname": "Description.",
            "x-f5xc-description-short": "The description set for this bot_defense_app_infrastructure.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.8,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "disabled": {
            "type": "boolean",
            "description": "A value of true indicates bot_defense_app_infrastructure is administratively disabled.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Value of true indicates bot_defense_app_infrastructure is administratively disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "get_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/bot_defense_app_infrastructureGetSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "The set of labels present on this bot_defense_app_infrastructure.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of labels present on this bot_defense_app_infrastructure.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "The name of this bot_defense_app_infrastructure.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Name",
            "x-f5xc-example": "name",
            "x-f5xc-description-short": "The name of this bot_defense_app_infrastructure.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "The namespace this item belongs to.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "owner_view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaViewRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": null,
                "field_path": "owner_view",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tenant": {
            "type": "string",
            "description": "The tenant this item belongs to.",
            "title": "tenant",
            "x-displayname": "Tenant",
            "x-ves-example": "Example-corp.",
            "x-f5xc-example": "example-corp",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "uid": {
            "type": "string",
            "description": "The unique uid of this bot_defense_app_infrastructure.",
            "title": "uid",
            "x-displayname": "UID",
            "x-ves-example": "00000000-0000-4000-8000-d36e055b3ea2.",
            "x-f5xc-example": "00000000-0000-4000-8000-d36e055b3ea2",
            "x-f5xc-description-short": "The unique uid of this bot_defense_app_infrastructure.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "By default a summary of bot_defense_app_infrastructure is returned in 'List'.",
        "x-f5xc-description-medium": "By default a summary of bot_defense_app_infrastructure is returned in 'List'. By setting 'report_fields' in the ListRequest more details of each item can be got.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for bot_defense_app_infrastructureListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "bot_defense_app_infrastructureReplaceRequest": {
        "type": "object",
        "description": "This is the input message of the 'Replace' RPC.",
        "title": "ReplaceRequest is used to replace contents of a bot_defense_app_infrastructure",
        "x-displayname": "Replace Request.",
        "x-ves-proto-message": "ves.io.schema.views.bot_defense_app_infrastructure.ReplaceRequest",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectReplaceMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/bot_defense_app_infrastructureReplaceSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resource_version": {
            "type": "string",
            "x-f5xc-concurrency-token": {
              "server_assigned": true,
              "echo_on_operations": [
                "replace"
              ]
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for bot_defense_app_infrastructureReplaceRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "bot_defense_app_infrastructureReplaceResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.views.bot_defense_app_infrastructure.ReplaceResponse",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for bot_defense_app_infrastructureReplaceResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "bot_defense_app_infrastructureReplaceSpecType": {
        "type": "object",
        "description": "Replace a given Bot Defense App Infrastructure in a given namespace.",
        "title": "Replace Bot Defense App Infrastructure",
        "x-displayname": "Replace Bot Defense App Infrastructure.",
        "x-ves-oneof-field-infra_choice": "[\"cloud_hosted\",\"data_center_hosted\"]",
        "x-ves-proto-message": "ves.io.schema.views.bot_defense_app_infrastructure.ReplaceSpecType",
        "properties": {
          "cloud_hosted": {
            "allOf": [
              {
                "$ref": "#/components/schemas/bot_defense_app_infrastructureInfraF5Hosted"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "data_center_hosted"
            ]
          },
          "data_center_hosted": {
            "allOf": [
              {
                "$ref": "#/components/schemas/bot_defense_app_infrastructureInfraF5Hosted"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cloud_hosted"
            ]
          },
          "environment_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/bot_defense_app_infrastructureEnvironmentType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "traffic_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/bot_defense_app_infrastructureTrafficType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Replace a given Bot Defense App Infrastructure in a given namespace.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for bot_defense_app_infrastructureReplaceSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "bot_defense_app_infrastructureTrafficType": {
        "type": "string",
        "description": "Traffic Type\n\nWeb traffic\nMobile traffic.",
        "title": "TrafficType",
        "enum": [
          "WEB",
          "MOBILE"
        ],
        "default": "WEB",
        "x-displayname": "Traffic Type.",
        "x-ves-proto-enum": "ves.io.schema.views.bot_defense_app_infrastructure.TrafficType",
        "x-f5xc-description-short": "Traffic Type Web traffic Mobile traffic.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for bot_defense_app_infrastructureTrafficType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"WEB\"",
          "example_yaml": "WEB\n..."
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "ioschemaObjectRefType": {
        "type": "object",
        "description": "This type establishes a 'direct reference' from one object(the referrer) to another(the referred).\nSuch a reference is in form of tenant/namespace/name for public API and Uid for private API\nThis type of reference is called direct because the relation is explicit and concrete (as opposed\nto selector reference which builds a group based on labels of selectee objects)",
        "title": "ObjectRefType",
        "x-displayname": "Object reference.",
        "x-ves-proto-message": "ves.io.schema.ObjectRefType",
        "properties": {
          "kind": {
            "type": "string",
            "description": "When a configuration object(e.g. Virtual_host) refers to another(e.g route)\nthen kind will hold the referred object's kind (e.g. \"route\")",
            "title": "kind",
            "x-displayname": "Kind",
            "x-ves-example": "Virtual_site.",
            "x-f5xc-example": "virtual_site",
            "x-f5xc-description-short": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then kind will hold the referred object's kind (e.g. \"route\")",
            "x-f5xc-description-medium": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then kind will hold the referred object's kind (e.g. \"route\").",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "readOnly": true,
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "name": {
            "type": "string",
            "description": "When a configuration object(e.g. Virtual_host) refers to another(e.g route)\nthen name will hold the referred object's(e.g. Route's) name.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Contactus-route.",
            "x-f5xc-example": "contactus-route",
            "x-f5xc-description-short": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object's(e.g.",
            "x-f5xc-description-medium": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object's(e.g. Route's) name.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 6,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "namespace": {
            "type": "string",
            "description": "When a configuration object(e.g. Virtual_host) refers to another(e.g route)\nthen namespace will hold the referred object's(e.g. Route's) namespace.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "x-f5xc-description-short": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object's(e.g.",
            "x-f5xc-description-medium": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object's(e.g. Route's) namespace.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "tenant": {
            "type": "string",
            "description": "When a configuration object(e.g. Virtual_host) refers to another(e.g route)\nthen tenant will hold the referred object's(e.g. Route's) tenant.",
            "title": "tenant",
            "x-displayname": "Tenant",
            "x-ves-example": "Example-corp.",
            "x-f5xc-example": "example-corp",
            "x-f5xc-description-short": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object's(e.g.",
            "x-f5xc-description-medium": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object's(e.g. Route's) tenant.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "readOnly": true,
            "x-field-mutability": "read-only",
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "uid": {
            "type": "string",
            "description": "When a configuration object(e.g. Virtual_host) refers to another(e.g route)\nthen uid will hold the referred object's(e.g. Route's) uid.",
            "title": "uid",
            "x-displayname": "UID",
            "x-ves-example": "00000000-0000-4000-8000-0df41b679859.",
            "x-f5xc-example": "00000000-0000-4000-8000-0df41b679859",
            "x-f5xc-description-short": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then uid will hold the referred object's(e.g.",
            "x-f5xc-description-medium": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then uid will hold the referred object's(e.g. Route's) uid.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "readOnly": true,
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "Type establishes a 'direct reference' from one object(the referrer) to another(the referred).",
        "x-f5xc-description-medium": "Type establishes a 'direct reference' from one object(the referrer) to another(the referred). Such a reference is in form of tenant/namespace/name for public API and Uid for private API This type of reference is called direct because the relation is explicit and concrete (as opposed to selector...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for ioschemaObjectRefType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "protobufAny": {
        "type": "object",
        "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\nFoo foo = ...;\nAny any;\nany.packfrom(foo);\n...\nIf (any.unpackto(&foo)) {\n...\n}\n\nExample 2: Pack and unpack a message in Java.\n\nFoo foo = ...;\nAny any = any.pack(foo);\n...\nIf (any.is(foo.class)) {\nfoo = any.unpack(foo.class);\n}\n\nExample 3: Pack and unpack a message in Python.\n\nFoo = Foo(...)\nany = Any()\nany.pack(foo)\n...\nIf any.is(foo.descriptor):\nany.unpack(foo)\n...\n\nExample 4: Pack and unpack a message in Go\n\nfoo := &pb.foo{...}\nany, err := ptypes.marshalany(foo)\n...\nFoo := &pb.foo{}\nif err := ptypes.unmarshalany(any, foo); err != nil {\n...\n}\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.example.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\npackage google.profile;\nmessage Person {\nstring first_name = 1;\nstring last_name = 2;\n}\n\n{\n\"@type\": \"type.googleapis.com/google.profile.person\",\n\"firstName\": <string>,\n\"lastName\": <string>\n}\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.duration][]):\n\n{\n\"@type\": \"type.googleapis.com/google.protobuf.duration\",\n\"value\": \"1.212s\"\n}",
        "properties": {
          "type_url": {
            "type": "string",
            "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `HTTP`, `HTTPS`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `HTTPS` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.type][]\nvalue in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\nURL, or have them precompiled into a binary to avoid any\nlookup. Therefore, binary compatibility needs to be preserved\non changes to types. (Use versioned type names to manage\nbreaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `HTTP`, `HTTPS` (or the empty scheme) might be\nused with implementation specific semantics.",
            "x-f5xc-description-short": "URL identifying the protocol buffer message type.",
            "x-f5xc-description-medium": "URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one \"/\" character. The last segment of the URL's path must represent the fully qualified name of the type (as in ).",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "value": {
            "type": "string",
            "description": "Must be a valid serialized protocol buffer of the above specified type.",
            "format": "byte",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "byte",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 3,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "Contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.",
        "x-f5xc-description-medium": "Contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message. Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type. Example 1: Pack and unpack a...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for protobufAny",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "schemaErrorCode": {
        "type": "string",
        "description": "Union of all possible error-codes from system\n\n- EOK: No error\n- EPERMS: Permissions error\n- EBADINPUT: Input is not correct\n- ENOTFOUND: Not found\n- EEXISTS: Already exists\n- EUNKNOWN: Unknown/catchall error\n- ESERIALIZE: Error in serializing/de-serializing\n- EINTERNAL: Server error\n- EPARTIAL: Partial error.",
        "title": "ErrorCode",
        "enum": [
          "EOK",
          "EPERMS",
          "EBADINPUT",
          "ENOTFOUND",
          "EEXISTS",
          "EUNKNOWN",
          "ESERIALIZE",
          "EINTERNAL",
          "EPARTIAL"
        ],
        "default": "EOK",
        "x-displayname": "Error Code.",
        "x-ves-proto-enum": "ves.io.schema.ErrorCode",
        "x-f5xc-description-short": "Union of all possible error-codes from system - EOK: No error - EPERMS: Permissions error - EBADINPUT: Input is not correct - ENOTFOUND: Not found...",
        "x-f5xc-description-medium": "Union of all possible error-codes from system - EOK: No error - EPERMS: Permissions error - EBADINPUT: Input is not correct - ENOTFOUND: Not found - EEXISTS: Already exists - EUNKNOWN: Unknown/catchall error - ESERIALIZE: Error in serializing/de-serializing - EINTERNAL: Server error - EPARTIAL...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaErrorCode",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"EOK\"",
          "example_yaml": "EOK\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "schemaErrorType__ves_io_schema_ai_assistant": {
        "type": "object",
        "description": "Information about a error in API operation.",
        "title": "ErrorType",
        "x-displayname": "Error Type.",
        "x-ves-proto-message": "ves.io.schema.ErrorType",
        "properties": {
          "code": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaErrorCode"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "error_obj": {
            "allOf": [
              {
                "$ref": "#/components/schemas/protobufAny"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "message": {
            "type": "string",
            "description": "A human readable string of the error.",
            "title": "message",
            "x-displayname": "Message",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Information about a error in API operation.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaErrorType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "schemaInitializerType": {
        "type": "object",
        "description": "Initializer is information about an initializer that has not yet completed.",
        "title": "InitializerType",
        "x-displayname": "Initializer.",
        "x-ves-proto-message": "ves.io.schema.InitializerType",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the service that is responsible for initializing this object.",
            "title": "name",
            "x-displayname": "Name",
            "x-f5xc-example": "example-resource",
            "x-f5xc-description-short": "Name of the service that is responsible for initializing this object.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-description-short": "Initializer is information about an initializer that has not yet completed.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaInitializerType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "schemaInitializersType__ves_io_schema_api_sec_api_crawler": {
        "type": "object",
        "description": "Initializers tracks the progress of initialization of a configuration object.",
        "title": "InitializersType",
        "x-displayname": "Initializers.",
        "x-ves-proto-message": "ves.io.schema.InitializersType",
        "properties": {
          "pending": {
            "type": "array",
            "description": "Pending is a list of initializers that must execute in order before this object is initialized.\nWhen the last pending initializer is removed, and no failing result is set, the initializers\nstruct will be set to nil and the object is considered as initialized and visible to all\nclients.",
            "title": "pending",
            "items": {
              "$ref": "#/components/schemas/schemaInitializerType"
            },
            "x-displayname": "Pending",
            "x-f5xc-description-short": "Pending is a list of initializers that must execute in order before this object is initialized.",
            "x-f5xc-description-medium": "Pending is a list of initializers that must execute in order before this object is initialized. When the last pending initializer is removed, and no failing result is set, the initializers struct will be set to nil and the object is considered as initialized and visible to all clients.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "result": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaStatusType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Initializers tracks the progress of initialization of a configuration object.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaInitializersType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "schemaObjectCreateMetaType": {
        "type": "object",
        "description": "ObjectCreateMetaType is metadata that can be specified in Create request of an object.",
        "title": "ObjectCreateMetaType",
        "x-displayname": "Create Metadata.",
        "x-ves-proto-message": "ves.io.schema.ObjectCreateMetaType",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.",
            "title": "annotations",
            "x-displayname": "Annotation.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "64",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.values.string.max_len": "1024",
              "ves.io.schema.rules.map.values.string.min_len": "1"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "64",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.values.string.max_len": "1024",
              "ves.io.schema.rules.map.values.string.min_len": "1"
            },
            "x-f5xc-description-short": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata.",
            "x-f5xc-description-medium": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "Human readable description for the object.",
            "title": "description",
            "maxLength": 1200,
            "x-displayname": "Description.",
            "x-ves-example": "Virtual Host for Example Corp website.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "1200"
            },
            "x-f5xc-example": "Virtual Host for Example Corp website",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "1200"
            },
            "x-f5xc-description-short": "Human readable description for the object.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1200,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "byteLength": {
                "max": 1200
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "disable": {
            "type": "boolean",
            "description": "A value of true will administratively disable the object.",
            "title": "disable",
            "format": "boolean",
            "x-displayname": "Disable",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Value of true will administratively disable the object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "Map of string keys and values that can be used to organize and categorize\n(scope and select) objects as chosen by the user. Values specified here will be used\nby selector expression.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the user.",
            "x-f5xc-description-medium": "Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the user. Values specified here will be used by selector expression.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "This is the name of configuration object. It has to be unique within the namespace.\nIt can only be specified during create API and cannot be changed during replace API.\nThe value of name has to follow DNS-1035 format.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Example-corp-web.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "example-corp-web",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Name of configuration object. It has to be unique within the namespace.",
            "x-f5xc-description-medium": "Name of configuration object. It has to be unique within the namespace. It can only be specified during create API and cannot be changed during replace API.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "This defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Staging",
            "x-f5xc-example": "staging",
            "x-f5xc-description-short": "Defines the workspace within which each the configuration object is to be created.",
            "x-f5xc-description-medium": "Defines the workspace within which each the configuration object is to be created. Must be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\".",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-description-short": "ObjectCreateMetaType is metadata that can be specified in Create request of an object.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaObjectCreateMetaType",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"example-corp-web\"\n}",
          "example_yaml": "name: example-corp-web"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "schemaObjectGetMetaType": {
        "type": "object",
        "description": "ObjectGetMetaType is metadata that can be specified in GET/Create response of an object.",
        "title": "ObjectGetMetaType",
        "x-displayname": "GET Metadata.",
        "x-ves-proto-message": "ves.io.schema.ObjectGetMetaType",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.",
            "title": "annotations",
            "x-displayname": "Annotation.",
            "x-ves-example": "Value",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "64",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.values.string.max_len": "1024",
              "ves.io.schema.rules.map.values.string.min_len": "1"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "64",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.values.string.max_len": "1024",
              "ves.io.schema.rules.map.values.string.min_len": "1"
            },
            "x-f5xc-description-short": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata.",
            "x-f5xc-description-medium": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "Human readable description for the object.",
            "title": "description",
            "maxLength": 1200,
            "x-displayname": "Description.",
            "x-ves-example": "Virtual Host for Example Corp website.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "1200"
            },
            "x-f5xc-example": "Virtual Host for Example Corp website",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "1200"
            },
            "x-f5xc-description-short": "Human readable description for the object.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1200,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "byteLength": {
                "max": 1200
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "disable": {
            "type": "boolean",
            "description": "A value of true will administratively disable the object.",
            "title": "disable",
            "format": "boolean",
            "x-displayname": "Disable",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Value of true will administratively disable the object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "Map of string keys and values that can be used to organize and categorize\n(scope and select) objects as chosen by the user. Values specified here will be used\nby selector expression.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the user.",
            "x-f5xc-description-medium": "Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the user. Values specified here will be used by selector expression.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "This is the name of configuration object. It has to be unique within the namespace.\nIt can only be specified during create API and cannot be changed during replace API.\nThe value of name has to follow DNS-1035 format.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Example-corp-web.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "example-corp-web",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Name of configuration object. It has to be unique within the namespace.",
            "x-f5xc-description-medium": "Name of configuration object. It has to be unique within the namespace. It can only be specified during create API and cannot be changed during replace API.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "This defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Staging",
            "x-f5xc-example": "staging",
            "x-f5xc-description-short": "Defines the workspace within which each the configuration object is to be created.",
            "x-f5xc-description-medium": "Defines the workspace within which each the configuration object is to be created. Must be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\".",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-description-short": "ObjectGetMetaType is metadata that can be specified in GET/Create response of an object.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaObjectGetMetaType",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"example-corp-web\"\n}",
          "example_yaml": "name: example-corp-web"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "schemaObjectReplaceMetaType": {
        "type": "object",
        "description": "ObjectReplaceMetaType is metadata that can be specified in Replace request of an object.",
        "title": "ObjectReplaceMetaType",
        "x-displayname": "Replace Metadata.",
        "x-ves-proto-message": "ves.io.schema.ObjectReplaceMetaType",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-ves-example": "Value",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "64",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.values.string.max_len": "1024",
              "ves.io.schema.rules.map.values.string.min_len": "1"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "64",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.values.string.max_len": "1024",
              "ves.io.schema.rules.map.values.string.min_len": "1"
            },
            "x-f5xc-description-short": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata.",
            "x-f5xc-description-medium": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "Human readable description for the object.",
            "title": "description",
            "maxLength": 1200,
            "x-displayname": "Description.",
            "x-ves-example": "Virtual Host for Example Corp website.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "1200"
            },
            "x-f5xc-example": "Virtual Host for Example Corp website",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "1200"
            },
            "x-f5xc-description-short": "Human readable description for the object.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1200,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "byteLength": {
                "max": 1200
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "disable": {
            "type": "boolean",
            "description": "A value of true will administratively disable the object.",
            "title": "disable",
            "format": "boolean",
            "x-displayname": "Disable",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Value of true will administratively disable the object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "Map of string keys and values that can be used to organize and categorize\n(scope and select) objects as chosen by the user. Values specified here will be used\nby selector expression.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the user.",
            "x-f5xc-description-medium": "Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the user. Values specified here will be used by selector expression.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "This is the name of configuration object. It has to be unique within the namespace.\nIt can only be specified during create API and cannot be changed during replace API.\nThe value of name has to follow DNS-1035 format.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Example-corp-web.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "example-corp-web",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Name of configuration object. It has to be unique within the namespace.",
            "x-f5xc-description-medium": "Name of configuration object. It has to be unique within the namespace. It can only be specified during create API and cannot be changed during replace API.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "This defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Staging",
            "x-f5xc-example": "staging",
            "x-f5xc-description-short": "Defines the workspace within which each the configuration object is to be created.",
            "x-f5xc-description-medium": "Defines the workspace within which each the configuration object is to be created. Must be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\".",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-description-short": "ObjectReplaceMetaType is metadata that can be specified in Replace request of an object.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaObjectReplaceMetaType",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"example-corp-web\"\n}",
          "example_yaml": "name: example-corp-web"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "schemaStatusType": {
        "type": "object",
        "description": "Status is a return value for calls that don't return other objects.",
        "title": "StatusType",
        "x-displayname": "Status",
        "x-ves-proto-message": "ves.io.schema.StatusType",
        "properties": {
          "code": {
            "type": "integer",
            "description": "Suggested HTTP return code for this status, 0 if not set.",
            "title": "code",
            "format": "int32",
            "x-displayname": "Code",
            "x-ves-example": "0",
            "x-f5xc-example": "0",
            "x-f5xc-description-short": "Suggested HTTP return code for this status, 0 if not set.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "reason": {
            "type": "string",
            "description": "A human-readable description of why this operation is in the\n\"Failure\" status. If this value is empty there\nis no information available.",
            "title": "reason",
            "x-displayname": "Reason",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Human-readable description of why this operation is in the \"Failure\" status. If this value is empty there is no information available.",
            "x-f5xc-description-medium": "Human-readable description of why this operation is in the \"Failure\" status. If this value is empty there is no information available.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 27,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "status": {
            "type": "string",
            "description": "Status of the operation.\nOne of: \"Success\" or \"Failure\".",
            "title": "status",
            "x-displayname": "Status",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Status of the operation. One of: \"Success\" or \"Failure\".",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 17,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "Status is a return value for calls that don't return other objects.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaStatusType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler": {
        "type": "object",
        "description": "SystemObjectGetMetaType is metadata generated or populated by the system for all persisted objects and\ncannot be updated directly by users.",
        "title": "SystemObjectGetMetaType",
        "x-displayname": "System Metadata.",
        "x-ves-proto-message": "ves.io.schema.SystemObjectGetMetaType",
        "properties": {
          "creation_timestamp": {
            "type": "string",
            "description": "CreationTimestamp is a timestamp representing the server time when this object was\ncreated. It is not guaranteed to be set in happens-before order across separate operations.\nClients may not set this value. It is represented in RFC3339 form and is in UTC.",
            "title": "creation_timestamp",
            "format": "date-time",
            "x-displayname": "Creation Timestamp.",
            "x-f5xc-description-short": "CreationTimestamp is a timestamp representing the server time when this object was created.",
            "x-f5xc-description-medium": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "creator_class": {
            "type": "string",
            "description": "A value identifying the class of the user or service which created this configuration object.",
            "title": "creator_class",
            "x-displayname": "Creator Class.",
            "x-ves-example": "Prism",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Value identifying the class of the user or service which created this configuration object.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "creator_id": {
            "type": "string",
            "description": "A value identifying the exact user or service that created this configuration object.",
            "title": "creator_id",
            "x-displayname": "Creator ID.",
            "x-ves-example": "Admin@example.com.",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Value identifying the exact user or service that created this configuration object.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "deletion_timestamp": {
            "type": "string",
            "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This\nfield is set by the server when a graceful deletion is requested by the user, and is not\ndirectly settable by a client. The resource is expected to be deleted (no longer visible\nfrom resource lists, and not reachable by name) after the time in this field, once the\nfinalizers list is empty. As long as the finalizers list contains items, deletion is blocked.\nOnce the deletionTimestamp is set, this value may not be unset or be set further into the\nfuture, although it may be shortened or the resource may be deleted prior to this time.\nFor example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react\nby sending a graceful termination signal to the containers in the pod. After that 30 seconds,\nthe Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup,\nremove the pod from the API. In the presence of network partitions, this object may still\nexist after this timestamp, until an administrator or automated process can determine the\nresource is fully terminated.\nIf not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested.\nRead-only.",
            "title": "deletion_timestamp",
            "format": "date-time",
            "x-displayname": "Deletion Timestamp.",
            "x-f5xc-description-short": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted.",
            "x-f5xc-description-medium": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not...",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "finalizers": {
            "type": "array",
            "description": "Must be empty before the object is deleted from the registry. Each entry\nis an identifier for the responsible component that will remove the entry\nfrom the list. If the deletionTimestamp of the object is non-nil, entries\nin this list can only be removed.",
            "title": "finalizers",
            "items": {
              "type": "string"
            },
            "x-displayname": "Finalizers.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Must be empty before the object is deleted from the registry.",
            "x-f5xc-description-medium": "Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "initializers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaInitializersType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for initializers.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "Map of string keys and values that can be used to organize and categorize\n(scope and select) objects as chosen by the operator or software. Values here can be interpreted\nby software(backend or frontend) to enable certain behavior e.g. Things marked as soft-deleted(restorable).",
            "title": "labels",
            "x-displayname": "Labels",
            "x-ves-example": "'VES.I/O/soft-deleted': 'true'",
            "x-f5xc-example": "'F5 XC/soft-deleted''true'",
            "x-f5xc-description-short": "Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the operator or software.",
            "x-f5xc-description-medium": "Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the operator or software. Values here can be interpreted by software(backend or frontend) to enable certain behavior e.g. Things marked as soft-deleted(restorable).",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "modification_timestamp": {
            "type": "string",
            "description": "ModificationTimestamp is a timestamp representing the server time when this object was\nlast modified.",
            "title": "modification_timestamp",
            "format": "date-time",
            "x-displayname": "Modification Timestamp.",
            "x-f5xc-description-short": "ModificationTimestamp is a timestamp representing the server time when this object was last modified.",
            "x-f5xc-description-medium": "ModificationTimestamp is a timestamp representing the server time when this object was last modified.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "object_index": {
            "type": "integer",
            "description": "Unique index for the object. Some objects need a unique integer index to be allocated\nfor each object type. This field will be populated for all objects that need it and will\nbe zero otherwise.",
            "title": "object_index",
            "format": "int64",
            "x-displayname": "Object Index.",
            "x-ves-example": "0",
            "x-f5xc-example": "0",
            "x-f5xc-description-short": "Unique index for the object. Some objects need a unique integer index to be allocated for each object type.",
            "x-f5xc-description-medium": "Unique index for the object. Some objects need a unique integer index to be allocated for each object type. This field will be populated for all objects that need it and will be zero otherwise.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "owner_view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaViewRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": null,
                "field_path": "owner_view",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "tenant": {
            "type": "string",
            "description": "Tenant to which this configuration object belongs to. The value for this is found from\npresented credentials.",
            "title": "tenant",
            "x-displayname": "Tenant",
            "x-ves-example": "Example-corp.",
            "x-f5xc-example": "example-corp",
            "x-f5xc-description-short": "Tenant to which this configuration object belongs to. The value for this is found from presented credentials.",
            "x-f5xc-description-medium": "Tenant to which this configuration object belongs to. The value for this is found from presented credentials.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "uid": {
            "type": "string",
            "description": "Uid is the unique in time and space value for this object. It is generated by\nthe server on successful creation of an object and is not allowed to change on Replace\nAPI. The value of is taken from uid field of ObjectMetaType, if provided.",
            "title": "uid",
            "x-displayname": "UID",
            "x-ves-example": "00000000-0000-4000-8000-0df41b679859.",
            "x-f5xc-example": "00000000-0000-4000-8000-0df41b679859",
            "x-f5xc-description-short": "Uid is the unique in time and space value for this object.",
            "x-f5xc-description-medium": "Uid is the unique in time and space value for this object. It is generated by the server on successful creation of an object and is not allowed to change on Replace API. The value of is taken from uid field of ObjectMetaType, if provided.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "SystemObjectGetMetaType is metadata generated or populated by the system for all persisted objects and cannot be updated directly by users.",
        "x-f5xc-description-medium": "SystemObjectGetMetaType is metadata generated or populated by the system for all persisted objects and cannot be updated directly by users.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaSystemObjectGetMetaType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "schemaViewRefType": {
        "type": "object",
        "description": "ViewRefType represents a reference to a view.",
        "title": "ViewRefType",
        "x-displayname": "View Reference.",
        "x-ves-proto-message": "ves.io.schema.ViewRefType",
        "properties": {
          "kind": {
            "type": "string",
            "description": "Kind of the view object.",
            "title": "kind",
            "x-displayname": "Kind",
            "x-ves-example": "Http_proxy.",
            "x-f5xc-example": "http_proxy",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "name": {
            "type": "string",
            "description": "When a configuration object(e.g. Virtual_host) refers to another(e.g route)\nthen name will hold the referred object's(e.g. Route's) name.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Contactus-route.",
            "x-f5xc-example": "contactus-route",
            "x-f5xc-description-short": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object's(e.g.",
            "x-f5xc-description-medium": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object's(e.g. Route's) name.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "When a configuration object(e.g. Virtual_host) refers to another(e.g route)\nthen namespace will hold the referred object's(e.g. Route's) namespace.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "x-f5xc-description-short": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object's(e.g.",
            "x-f5xc-description-medium": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object's(e.g. Route's) namespace.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "uid": {
            "type": "string",
            "description": "UID of the view object.",
            "title": "uid",
            "x-displayname": "UID",
            "x-ves-example": "00000000-0000-4000-8000-d543fad8e1f8.",
            "x-f5xc-example": "00000000-0000-4000-8000-d543fad8e1f8",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "ViewRefType represents a reference to a view.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaViewRefType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "viewsbot_defense_app_infrastructureLocation": {
        "type": "string",
        "description": "Region location\n\nAWS_AP_NORTHEAST_1\nAWS_AP_NORTHEAST_3\nAWS_AP_SOUTH_1\nAWS_AP_SOUTH_2\nAWS_AP_SOUTHEAST_1\nAWS_AP_SOUTHEAST_2\nAWS_AP_SOUTHEAST_3\nAWS_EU_CENTRAL_1\nAWS_EU_NORTH_1\nAWS_EU_WEST_1\nAWS_ME_SOUTH_1\nAWS_SA_EAST_1\nAWS_US_EAST_1\nAWS_US_EAST_2\nAWS_US_WEST_1\nAWS_US_WEST_2\nGCP_ASIA_EAST_1\nGCP_ASIA_EAST_2\nGCP_ASIA_NORTHEAST_1\nGCP_ASIA_NORTHEAST_2\nGCP_ASIA_NORTHEAST_3\nGCP_ASIA_SOUTH_1\nGCP_ASIA_SOUTHEAST_1\nGCP_ASIA_SOUTHEAST_2\nGCP_AUSTRALIA_SOUTHEAST_1\nGCP_EUROPE_WEST_1\nGCP_EUROPE_WEST_2\nGCP_EUROPE_WEST_3\nGCP_NORTHAMERICA_NORTHEAST_1\nGCP_NORTHAMERICA_NORTHEAST_2\nGCP_SOUTHAMERICA_EAST_1\nGCP_SOUTHAMERICA_WEST_1\nGCP_US_CENTRAL_1\nGCP_US_EAST_1\nGCP_US_EAST_4\nGCP_US_WEST_1\nGCP_US_WEST_2.",
        "title": "Location",
        "enum": [
          "AWS_AP_NORTHEAST_1",
          "AWS_AP_NORTHEAST_3",
          "AWS_AP_SOUTH_1",
          "AWS_AP_SOUTH_2",
          "AWS_AP_SOUTHEAST_1",
          "AWS_AP_SOUTHEAST_2",
          "AWS_AP_SOUTHEAST_3",
          "AWS_EU_CENTRAL_1",
          "AWS_EU_NORTH_1",
          "AWS_EU_WEST_1",
          "AWS_ME_SOUTH_1",
          "AWS_SA_EAST_1",
          "AWS_US_EAST_1",
          "AWS_US_EAST_2",
          "AWS_US_WEST_1",
          "AWS_US_WEST_2",
          "GCP_ASIA_EAST_1",
          "GCP_ASIA_EAST_2",
          "GCP_ASIA_NORTHEAST_1",
          "GCP_ASIA_NORTHEAST_2",
          "GCP_ASIA_NORTHEAST_3",
          "GCP_ASIA_SOUTH_1",
          "GCP_ASIA_SOUTHEAST_1",
          "GCP_ASIA_SOUTHEAST_2",
          "GCP_AUSTRALIA_SOUTHEAST_1",
          "GCP_EUROPE_WEST_1",
          "GCP_EUROPE_WEST_2",
          "GCP_EUROPE_WEST_3",
          "GCP_NORTHAMERICA_NORTHEAST_1",
          "GCP_NORTHAMERICA_NORTHEAST_2",
          "GCP_SOUTHAMERICA_EAST_1",
          "GCP_SOUTHAMERICA_WEST_1",
          "GCP_US_CENTRAL_1",
          "GCP_US_EAST_1",
          "GCP_US_EAST_4",
          "GCP_US_WEST_1",
          "GCP_US_WEST_2"
        ],
        "default": "AWS_AP_NORTHEAST_1",
        "x-displayname": "Location",
        "x-ves-proto-enum": "ves.io.schema.views.bot_defense_app_infrastructure.Location",
        "x-f5xc-description-short": "Region location AWS_AP_NORTHEAST_1 AWS_AP_NORTHEAST_3 AWS_AP_SOUTH_1 AWS_AP_SOUTH_2 AWS_AP_SOUTHEAST_1 AWS_AP_SOUTHEAST_2 AWS_AP_SOUTHEAST_3...",
        "x-f5xc-description-medium": "Region location AWS_AP_NORTHEAST_1 AWS_AP_NORTHEAST_3 AWS_AP_SOUTH_1 AWS_AP_SOUTH_2 AWS_AP_SOUTHEAST_1 AWS_AP_SOUTHEAST_2 AWS_AP_SOUTHEAST_3 AWS_EU_CENTRAL_1 AWS_EU_NORTH_1 AWS_EU_WEST_1 AWS_ME_SOUTH_1 AWS_SA_EAST_1 AWS_US_EAST_1 AWS_US_EAST_2 AWS_US_WEST_1 AWS_US_WEST_2 GCP_ASIA_EAST_1...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsbot_defense_app_infrastructureLocation",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"AWS_AP_NORTHEAST_1\"",
          "example_yaml": "AWS_AP_NORTHEAST_1\n..."
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "schemashape_bot_defense_instanceGetSpecType": {
        "type": "object",
        "description": "GET virtual host from a given namespace.",
        "title": "Get virtual host",
        "x-displayname": "GET Virtual Host.",
        "x-ves-proto-message": "ves.io.schema.shape_bot_defense_instance.GetSpecType",
        "x-f5xc-description-short": "GET virtual host from a given namespace.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemashape_bot_defense_instanceGetSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "shape_bot_defense_instanceGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read shape_bot_defense_instance",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.shape_bot_defense_instance.GetResponse",
        "properties": {
          "deleted_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "deleted_referred_objects",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Deleted Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "disabled_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "disabled_referred_objects",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Disabled Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "referring_objects": {
            "type": "array",
            "description": "The set of objects that are referring to this object in their spec.",
            "title": "referring_objects",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Referring Objects.",
            "x-f5xc-description-short": "The set of objects that are referring to this object in their spec.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemashape_bot_defense_instanceGetSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for shape_bot_defense_instanceGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "shape_bot_defense_instanceListResponse": {
        "type": "object",
        "description": "This is the output message of 'List' RPC.",
        "title": "ListResponse is the collection of shape_bot_defense_instance",
        "x-displayname": "List Response.",
        "x-ves-proto-message": "ves.io.schema.shape_bot_defense_instance.ListResponse",
        "properties": {
          "errors": {
            "type": "array",
            "description": "Errors(if any) while listing items from collection.",
            "title": "errors",
            "items": {
              "$ref": "#/components/schemas/schemaErrorType__ves_io_schema_ai_assistant"
            },
            "x-displayname": "Errors",
            "x-f5xc-description-short": "Errors(if any) while listing items from collection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "items": {
            "type": "array",
            "description": "Items represents the collection in response.",
            "title": "items",
            "items": {
              "$ref": "#/components/schemas/shape_bot_defense_instanceListResponseItem"
            },
            "x-displayname": "Items",
            "x-f5xc-example": "[\"item1\", \"item2\", \"item3\"]",
            "x-f5xc-description-short": "Items represents the collection in response.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "general",
              "minItems": 0,
              "maxItems": 256,
              "uniqueItems": false,
              "metadata": {
                "source": "inferred",
                "confidence": 0.7,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for shape_bot_defense_instanceListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "shape_bot_defense_instanceListResponseItem": {
        "type": "object",
        "description": "By default a summary of shape_bot_defense_instance is returned in 'List'. By setting\n'report_fields' in the ListRequest more details of each item can be got.",
        "title": "ListResponseItem is an individual item in a collection of shape_bot_defense_instance",
        "x-displayname": "List Item",
        "x-ves-proto-message": "ves.io.schema.shape_bot_defense_instance.ListResponseItem",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "The set of annotations present on this shape_bot_defense_instance.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of annotations present on this shape_bot_defense_instance.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "The description set for this shape_bot_defense_instance.",
            "title": "description",
            "x-displayname": "Description.",
            "x-f5xc-description-short": "The description set for this shape_bot_defense_instance.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.8,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "disabled": {
            "type": "boolean",
            "description": "A value of true indicates shape_bot_defense_instance is administratively disabled.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Value of true indicates shape_bot_defense_instance is administratively disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "get_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemashape_bot_defense_instanceGetSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "The set of labels present on this shape_bot_defense_instance.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of labels present on this shape_bot_defense_instance.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "The name of this shape_bot_defense_instance.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Name",
            "x-f5xc-example": "name",
            "x-f5xc-description-short": "The name of this shape_bot_defense_instance.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "The namespace this item belongs to.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "owner_view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaViewRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": null,
                "field_path": "owner_view",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tenant": {
            "type": "string",
            "description": "The tenant this item belongs to.",
            "title": "tenant",
            "x-displayname": "Tenant",
            "x-ves-example": "Example-corp.",
            "x-f5xc-example": "example-corp",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "uid": {
            "type": "string",
            "description": "The unique uid of this shape_bot_defense_instance.",
            "title": "uid",
            "x-displayname": "UID",
            "x-ves-example": "00000000-0000-4000-8000-d36e055b3ea2.",
            "x-f5xc-example": "00000000-0000-4000-8000-d36e055b3ea2",
            "x-f5xc-description-short": "The unique uid of this shape_bot_defense_instance.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "By default a summary of shape_bot_defense_instance is returned in 'List'.",
        "x-f5xc-description-medium": "By default a summary of shape_bot_defense_instance is returned in 'List'. By setting 'report_fields' in the ListRequest more details of each item can be got.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for shape_bot_defense_instanceListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaConditionType": {
        "type": "object",
        "description": "Conditions are used in the object status to describe the current state of the\nobject, e.g. Ready, Succeeded, etc.",
        "title": "ConditionType",
        "x-displayname": "Status Condition.",
        "x-ves-proto-message": "ves.io.schema.ConditionType",
        "properties": {
          "hostname": {
            "type": "string",
            "description": "Hostname of the instance of the site that sent the status.",
            "title": "hostname",
            "x-displayname": "Hostname",
            "x-f5xc-example": "example-resource",
            "x-f5xc-description-short": "Hostname of the instance of the site that sent the status.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "network",
              "maxLength": 1024,
              "minLength": 1,
              "pattern": "^([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$",
              "format": "fqdn",
              "validation": {
                "rfc": "RFC 1123"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.95,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "pattern": "^([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$",
            "minLength": 1
          },
          "last_update_time": {
            "type": "string",
            "description": "Last time the condition was updated.",
            "title": "last_update_time",
            "format": "date-time",
            "x-displayname": "Last Updated.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "reason": {
            "type": "string",
            "description": "A human readable string explaining the reason for reaching this condition.",
            "title": "reason",
            "x-displayname": "Reason",
            "x-ves-example": "Insufficient memory in data plane.",
            "x-f5xc-example": "Insufficient memory in data plane",
            "x-f5xc-description-short": "Human readable string explaining the reason for reaching this condition.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 27,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "service_name": {
            "type": "string",
            "description": "Name of the service that sent the status.",
            "title": "service name",
            "x-displayname": "Service Name.",
            "x-f5xc-example": "example-resource",
            "x-f5xc-description-short": "Name of the service that sent the status.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "status": {
            "type": "string",
            "description": "Status of the condition\n\"Success\" Validation has succeeded. Requested operation was successful.\n\"Failed\" Validation has failed.\n\"Incomplete\" Validation of configuration has failed due to missing configuration.\n\"Installed\" Validation has passed and configuration has been installed in data path or K8s\n\"Down\" Configuration is operationally down. E.g. Down interface\n\"Disabled\" Configuration is administratively disabled i.e. objectmetatype.disable = true.\n\"NotApplicable\" Configuration is not applicable e.g. Tenant service_policy_set(s) in system namespace are not applicable on REs.",
            "title": "status",
            "x-displayname": "Status",
            "x-ves-example": "Failed",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.in": "[\\\"Success\\\",\\\"Failed\\\",\\\"Incomplete\\\",\\\"Installed\\\",\\\"Down\\\",\\\"Disabled\\\",\\\"NotApplicable\\\"]"
            },
            "x-f5xc-example": "Failed",
            "x-validation-rules": {
              "ves.io.schema.rules.string.in": "[\\\"Success\\\",\\\"Failed\\\",\\\"Incomplete\\\",\\\"Installed\\\",\\\"Down\\\",\\\"Disabled\\\",\\\"NotApplicable\\\"]"
            },
            "x-f5xc-description-short": "Status of the condition \"Success\" Validation has succeeded.",
            "x-f5xc-description-medium": "Status of the condition \"Success\" Validation has succeeded. Requested operation was successful. \"Failed\" Validation has failed. \"Incomplete\" Validation of configuration has failed due to missing configuration. \"Installed\" Validation has passed and configuration has been installed in data path or...",
            "maxLength": 1024,
            "enum": [
              "Success",
              "Failed",
              "Incomplete",
              "Installed",
              "Down",
              "Disabled",
              "NotApplicable"
            ],
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 17,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "type": {
            "type": "string",
            "description": "Type of the condition\n\"Validation\" represents validation user given configuration object\n\"Operational\" represents operational status of a given configuration object.",
            "title": "type",
            "x-displayname": "Type",
            "x-ves-example": "Operational.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.in": "[\\\"Validation\\\",\\\"Operational\\\"]"
            },
            "x-f5xc-example": "Operational",
            "x-validation-rules": {
              "ves.io.schema.rules.string.in": "[\\\"Validation\\\",\\\"Operational\\\"]"
            },
            "x-f5xc-description-short": "Type of the condition \"Validation\" represents validation user given configuration object \"Operational\" represents operational status of a given...",
            "x-f5xc-description-medium": "Type of the condition \"Validation\" represents validation user given configuration object \"Operational\" represents operational status of a given configuration object.",
            "maxLength": 1024,
            "enum": [
              "Validation",
              "Operational"
            ],
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Conditions are used in the object status to describe the current state of the object, e.g.",
        "x-f5xc-description-medium": "Conditions are used in the object status to describe the current state of the object, e.g. Ready, Succeeded, etc.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaConditionType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "schemaObjectRefType": {
        "type": "object",
        "description": "This type establishes a 'direct reference' from one object(the referrer) to another(the referred).\nSuch a reference is in form of tenant/namespace/name for public API and Uid for private API\nThis type of reference is called direct because the relation is explicit and concrete (as opposed\nto selector reference which builds a group based on labels of selectee objects)",
        "title": "ObjectRefType",
        "x-displayname": "Object reference.",
        "x-ves-proto-message": "ves.io.schema.ObjectRefType",
        "properties": {
          "kind": {
            "type": "string",
            "description": "When a configuration object(e.g. Virtual_host) refers to another(e.g route)\nthen kind will hold the referred object's kind (e.g. \"route\")",
            "title": "kind",
            "x-displayname": "Kind",
            "x-ves-example": "Virtual_site.",
            "x-f5xc-example": "virtual_site",
            "x-f5xc-description-short": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then kind will hold the referred object's kind (e.g. \"route\")",
            "x-f5xc-description-medium": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then kind will hold the referred object's kind (e.g. \"route\").",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "readOnly": true,
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "name": {
            "type": "string",
            "description": "When a configuration object(e.g. Virtual_host) refers to another(e.g route)\nthen name will hold the referred object's(e.g. Route's) name.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Contactus-route.",
            "x-f5xc-example": "contactus-route",
            "x-f5xc-description-short": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object's(e.g.",
            "x-f5xc-description-medium": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object's(e.g. Route's) name.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 6,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "namespace": {
            "type": "string",
            "description": "When a configuration object(e.g. Virtual_host) refers to another(e.g route)\nthen namespace will hold the referred object's(e.g. Route's) namespace.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "x-f5xc-description-short": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object's(e.g.",
            "x-f5xc-description-medium": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object's(e.g. Route's) namespace.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "tenant": {
            "type": "string",
            "description": "When a configuration object(e.g. Virtual_host) refers to another(e.g route)\nthen tenant will hold the referred object's(e.g. Route's) tenant.",
            "title": "tenant",
            "x-displayname": "Tenant",
            "x-ves-example": "Example-corp.",
            "x-f5xc-example": "example-corp",
            "x-f5xc-description-short": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object's(e.g.",
            "x-f5xc-description-medium": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object's(e.g. Route's) tenant.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "readOnly": true,
            "x-field-mutability": "read-only",
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "uid": {
            "type": "string",
            "description": "When a configuration object(e.g. Virtual_host) refers to another(e.g route)\nthen uid will hold the referred object's(e.g. Route's) uid.",
            "title": "uid",
            "x-displayname": "UID",
            "x-ves-example": "00000000-0000-4000-8000-0df41b679859.",
            "x-f5xc-example": "00000000-0000-4000-8000-0df41b679859",
            "x-f5xc-description-short": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then uid will hold the referred object's(e.g.",
            "x-f5xc-description-medium": "When a configuration object(e.g. Virtual_host) refers to another(e.g route) then uid will hold the referred object's(e.g. Route's) uid.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "readOnly": true,
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "Type establishes a 'direct reference' from one object(the referrer) to another(the referred).",
        "x-f5xc-description-medium": "Type establishes a 'direct reference' from one object(the referrer) to another(the referred). Such a reference is in form of tenant/namespace/name for public API and Uid for private API This type of reference is called direct because the relation is explicit and concrete (as opposed to selector...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaObjectRefType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "schemaStatusMetaType": {
        "type": "object",
        "description": "StatusMetaType is metadata that all status must have.",
        "title": "StatusMetaType",
        "x-displayname": "Metadata",
        "x-ves-proto-message": "ves.io.schema.StatusMetaType",
        "properties": {
          "creation_timestamp": {
            "type": "string",
            "description": "Creation_timestamp is when the status object was created. It is used to find/tie-break\nfor latest status object from same origin.",
            "title": "creation_timestamp",
            "format": "date-time",
            "x-displayname": "Creation Timestamp.",
            "x-f5xc-description-short": "Creation_timestamp is when the status object was created. It is used to find/tie-break for latest status object from same origin.",
            "x-f5xc-description-medium": "Creation_timestamp is when the status object was created. It is used to find/tie-break for latest status object from same origin.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "creator_class": {
            "type": "string",
            "description": "Class of creator which created this StatusObject. This will be service's DNS FQDN.\nThis will be set by the system based on client certificate information.",
            "title": "creator_class",
            "x-displayname": "Creator Class.",
            "x-ves-example": "ver.re1.int.ves.I/O.",
            "x-f5xc-example": "ver.re1.int.F5 XC",
            "x-f5xc-description-short": "Class of creator which created this StatusObject. This will be service's DNS FQDN.",
            "x-f5xc-description-medium": "Class of creator which created this StatusObject. This will be service's DNS FQDN. This will be set by the system based on client certificate information.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "creator_id": {
            "type": "string",
            "description": "ID of creator which created this StatusObject. This will be a concrete identifier for service (e.g.\nIdentifying the environment also). This will be set by the system based on client certificate\ninformation.",
            "title": "creator_id",
            "x-displayname": "Creator ID.",
            "x-ves-example": "Ver-instance-1.",
            "x-f5xc-example": "ver-instance-1",
            "x-f5xc-description-short": "ID of creator which created this StatusObject. This will be a concrete identifier for service (e.g.",
            "x-f5xc-description-medium": "ID of creator which created this StatusObject. This will be a concrete identifier for service (e.g. Identifying the environment also). This will be set by the system based on client certificate information.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "publish": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaStatusPublishType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "status_id": {
            "type": "string",
            "description": "Status_id is a field used by the generator to distinguish (if necessary) between two status\nobjects for the same config object from the same site and same service and potentially same\ndaemon(creator-ID)",
            "title": "status_id",
            "x-displayname": "Status ID",
            "x-f5xc-description-short": "Status_id is a field used by the generator to distinguish (if necessary) between two status objects for the same config object from the same site...",
            "x-f5xc-description-medium": "Status_id is a field used by the generator to distinguish (if necessary) between two status objects for the same config object from the same site and same service and potentially same daemon(creator-ID).",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "uid": {
            "type": "string",
            "description": "Uid is the unique in time and space value for a StatusObject.",
            "title": "uid",
            "x-displayname": "UID",
            "x-ves-example": "00000000-0000-4000-8000-0df41b679859.",
            "x-f5xc-example": "00000000-0000-4000-8000-0df41b679859",
            "x-f5xc-description-short": "Uid is the unique in time and space value for a StatusObject.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "vtrp_id": {
            "type": "string",
            "description": "Origin of this status exchanged by VTRP.",
            "title": "vtrp_id",
            "x-displayname": "VTRP ID",
            "x-f5xc-description-short": "Origin of this status exchanged by VTRP.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "vtrp_stale": {
            "type": "boolean",
            "description": "Indicate whether mars deems this object to be stale via graceful restart timer information.",
            "title": "vtrp_stale",
            "format": "boolean",
            "x-displayname": "VTRP Stale.",
            "x-f5xc-description-short": "Indicate whether mars deems this object to be stale via graceful restart timer information.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "StatusMetaType is metadata that all status must have.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaStatusMetaType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "schemaStatusPublishType": {
        "type": "string",
        "description": "StatusPublishType is all possible publish operations on a StatusObject\n\n- STATUS_DO_NOT_PUBLISH: Do Not Publish\n\nDo not propagate this status to user. This could be because status is only informational\n- STATUS_PUBLISH: Publish\n\nPropagate this status up to user as it might be actionable.",
        "title": "StatusPublishType",
        "enum": [
          "STATUS_DO_NOT_PUBLISH",
          "STATUS_PUBLISH"
        ],
        "default": "STATUS_DO_NOT_PUBLISH",
        "x-displayname": "Status Publish Type.",
        "x-ves-proto-enum": "ves.io.schema.StatusPublishType",
        "x-f5xc-description-short": "StatusPublishType is all possible publish operations on a StatusObject - STATUS_DO_NOT_PUBLISH: Do Not Publish Do not propagate this status to user.",
        "x-f5xc-description-medium": "StatusPublishType is all possible publish operations on a StatusObject - STATUS_DO_NOT_PUBLISH: Do Not Publish Do not propagate this status to user. This could be because status is only informational - STATUS_PUBLISH: Publish Propagate this status up to user as it might be actionable.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaStatusPublishType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"STATUS_DO_NOT_PUBLISH\"",
          "example_yaml": "STATUS_DO_NOT_PUBLISH\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "tpm_api_keyCreateRequest": {
        "type": "object",
        "description": "This is the input message of the 'Create' RPC.",
        "title": "CreateRequest is used to create an instance of tpm_api_key",
        "x-displayname": "Create Request.",
        "x-ves-proto-message": "ves.io.schema.tpm_api_key.CreateRequest",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectCreateMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/tpm_api_keyCreateSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_api_keyCreateRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_api_keyCreateResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.tpm_api_key.CreateResponse",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/tpm_api_keyGetSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_api_keyCreateResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_api_keyCreateSpecType": {
        "type": "object",
        "description": "APIKey object when successfully created returns actual APIKey bytes which is used by the users to call in to\nTPM provisioning API.",
        "title": "Create APIKey",
        "x-displayname": "Create TPM API Key.",
        "x-ves-proto-message": "ves.io.schema.tpm_api_key.CreateSpecType",
        "properties": {
          "category_ref": {
            "type": "array",
            "description": "APIKey needs a reference to an existing TPM category object\nTPM category is used for grouping customer owned APIKeys and manage them as one entity.",
            "title": "reference to category",
            "minItems": 1,
            "maxItems": 1,
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "TPM Category.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "1",
              "ves.io.schema.rules.repeated.min_items": "1"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "1",
              "ves.io.schema.rules.repeated.min_items": "1"
            },
            "x-f5xc-description-short": "APIKey needs a reference to an existing TPM category object TPM category is used for grouping customer owned APIKeys and manage them as one entity.",
            "x-f5xc-description-medium": "APIKey needs a reference to an existing TPM category object TPM category is used for grouping customer owned APIKeys and manage them as one entity.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 1,
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "need_mtls": {
            "type": "boolean",
            "description": "Is mTLS required when using this APIKey?",
            "title": "need mTLS",
            "format": "boolean",
            "x-displayname": "Need mTLS",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Is mTLS required when using this APIKey?",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "APIKey object when successfully created returns actual APIKey bytes which is used by the users to call in to TPM provisioning API.",
        "x-f5xc-description-medium": "APIKey object when successfully created returns actual APIKey bytes which is used by the users to call in to TPM provisioning API.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_api_keyCreateSpecType",
          "required_fields": [
            "category_ref"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"category_ref\": [\n    {}\n  ]\n}",
          "example_yaml": "category_ref:\n- {}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_api_keyGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read tpm_api_key",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.tpm_api_key.GetResponse",
        "properties": {
          "create_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/tpm_api_keyCreateRequest"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for create form.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "deleted_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "deleted_referred_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Deleted Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "disabled_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "disabled_referred_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Disabled Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "referring_objects": {
            "type": "array",
            "description": "The set of objects that are referring to this object in their spec.",
            "title": "referring_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Referring Objects.",
            "x-f5xc-description-short": "The set of objects that are referring to this object in their spec.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "replace_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/tpm_api_keyReplaceRequest"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for replace form.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/tpm_api_keyGetSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "status": {
            "type": "array",
            "description": "The status reported by different services for this configuration object.",
            "title": "status",
            "items": {
              "$ref": "#/components/schemas/tpm_api_keyStatusObject"
            },
            "x-displayname": "Status",
            "x-f5xc-example": "active",
            "x-f5xc-description-short": "The status reported by different services for this configuration object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 17,
            "minLength": 17,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resource_version": {
            "type": "string",
            "x-f5xc-concurrency-token": {
              "server_assigned": true,
              "echo_on_operations": [
                "replace"
              ]
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_api_keyGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_api_keyGetSpecType": {
        "type": "object",
        "description": "Retrieve an APIKey object.",
        "title": "Get APIKey",
        "x-displayname": "GET TPM API Key.",
        "x-ves-proto-message": "ves.io.schema.tpm_api_key.GetSpecType",
        "properties": {
          "category_ref": {
            "type": "array",
            "description": "APIKey needs a reference to an existing TPM category object\nTPM category is used for grouping customer owned APIKeys and manage them as one entity.",
            "title": "reference to category",
            "minItems": 1,
            "maxItems": 1,
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "TPM Category.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "1",
              "ves.io.schema.rules.repeated.min_items": "1"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "1",
              "ves.io.schema.rules.repeated.min_items": "1"
            },
            "x-f5xc-description-short": "APIKey needs a reference to an existing TPM category object TPM category is used for grouping customer owned APIKeys and manage them as one entity.",
            "x-f5xc-description-medium": "APIKey needs a reference to an existing TPM category object TPM category is used for grouping customer owned APIKeys and manage them as one entity.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 1,
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "is_disabled": {
            "type": "boolean",
            "description": "If true that indicates that this APIKey is disabled.",
            "title": "is disabled",
            "format": "boolean",
            "x-displayname": "Is_disabled.",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "If true that indicates that this APIKey is disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "need_mtls": {
            "type": "boolean",
            "description": "Is mTLS required when using this APIKey?",
            "title": "is mTLS required?",
            "format": "boolean",
            "x-displayname": "Need mTLS",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Is mTLS required when using this APIKey?",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "revoke_reason": {
            "type": "string",
            "description": "If the APIKey is revoked then this value stores date and time after which the revocation is enforced.",
            "title": "revocation reason",
            "x-displayname": "Revoke_reason.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "If the APIKey is revoked then this value stores date and time after which the revocation is enforced.",
            "x-f5xc-description-medium": "If the APIKey is revoked then this value stores date and time after which the revocation is enforced.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "revoked_timestamp": {
            "type": "string",
            "description": "If the APIKey is revoked then this value stores date and time after which the revocation is enforced.",
            "title": "revocation timestamp",
            "format": "date-time",
            "x-displayname": "Revoked_timestamp.",
            "x-f5xc-description-short": "If the APIKey is revoked then this value stores date and time after which the revocation is enforced.",
            "x-f5xc-description-medium": "If the APIKey is revoked then this value stores date and time after which the revocation is enforced.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_api_keyGetSpecType",
          "required_fields": [
            "category_ref"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"category_ref\": [\n    {}\n  ]\n}",
          "example_yaml": "category_ref:\n- {}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_api_keyListResponse": {
        "type": "object",
        "description": "This is the output message of 'List' RPC.",
        "title": "ListResponse is the collection of tpm_api_key",
        "x-displayname": "List Response.",
        "x-ves-proto-message": "ves.io.schema.tpm_api_key.ListResponse",
        "properties": {
          "errors": {
            "type": "array",
            "description": "Errors(if any) while listing items from collection.",
            "title": "errors",
            "items": {
              "$ref": "#/components/schemas/schemaErrorType__ves_io_schema_ai_assistant"
            },
            "x-displayname": "Errors",
            "x-f5xc-description-short": "Errors(if any) while listing items from collection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "items": {
            "type": "array",
            "description": "Items represents the collection in response.",
            "title": "items",
            "items": {
              "$ref": "#/components/schemas/tpm_api_keyListResponseItem"
            },
            "x-displayname": "Items",
            "x-f5xc-example": "[\"item1\", \"item2\", \"item3\"]",
            "x-f5xc-description-short": "Items represents the collection in response.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "general",
              "minItems": 0,
              "maxItems": 256,
              "uniqueItems": false,
              "metadata": {
                "source": "inferred",
                "confidence": 0.7,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_api_keyListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_api_keyListResponseItem": {
        "type": "object",
        "description": "By default a summary of tpm_api_key is returned in 'List'. By setting\n'report_fields' in the ListRequest more details of each item can be got.",
        "title": "ListResponseItem is an individual item in a collection of tpm_api_key",
        "x-displayname": "List Item",
        "x-ves-proto-message": "ves.io.schema.tpm_api_key.ListResponseItem",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "The set of annotations present on this tpm_api_key.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of annotations present on this tpm_api_key.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "The description set for this tpm_api_key.",
            "title": "description",
            "x-displayname": "Description.",
            "x-f5xc-description-short": "The description set for this tpm_api_key.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.8,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "disabled": {
            "type": "boolean",
            "description": "A value of true indicates tpm_api_key is administratively disabled.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Value of true indicates tpm_api_key is administratively disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "get_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/tpm_api_keyGetSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "The set of labels present on this tpm_api_key.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of labels present on this tpm_api_key.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "The name of this tpm_api_key.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Name",
            "x-f5xc-example": "name",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "The namespace this item belongs to.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "owner_view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaViewRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": null,
                "field_path": "owner_view",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "status_set": {
            "type": "array",
            "description": "The status reported by different services for this configuration object.",
            "title": "status",
            "items": {
              "$ref": "#/components/schemas/tpm_api_keyStatusObject"
            },
            "x-displayname": "Status",
            "x-f5xc-description-short": "The status reported by different services for this configuration object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tenant": {
            "type": "string",
            "description": "The tenant this item belongs to.",
            "title": "tenant",
            "x-displayname": "Tenant",
            "x-ves-example": "Example-corp.",
            "x-f5xc-example": "example-corp",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "uid": {
            "type": "string",
            "description": "The unique uid of this tpm_api_key.",
            "title": "uid",
            "x-displayname": "UID",
            "x-ves-example": "00000000-0000-4000-8000-d36e055b3ea2.",
            "x-f5xc-example": "00000000-0000-4000-8000-d36e055b3ea2",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "By default a summary of tpm_api_key is returned in 'List'. By setting 'report_fields' in the ListRequest more details of each item can be got.",
        "x-f5xc-description-medium": "By default a summary of tpm_api_key is returned in 'List'. By setting 'report_fields' in the ListRequest more details of each item can be got.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_api_keyListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_api_keyReplaceRequest": {
        "type": "object",
        "description": "This is the input message of the 'Replace' RPC.",
        "title": "ReplaceRequest is used to replace contents of a tpm_api_key",
        "x-displayname": "Replace Request.",
        "x-ves-proto-message": "ves.io.schema.tpm_api_key.ReplaceRequest",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectReplaceMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/tpm_api_keyReplaceSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resource_version": {
            "type": "string",
            "x-f5xc-concurrency-token": {
              "server_assigned": true,
              "echo_on_operations": [
                "replace"
              ]
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_api_keyReplaceRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_api_keyReplaceResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.tpm_api_key.ReplaceResponse",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_api_keyReplaceResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_api_keyReplaceSpecType": {
        "type": "object",
        "description": "Replace a APIKey object's revocation or enable/disable status. A revoked APIKey is not considered disabled.\nCertificates minted using disabled APIKeys are rejected during system bring-up/verification stage,\nwhereas certificates minted using revoked APIKeys are only rejected if they were minted after revocation date.",
        "title": "Replace APIKey",
        "x-displayname": "Replace TPM API Key.",
        "x-ves-proto-message": "ves.io.schema.tpm_api_key.ReplaceSpecType",
        "properties": {
          "is_disabled": {
            "type": "boolean",
            "description": "If true that indicates that this APIKey is disabled.",
            "title": "is disabled",
            "format": "boolean",
            "x-displayname": "Is_disabled.",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "If true that indicates that this APIKey is disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "revoke_reason": {
            "type": "string",
            "description": "If the APIKey is revoked then this value stores date and time after which the revocation is enforced.",
            "title": "revocation reason",
            "x-displayname": "Revoke_reason.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "If the APIKey is revoked then this value stores date and time after which the revocation is enforced.",
            "x-f5xc-description-medium": "If the APIKey is revoked then this value stores date and time after which the revocation is enforced.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "revoked_timestamp": {
            "type": "string",
            "description": "If the APIKey is revoked then this value stores date and time after which the revocation is enforced.",
            "title": "timestamp when this apikey was revoked",
            "format": "date-time",
            "x-displayname": "Revoked_timestamp.",
            "x-f5xc-description-short": "If the APIKey is revoked then this value stores date and time after which the revocation is enforced.",
            "x-f5xc-description-medium": "If the APIKey is revoked then this value stores date and time after which the revocation is enforced.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Replace a APIKey object's revocation or enable/disable status. A revoked APIKey is not considered disabled.",
        "x-f5xc-description-medium": "Replace a APIKey object's revocation or enable/disable status. A revoked APIKey is not considered disabled. Certificates minted using disabled APIKeys are rejected during system bring-up/verification stage, whereas certificates minted using revoked APIKeys are only rejected if they were minted...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_api_keyReplaceSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_api_keyStatusObject": {
        "type": "object",
        "description": "Most recently observed status of object.",
        "title": "StatusObject",
        "x-displayname": "Status Object.",
        "x-ves-displayorder": "1,2,3",
        "x-ves-proto-message": "ves.io.schema.tpm_api_key.StatusObject",
        "properties": {
          "conditions": {
            "type": "array",
            "description": "Conditions reported by various component of the system.",
            "title": "conditions",
            "items": {
              "$ref": "#/components/schemas/schemaConditionType"
            },
            "x-displayname": "Conditions.",
            "x-f5xc-description-short": "Conditions reported by various component of the system.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaStatusMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "object_refs": {
            "type": "array",
            "description": "Reference to object for current status.",
            "title": "object_refs",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Config Object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Most recently observed status of object.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_api_keyStatusObject",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_categoryCreateRequest": {
        "type": "object",
        "description": "This is the input message of the 'Create' RPC.",
        "title": "CreateRequest is used to create an instance of tpm_category",
        "x-displayname": "Create Request.",
        "x-ves-proto-message": "ves.io.schema.tpm_category.CreateRequest",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectCreateMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/tpm_categoryCreateSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_categoryCreateRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_categoryCreateResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.tpm_category.CreateResponse",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/tpm_categoryGetSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_categoryCreateResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_categoryCreateSpecType": {
        "type": "object",
        "description": "Create a Category object, which is a grouping of APIKeys used for TPM provisioning.",
        "title": "Create APIKey",
        "x-displayname": "Create TPM Category.",
        "x-ves-proto-message": "ves.io.schema.tpm_category.CreateSpecType",
        "properties": {
          "tpm_allow_list": {
            "type": "array",
            "description": "A TPM manufacturer is typically identified by its EK certificate.\nTPMAdmin can configure a allow-list of EK certificates for a given category\nWhen a TPM provision request is called, TPMAuthority verifies that EK certificate provided in provision\nmatches one the EK certificate on this allow-list\n\nAllow list of TPM EK Certificates.",
            "title": "Allow list of TPM EK Certificates",
            "items": {
              "type": "string"
            },
            "x-displayname": "List of allowed TPM EK Certificates.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "TPM manufacturer is typically identified by its EK certificate.",
            "x-f5xc-description-medium": "TPM manufacturer is typically identified by its EK certificate. TPMAdmin can configure a allow-list of EK certificates for a given category When a TPM provision request is called, TPMAuthority verifies that EK certificate provided in provision matches one the EK certificate on this allow-list...",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tpm_manager_ref": {
            "type": "array",
            "description": "Reference to TPM Manager.",
            "title": "TPM Manager CRUD Object",
            "minItems": 1,
            "maxItems": 1,
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "TPM Manager reference.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "1",
              "ves.io.schema.rules.repeated.min_items": "1"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "1",
              "ves.io.schema.rules.repeated.min_items": "1"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 1,
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Create a Category object, which is a grouping of APIKeys used for TPM provisioning.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_categoryCreateSpecType",
          "required_fields": [
            "tpm_manager_ref"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"tpm_manager_ref\": [\n    {}\n  ]\n}",
          "example_yaml": "tpm_manager_ref:\n- {}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_categoryGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read tpm_category",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.tpm_category.GetResponse",
        "properties": {
          "create_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/tpm_categoryCreateRequest"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for create form.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "deleted_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "deleted_referred_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Deleted Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "disabled_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "disabled_referred_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Disabled Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "referring_objects": {
            "type": "array",
            "description": "The set of objects that are referring to this object in their spec.",
            "title": "referring_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Referring Objects.",
            "x-f5xc-description-short": "The set of objects that are referring to this object in their spec.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "replace_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/tpm_categoryReplaceRequest"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for replace form.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/tpm_categoryGetSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "status": {
            "type": "array",
            "description": "The status reported by different services for this configuration object.",
            "title": "status",
            "items": {
              "$ref": "#/components/schemas/tpm_categoryStatusObject"
            },
            "x-displayname": "Status",
            "x-f5xc-example": "active",
            "x-f5xc-description-short": "The status reported by different services for this configuration object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 17,
            "minLength": 17,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resource_version": {
            "type": "string",
            "x-f5xc-concurrency-token": {
              "server_assigned": true,
              "echo_on_operations": [
                "replace"
              ]
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_categoryGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_categoryGetSpecType": {
        "type": "object",
        "description": "Retrieve an APIKey object.",
        "title": "Get APIKey",
        "x-displayname": "GET TPM Category.",
        "x-ves-proto-message": "ves.io.schema.tpm_category.GetSpecType",
        "properties": {
          "ak_sub_ca_certificate": {
            "type": "string",
            "description": "PEM formatted Sub CA certificate which will sign the TPM AK Certificate for this category.",
            "title": "AK Sub CA Certificate",
            "x-displayname": "AK Sub CA Certificate.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "PEM formatted Sub CA certificate which will sign the TPM AK Certificate for this category.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "ak_sub_ca_name": {
            "type": "string",
            "description": "Name of the Sub CA which will sign the TPM AK Certificate for this category.",
            "title": "AK Sub CA Name",
            "x-displayname": "AK_SUB_CA_NAME.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Name of the Sub CA which will sign the TPM AK Certificate for this category.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "client_cert": {
            "type": "string",
            "description": "PEM formatted Client certificate for mTLS.",
            "title": "Client cert",
            "x-displayname": "Client certificate.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "PEM formatted Client certificate for mTLS.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "client_key": {
            "type": "string",
            "description": "Client Key for mTLS to be used with ClientCert.",
            "title": "Client key",
            "x-displayname": "ClientKey",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Client Key for mTLS to be used with ClientCert.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tpm_allow_list": {
            "type": "array",
            "description": "A TPM manufacturer is typically identified by its EK certificate.\nTPMAdmin can configure a allow-list of EK certificates for a given category\nWhen a TPM provision request is called, TPMAuthority verifies that EK certificate provided in provision\nmatches one the EK certificate on this allow-list\n\nAllow list of TPM EK Certificates.",
            "title": "Allowed list of TPM EK Certificates",
            "items": {
              "type": "string"
            },
            "x-displayname": "List of allowed TPM EK Certificates.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "TPM manufacturer is typically identified by its EK certificate.",
            "x-f5xc-description-medium": "TPM manufacturer is typically identified by its EK certificate. TPMAdmin can configure a allow-list of EK certificates for a given category When a TPM provision request is called, TPMAuthority verifies that EK certificate provided in provision matches one the EK certificate on this allow-list...",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tpm_manager_ref": {
            "type": "array",
            "description": "Reference to TPM Manager.",
            "title": "TPM Manager CRUD Object",
            "minItems": 1,
            "maxItems": 1,
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "TPM Manager reference.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "1",
              "ves.io.schema.rules.repeated.min_items": "1"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "1",
              "ves.io.schema.rules.repeated.min_items": "1"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 1,
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_categoryGetSpecType",
          "required_fields": [
            "tpm_manager_ref"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"tpm_manager_ref\": [\n    {}\n  ]\n}",
          "example_yaml": "tpm_manager_ref:\n- {}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_categoryListResponse": {
        "type": "object",
        "description": "This is the output message of 'List' RPC.",
        "title": "ListResponse is the collection of tpm_category",
        "x-displayname": "List Response.",
        "x-ves-proto-message": "ves.io.schema.tpm_category.ListResponse",
        "properties": {
          "errors": {
            "type": "array",
            "description": "Errors(if any) while listing items from collection.",
            "title": "errors",
            "items": {
              "$ref": "#/components/schemas/schemaErrorType__ves_io_schema_ai_assistant"
            },
            "x-displayname": "Errors",
            "x-f5xc-description-short": "Errors(if any) while listing items from collection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "items": {
            "type": "array",
            "description": "Items represents the collection in response.",
            "title": "items",
            "items": {
              "$ref": "#/components/schemas/tpm_categoryListResponseItem"
            },
            "x-displayname": "Items",
            "x-f5xc-example": "[\"item1\", \"item2\", \"item3\"]",
            "x-f5xc-description-short": "Items represents the collection in response.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "general",
              "minItems": 0,
              "maxItems": 256,
              "uniqueItems": false,
              "metadata": {
                "source": "inferred",
                "confidence": 0.7,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_categoryListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_categoryListResponseItem": {
        "type": "object",
        "description": "By default a summary of tpm_category is returned in 'List'. By setting\n'report_fields' in the ListRequest more details of each item can be got.",
        "title": "ListResponseItem is an individual item in a collection of tpm_category",
        "x-displayname": "List Item",
        "x-ves-proto-message": "ves.io.schema.tpm_category.ListResponseItem",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "The set of annotations present on this tpm_category.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of annotations present on this tpm_category.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "The description set for this tpm_category.",
            "title": "description",
            "x-displayname": "Description.",
            "x-f5xc-description-short": "The description set for this tpm_category.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.8,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "disabled": {
            "type": "boolean",
            "description": "A value of true indicates tpm_category is administratively disabled.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Value of true indicates tpm_category is administratively disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "get_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/tpm_categoryGetSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "The set of labels present on this tpm_category.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of labels present on this tpm_category.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "The name of this tpm_category.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Name",
            "x-f5xc-example": "name",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "The namespace this item belongs to.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "owner_view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaViewRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": null,
                "field_path": "owner_view",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "status_set": {
            "type": "array",
            "description": "The status reported by different services for this configuration object.",
            "title": "status",
            "items": {
              "$ref": "#/components/schemas/tpm_categoryStatusObject"
            },
            "x-displayname": "Status",
            "x-f5xc-description-short": "The status reported by different services for this configuration object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tenant": {
            "type": "string",
            "description": "The tenant this item belongs to.",
            "title": "tenant",
            "x-displayname": "Tenant",
            "x-ves-example": "Example-corp.",
            "x-f5xc-example": "example-corp",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "uid": {
            "type": "string",
            "description": "The unique uid of this tpm_category.",
            "title": "uid",
            "x-displayname": "UID",
            "x-ves-example": "00000000-0000-4000-8000-d36e055b3ea2.",
            "x-f5xc-example": "00000000-0000-4000-8000-d36e055b3ea2",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "By default a summary of tpm_category is returned in 'List'. By setting 'report_fields' in the ListRequest more details of each item can be got.",
        "x-f5xc-description-medium": "By default a summary of tpm_category is returned in 'List'. By setting 'report_fields' in the ListRequest more details of each item can be got.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_categoryListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_categoryReplaceRequest": {
        "type": "object",
        "description": "This is the input message of the 'Replace' RPC.",
        "title": "ReplaceRequest is used to replace contents of a tpm_category",
        "x-displayname": "Replace Request.",
        "x-ves-proto-message": "ves.io.schema.tpm_category.ReplaceRequest",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectReplaceMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/tpm_categoryReplaceSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resource_version": {
            "type": "string",
            "x-f5xc-concurrency-token": {
              "server_assigned": true,
              "echo_on_operations": [
                "replace"
              ]
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_categoryReplaceRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_categoryReplaceResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.tpm_category.ReplaceResponse",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_categoryReplaceResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_categoryReplaceSpecType": {
        "type": "object",
        "description": "Replace a Category object's Allow list of TPM EK Certificates.",
        "title": "Replace Category",
        "x-displayname": "Replace TPM Category.",
        "x-ves-proto-message": "ves.io.schema.tpm_category.ReplaceSpecType",
        "properties": {
          "tpm_allow_list": {
            "type": "array",
            "description": "A TPM manufacturer is typically identified by its EK certificate.\nTPMAdmin can configure a allow-list of EK certificates for a given category\nWhen a TPM provision request is called, TPMAuthority verifies that EK certificate provided in provision\nmatches one the EK certificate on this allow-list\n\nAllow list of TPM EK Certificates.",
            "title": "Allowed list of TPM EK Certificates",
            "items": {
              "type": "string"
            },
            "x-displayname": "List of allowed TPM EK Certificates.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "TPM manufacturer is typically identified by its EK certificate.",
            "x-f5xc-description-medium": "TPM manufacturer is typically identified by its EK certificate. TPMAdmin can configure a allow-list of EK certificates for a given category When a TPM provision request is called, TPMAuthority verifies that EK certificate provided in provision matches one the EK certificate on this allow-list...",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Replace a Category object's Allow list of TPM EK Certificates.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_categoryReplaceSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_categoryStatusObject": {
        "type": "object",
        "description": "Most recently observed status of object.",
        "title": "StatusObject",
        "x-displayname": "Status Object.",
        "x-ves-displayorder": "1,2,3",
        "x-ves-proto-message": "ves.io.schema.tpm_category.StatusObject",
        "properties": {
          "conditions": {
            "type": "array",
            "description": "Conditions reported by various component of the system.",
            "title": "conditions",
            "items": {
              "$ref": "#/components/schemas/schemaConditionType"
            },
            "x-displayname": "Conditions.",
            "x-f5xc-description-short": "Conditions reported by various component of the system.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaStatusMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "object_refs": {
            "type": "array",
            "description": "Reference to object for current status.",
            "title": "object_refs",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Config Object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Most recently observed status of object.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_categoryStatusObject",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_managerCreateRequest": {
        "type": "object",
        "description": "This is the input message of the 'Create' RPC.",
        "title": "CreateRequest is used to create an instance of tpm_manager",
        "x-displayname": "Create Request.",
        "x-ves-proto-message": "ves.io.schema.tpm_manager.CreateRequest",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectCreateMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/tpm_managerCreateSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_managerCreateRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_managerCreateResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.tpm_manager.CreateResponse",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/tpm_managerGetSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_managerCreateResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_managerCreateSpecType": {
        "type": "object",
        "description": "Create a TPM Manager object.",
        "title": "Create TPM Manager",
        "x-displayname": "Create TPM Manager.",
        "x-ves-proto-message": "ves.io.schema.tpm_manager.CreateSpecType",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_managerCreateSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_managerGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read tpm_manager",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.tpm_manager.GetResponse",
        "properties": {
          "create_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/tpm_managerCreateRequest"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for create form.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "deleted_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "deleted_referred_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Deleted Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "disabled_referred_objects": {
            "type": "array",
            "description": "The set of deleted objects that are referred by this object.",
            "title": "disabled_referred_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Disabled Referred Objects.",
            "x-f5xc-description-short": "The set of deleted objects that are referred by this object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "referring_objects": {
            "type": "array",
            "description": "The set of objects that are referring to this object in their spec.",
            "title": "referring_objects",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Referring Objects.",
            "x-f5xc-description-short": "The set of objects that are referring to this object in their spec.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/tpm_managerGetSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "status": {
            "type": "array",
            "description": "The status reported by different services for this configuration object.",
            "title": "status",
            "items": {
              "$ref": "#/components/schemas/tpm_managerStatusObject"
            },
            "x-displayname": "Status",
            "x-f5xc-example": "active",
            "x-f5xc-description-short": "The status reported by different services for this configuration object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 17,
            "minLength": 17,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_managerGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_managerGetSpecType": {
        "type": "object",
        "description": "Retrieve a TPM Manager object.",
        "title": "Get TPM Manager",
        "x-displayname": "GET TPM Manager.",
        "x-ves-proto-message": "ves.io.schema.tpm_manager.GetSpecType",
        "properties": {
          "ak_root_ca_certificate": {
            "type": "string",
            "description": "PEM formatted AK Root CA Certificate.",
            "title": "AK Root CA Certificate",
            "x-displayname": "AK Root CA Certificate.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "ak_root_ca_name": {
            "type": "string",
            "description": "Name of the Root CA under which there will a SubCA per category, the SubCA then will\nbe used to mint the TPM AK Certificate\nAK ROOT CA\n|\nAK SUB CA (this is per tpm category)\n|\nTPM AK Certificate.",
            "title": "AK(Attestation Key)  Root CA Name",
            "x-displayname": "AK(Attestation Key) Root CA Name.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Name of the Root CA under which there will a SubCA per category, the SubCA then will be used to mint the TPM AK Certificate AK ROOT CA | AK SUB CA...",
            "x-f5xc-description-medium": "Name of the Root CA under which there will a SubCA per category, the SubCA then will be used to mint the TPM AK Certificate AK ROOT CA | AK SUB CA (this is per tpm category) | TPM AK Certificate.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_managerGetSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_managerListResponse": {
        "type": "object",
        "description": "This is the output message of 'List' RPC.",
        "title": "ListResponse is the collection of tpm_manager",
        "x-displayname": "List Response.",
        "x-ves-proto-message": "ves.io.schema.tpm_manager.ListResponse",
        "properties": {
          "errors": {
            "type": "array",
            "description": "Errors(if any) while listing items from collection.",
            "title": "errors",
            "items": {
              "$ref": "#/components/schemas/schemaErrorType__ves_io_schema_ai_assistant"
            },
            "x-displayname": "Errors",
            "x-f5xc-description-short": "Errors(if any) while listing items from collection.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "items": {
            "type": "array",
            "description": "Items represents the collection in response.",
            "title": "items",
            "items": {
              "$ref": "#/components/schemas/tpm_managerListResponseItem"
            },
            "x-displayname": "Items",
            "x-f5xc-example": "[\"item1\", \"item2\", \"item3\"]",
            "x-f5xc-description-short": "Items represents the collection in response.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "general",
              "minItems": 0,
              "maxItems": 256,
              "uniqueItems": false,
              "metadata": {
                "source": "inferred",
                "confidence": 0.7,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_managerListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_managerListResponseItem": {
        "type": "object",
        "description": "By default a summary of tpm_manager is returned in 'List'. By setting\n'report_fields' in the ListRequest more details of each item can be got.",
        "title": "ListResponseItem is an individual item in a collection of tpm_manager",
        "x-displayname": "List Item",
        "x-ves-proto-message": "ves.io.schema.tpm_manager.ListResponseItem",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "The set of annotations present on this tpm_manager.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of annotations present on this tpm_manager.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "The description set for this tpm_manager.",
            "title": "description",
            "x-displayname": "Description.",
            "x-f5xc-description-short": "The description set for this tpm_manager.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.8,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "disabled": {
            "type": "boolean",
            "description": "A value of true indicates tpm_manager is administratively disabled.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Value of true indicates tpm_manager is administratively disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "get_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/tpm_managerGetSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "The set of labels present on this tpm_manager.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of labels present on this tpm_manager.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "The name of this tpm_manager.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Name",
            "x-f5xc-example": "name",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "The namespace this item belongs to.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-f5xc-example": "ns1",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "owner_view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaViewRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": null,
                "field_path": "owner_view",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "status_set": {
            "type": "array",
            "description": "The status reported by different services for this configuration object.",
            "title": "status",
            "items": {
              "$ref": "#/components/schemas/tpm_managerStatusObject"
            },
            "x-displayname": "Status",
            "x-f5xc-description-short": "The status reported by different services for this configuration object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tenant": {
            "type": "string",
            "description": "The tenant this item belongs to.",
            "title": "tenant",
            "x-displayname": "Tenant",
            "x-ves-example": "Example-corp.",
            "x-f5xc-example": "example-corp",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "uid": {
            "type": "string",
            "description": "The unique uid of this tpm_manager.",
            "title": "uid",
            "x-displayname": "UID",
            "x-ves-example": "00000000-0000-4000-8000-d36e055b3ea2.",
            "x-f5xc-example": "00000000-0000-4000-8000-d36e055b3ea2",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "By default a summary of tpm_manager is returned in 'List'. By setting 'report_fields' in the ListRequest more details of each item can be got.",
        "x-f5xc-description-medium": "By default a summary of tpm_manager is returned in 'List'. By setting 'report_fields' in the ListRequest more details of each item can be got.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_managerListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_managerStatusObject": {
        "type": "object",
        "description": "Most recently observed status of object.",
        "title": "StatusObject",
        "x-displayname": "Status Object.",
        "x-ves-displayorder": "1,2,3",
        "x-ves-proto-message": "ves.io.schema.tpm_manager.StatusObject",
        "properties": {
          "conditions": {
            "type": "array",
            "description": "Conditions reported by various component of the system.",
            "title": "conditions",
            "items": {
              "$ref": "#/components/schemas/schemaConditionType"
            },
            "x-displayname": "Conditions.",
            "x-f5xc-description-short": "Conditions reported by various component of the system.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaStatusMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "object_refs": {
            "type": "array",
            "description": "Reference to object for current status.",
            "title": "object_refs",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Config Object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Most recently observed status of object.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_managerStatusObject",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tpm_provisionDeviceInfo": {
        "type": "object",
        "description": "DeviceInfo defines device parameters like Serial-Number to include\nin the TPM provisioning data.",
        "title": "TPM Device Info",
        "x-displayname": "Device Info.",
        "x-ves-proto-message": "ves.io.schema.tpm_provision.DeviceInfo",
        "properties": {
          "name": {
            "type": "string",
            "description": "Device Name.",
            "title": "Device Name",
            "x-displayname": "Device Name.",
            "x-ves-example": "Value",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "serial": {
            "type": "string",
            "description": "Serial Number.",
            "title": "Serial Number of the device",
            "x-displayname": "Serial Number.",
            "x-ves-example": "Value",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "vendor": {
            "type": "string",
            "description": "Device Vendor.",
            "title": "Device Vendor",
            "x-displayname": "Device Vendor.",
            "x-ves-example": "Value",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "version": {
            "type": "string",
            "description": "Device Version.",
            "title": "Device Version",
            "x-displayname": "Device Version.",
            "x-ves-example": "Value",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "DeviceInfo defines device parameters like Serial-Number to include in the TPM provisioning data.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_provisionDeviceInfo",
          "required_fields": [
            "name",
            "serial",
            "vendor",
            "version"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"value\",\n  \"serial\": \"value\",\n  \"vendor\": \"value\",\n  \"version\": \"value\"\n}",
          "example_yaml": "name: value\nserial: value\nvendor: value\nversion: value"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "tpm_provisionPreauthRequest": {
        "type": "object",
        "description": "PreauthRequest defines parameters required for pre-flight auth checks\nbefore using the TPM Provisioning API key.",
        "title": "Preauth TPM Provisioning Request",
        "x-displayname": "Preauthorization Request for TPM Provisioning.",
        "x-ves-proto-message": "ves.io.schema.tpm_provision.PreauthRequest",
        "properties": {
          "api_key": {
            "type": "string",
            "description": "API Key allocated to TPM Provisioning (manufacturing) user.",
            "title": "TPM Provisioning Client API Key",
            "x-displayname": "TPM Provisioning Client API Key.",
            "x-ves-example": "Value",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "example",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "API Key allocated to TPM Provisioning (manufacturing) user.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "security",
              "maxLength": 1024,
              "minLength": 20,
              "characterSet": {
                "allowed": "[a-zA-Z0-9_-]",
                "description": "Alphanumeric with underscores and hyphens"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "device": {
            "allOf": [
              {
                "$ref": "#/components/schemas/tpm_provisionDeviceInfo"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "PreauthRequest defines parameters required for pre-flight auth checks before using the TPM Provisioning API key.",
        "x-f5xc-description-medium": "PreauthRequest defines parameters required for pre-flight auth checks before using the TPM Provisioning API key.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_provisionPreauthRequest",
          "required_fields": [
            "api_key"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"api_key\": \"example\"\n}",
          "example_yaml": "api_key: example"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "tpm_provisionPreauthResponse": {
        "type": "object",
        "description": "PreauthResponse defines the preauthorization response.",
        "title": "Preauth TPM Provisioning Response",
        "x-displayname": "Preauthorization Response for TPM Provisioning.",
        "x-ves-proto-message": "ves.io.schema.tpm_provision.PreauthResponse",
        "properties": {
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/tpm_provisionPreauthResponseStatus"
              }
            ],
            "x-f5xc-example": "active",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 17,
            "minLength": 17,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "PreauthResponse defines the preauthorization response.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_provisionPreauthResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "tpm_provisionPreauthResponseStatus": {
        "type": "string",
        "description": "This is the status code OPTIONS for Preauthorization Response\n\n- PREAUTH_RSP_SUCCESS: Preauth status - success, both api_key and device_info are valid\n- PREAUTH_RSP_INVALID_API_KEY: Preauth status - api_key is invalid\n- PREAUTH_RSP_INVALID_DEVICE_INFO: Preauth status - device info is invalid.",
        "title": "PreauthReponseStatus is the code used in PreauthResponse status",
        "enum": [
          "PREAUTH_RSP_SUCCESS",
          "PREAUTH_RSP_INVALID_API_KEY",
          "PREAUTH_RSP_INVALID_DEVICE_INFO"
        ],
        "default": "PREAUTH_RSP_SUCCESS",
        "x-displayname": "Preauth Response Status.",
        "x-ves-proto-enum": "ves.io.schema.tpm_provision.PreauthResponseStatus",
        "x-f5xc-description-short": "Status code OPTIONS for Preauthorization Response - PREAUTH_RSP_SUCCESS: Preauth status - success, both api_key and device_info are valid ...",
        "x-f5xc-description-medium": "Status code OPTIONS for Preauthorization Response - PREAUTH_RSP_SUCCESS: Preauth status - success, both api_key and device_info are valid - PREAUTH_RSP_INVALID_API_KEY: Preauth status - api_key is invalid - PREAUTH_RSP_INVALID_DEVICE_INFO: Preauth status - device info is invalid.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_provisionPreauthResponseStatus",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"PREAUTH_RSP_SUCCESS\"",
          "example_yaml": "PREAUTH_RSP_SUCCESS\n..."
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "tpm_provisionProvisionRequest": {
        "type": "object",
        "description": "ProvisionReq defines parameters required for TPM Provisioning Request API.",
        "title": "TPM Provisioning Request",
        "x-displayname": "Provisioning Request.",
        "x-ves-proto-message": "ves.io.schema.tpm_provision.ProvisionRequest",
        "properties": {
          "ak_pub_key": {
            "type": "string",
            "description": "TPM AK Public Key in DER format.",
            "title": "TPM Provisioning AK Public Key",
            "x-displayname": "TPM Attestation Key (AK) Public Key.",
            "x-ves-example": "Value",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "api_key": {
            "type": "string",
            "description": "API Key allocated to TPM Provisioning (manufacturing) user.",
            "title": "TPM Provisioning Client API Key",
            "x-displayname": "TPM Provisioning Client API Key.",
            "x-ves-example": "Value",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "example",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "API Key allocated to TPM Provisioning (manufacturing) user.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "security",
              "maxLength": 1024,
              "minLength": 20,
              "characterSet": {
                "allowed": "[a-zA-Z0-9_-]",
                "description": "Alphanumeric with underscores and hyphens"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "csr": {
            "type": "string",
            "description": "Signing request from the manufacturing plant for device TPM provisioning.",
            "title": "TPM Provisioning Certificate Signing Request",
            "x-displayname": "TPM Provisioning Certificate Signing Request.",
            "x-ves-example": "Value",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Signing request from the manufacturing plant for device TPM provisioning.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "device": {
            "allOf": [
              {
                "$ref": "#/components/schemas/tpm_provisionDeviceInfo"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "ek_cert": {
            "type": "string",
            "description": "TPM EK Certificate in DER format.",
            "title": "TPM Provisioning Endorsement Key (EK) Certificate",
            "x-displayname": "TPM Endorsement Key (EK) Certificate.",
            "x-ves-example": "Value",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "ek_pub_key": {
            "type": "string",
            "description": "TPM EK Public Key in DER format.",
            "title": "TPM Provisioning Endorsement Key (EK) Public Key",
            "x-displayname": "TPM Endorsement Key (EK) Public Key.",
            "x-ves-example": "Value",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "ProvisionReq defines parameters required for TPM Provisioning Request API.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_provisionProvisionRequest",
          "required_fields": [
            "ak_pub_key",
            "api_key",
            "csr",
            "ek_cert",
            "ek_pub_key"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"ak_pub_key\": \"value\",\n  \"api_key\": \"example\",\n  \"csr\": \"value\",\n  \"ek_cert\": \"value\",\n  \"ek_pub_key\": \"value\"\n}",
          "example_yaml": "ak_pub_key: value\napi_key: example\ncsr: value\nek_cert: value\nek_pub_key: value"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "tpm_provisionProvisionResponse": {
        "type": "object",
        "title": "TPM Provisioning Response",
        "x-displayname": "Provisioning Response.",
        "x-ves-proto-message": "ves.io.schema.tpm_provision.ProvisionResponse",
        "properties": {
          "credential_bundle": {
            "type": "string",
            "description": "TPM Credential bundle used to decrypt the encrypted AK certificate.",
            "title": "TPM Credential Bundle",
            "x-displayname": "TPM Credential Bundle.",
            "x-ves-example": "Value",
            "x-f5xc-example": "example",
            "x-f5xc-description-short": "TPM Credential bundle used to decrypt the encrypted AK certificate.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "encrypted_ak_cert": {
            "type": "string",
            "description": "AK Certificate signed by the TPM CA and encrypted according to TPM 2.0 spec.",
            "title": "Encrypted TPM AK Certificate",
            "x-displayname": "TPM AK Certificate.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "AK Certificate signed by the TPM CA and encrypted according to TPM 2.0 spec.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "nonce": {
            "type": "string",
            "description": "Nonce used to encrypt the AK certificate.",
            "title": "TPM Encryption Nonce",
            "x-displayname": "TPM Encryption Nonce.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Nonce used to encrypt the AK certificate.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tpm_provisionProvisionResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "bot_and_threat_defense",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Bot defense infrastructure should be centralized"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      }
    },
    "responses": {},
    "parameters": {},
    "requestBodies": {}
  }
}
