{
  "openapi": "3.0.3",
  "info": {
    "title": "Api",
    "description": "Structured classification systems with versioning support for contract evolution. Hierarchical groupings segment resources by operational role or security boundaries. Behavioral verification confirms authentication flows and permission constraints. Token and key safeguards protect sensitive credentials. Traffic inspection through connected load balancers and firewalls enables threat detection at network perimeters.",
    "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": "Structured classification systems with versioning support for contract evolution. Hierarchical groupings segment resources by operational role or security boundaries. Behavioral verification confirms authentication flows and permission constraints. Token and key safeguards protect sensitive credentials. Traffic inspection through connected load balancers and firewalls enables threat detection at network perimeters.",
    "x-f5xc-summary": "Resource cataloging with automatic classification and security profiling. Organizational hierarchies segment access by function or protection policy.",
    "x-f5xc-cli-domain": "api",
    "externalDocs": {
      "url": "https://docs.cloud.f5.com/docs/how-to/app-security/api-discovery-and-protection",
      "description": "F5 XC Documentation - API Security"
    },
    "x-f5xc-api-reference-url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/",
    "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": [
          "system"
        ],
        "enforced": false
      },
      "recommendation": {
        "primary": "custom",
        "alternatives": [],
        "rationale": "Standard tenant resource"
      },
      "classification": {
        "category": "security",
        "multi_tenant_pattern": "none"
      }
    }
  },
  "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": "ml"
    },
    {
      "name": "web"
    }
  ],
  "paths": {
    "/api/config/namespaces/{metadata.namespace}/api_crawlers": {
      "post": {
        "summary": "Create API Crawler.",
        "operationId": "ves.io.schema.api_sec.api_crawler.API.Create",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_crawlerCreateResponse"
                }
              }
            }
          },
          "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/api_crawlerCreateRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_sec.api_crawler.API.Create",
        "tags": [
          "config"
        ],
        "description": "Create api_crawlers.",
        "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": [
              "Api-crawler resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "api-crawler"
            ]
          },
          "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": [
            "api-crawler"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API Crawler.",
      "x-ves-proto-service": "ves.io.schema.api_sec.api_crawler.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{metadata.namespace}/api_crawlers/{metadata.name}": {
      "put": {
        "summary": "Replace API crawler.",
        "operationId": "ves.io.schema.api_sec.api_crawler.API.Replace",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_crawlerReplaceResponse"
                }
              }
            }
          },
          "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/api_crawlerReplaceRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_sec.api_crawler.API.Replace",
        "tags": [
          "config"
        ],
        "description": "Replace api_crawlers.",
        "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": [
              "api-crawler"
            ]
          },
          "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": [
            "api-crawler"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 800,
          "p95_ms": 2500,
          "p99_ms": 6000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API Crawler.",
      "x-ves-proto-service": "ves.io.schema.api_sec.api_crawler.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/api_crawlers": {
      "get": {
        "summary": "List API Crawler.",
        "description": "List the set of api_crawler in a namespace.",
        "operationId": "ves.io.schema.api_sec.api_crawler.API.List",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_crawlerListResponse"
                }
              }
            }
          },
          "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 api_crawler.",
            "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/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_sec.api_crawler.API.List",
        "tags": [
          "config"
        ],
        "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-discovered-response-time-ms": 159.81,
        "x-discovered-sample-size": 1,
        "x-f5xc-discovered-response-time": {
          "p50_ms": 159.81,
          "p95_ms": 319.62,
          "p99_ms": 479.43,
          "sample_count": 1,
          "source": "discovery",
          "last_measured": "2025-12-20T19:39:20.211392+00:00"
        }
      },
      "x-displayname": "API Crawler.",
      "x-ves-proto-service": "ves.io.schema.api_sec.api_crawler.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/api_crawlers/{name}": {
      "get": {
        "summary": "GET API crawler.",
        "operationId": "ves.io.schema.api_sec.api_crawler.API.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_crawlerGetResponse"
                }
              }
            }
          },
          "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/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_sec.api_crawler.API.Get",
        "tags": [
          "config"
        ],
        "description": "GET api_crawlers.",
        "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"
        }
      },
      "delete": {
        "summary": "DELETE API Crawler.",
        "description": "DELETE the specified api_crawler.",
        "operationId": "ves.io.schema.api_sec.api_crawler.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/api_crawlerDeleteRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_sec.api_crawler.API.Delete",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource deletion operation",
          "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": [
              "api-crawler",
              "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": [
            "api-crawler",
            "contained_resources"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 500,
          "p95_ms": 1500,
          "p99_ms": 4000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API Crawler.",
      "x-ves-proto-service": "ves.io.schema.api_sec.api_crawler.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{metadata.namespace}/api_definitions": {
      "post": {
        "summary": "Create API Definition.",
        "description": "Create API Definition.",
        "operationId": "ves.io.schema.views.api_definition.API.Create",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_definitionCreateResponse"
                }
              }
            }
          },
          "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/api_definitionCreateRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.api_definition.API.Create",
        "tags": [
          "config"
        ],
        "x-required": true,
        "x-f5xc-operation-metadata": {
          "purpose": "API definition for endpoint documentation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Api-definition resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "api-definition"
            ]
          },
          "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": [
            "api-definition"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API Definition.",
      "x-ves-proto-service": "ves.io.schema.views.api_definition.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{metadata.namespace}/api_definitions/{metadata.name}": {
      "put": {
        "summary": "Replace API Definition.",
        "description": "Replace API Definition.",
        "operationId": "ves.io.schema.views.api_definition.API.Replace",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_definitionReplaceResponse"
                }
              }
            }
          },
          "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/api_definitionReplaceRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.api_definition.API.Replace",
        "tags": [
          "config"
        ],
        "x-required": true,
        "x-f5xc-operation-metadata": {
          "purpose": "API definition for endpoint documentation",
          "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": [
              "api-definition"
            ]
          },
          "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": [
            "api-definition"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 800,
          "p95_ms": 2500,
          "p99_ms": 6000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API Definition.",
      "x-ves-proto-service": "ves.io.schema.views.api_definition.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/api_definitions": {
      "get": {
        "summary": "List API Definition.",
        "description": "List the set of api_definition in a namespace.",
        "operationId": "ves.io.schema.views.api_definition.API.List",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_definitionListResponse"
                }
              }
            }
          },
          "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 api_definition.",
            "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/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.api_definition.API.List",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "API definition for endpoint documentation",
          "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": "API Definition.",
      "x-ves-proto-service": "ves.io.schema.views.api_definition.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/api_definitions/{name}": {
      "get": {
        "summary": "GET API Definition.",
        "description": "GET API Definition.",
        "operationId": "ves.io.schema.views.api_definition.API.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_definitionGetResponse"
                }
              }
            }
          },
          "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/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.api_definition.API.Get",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "API definition for endpoint documentation",
          "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 API Definition.",
        "description": "DELETE the specified api_definition.",
        "operationId": "ves.io.schema.views.api_definition.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/api_definitionDeleteRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.api_definition.API.Delete",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "API definition for endpoint documentation",
          "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": [
              "api-definition",
              "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": [
            "api-definition",
            "contained_resources"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 500,
          "p95_ms": 1500,
          "p99_ms": 4000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API Definition.",
      "x-ves-proto-service": "ves.io.schema.views.api_definition.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/api_definitions/{name}/loadbalancers": {
      "get": {
        "summary": "GET Referencing Loadbalancers.",
        "description": "List Loadbalancers referenced by the API Definition (backrefrences).",
        "operationId": "ves.io.schema.views.api_definition.PublicConfigCustomAPI.GetReferencingLoadbalancers",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_definitionGetReferencingAllLoadbalancersResp"
                }
              }
            }
          },
          "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 of the API Definition for the current request.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "shared"
          },
          {
            "name": "name",
            "description": "Name\nThe name of the API Definition for the current request.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.api_definition.PublicConfigCustomAPI.GetReferencingLoadbalancers",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Load balancing configuration for traffic distribution",
          "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": "moderate",
            "resource_usage": "moderate"
          }
        },
        "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": "API Definition.",
      "x-ves-proto-service": "ves.io.schema.views.api_definition.PublicConfigCustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/api_definitions/{name}/mark_as_non_api": {
      "post": {
        "summary": "Mark As Non-API.",
        "description": "Update the API Definition's non-API list with the provided API endpoints.",
        "operationId": "ves.io.schema.views.api_definition.PublicConfigCustomAPI.MarkAsNonAPI",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_definitionAPInventoryResp"
                }
              }
            }
          },
          "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 of the API Definition for the current request.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "shared"
          },
          {
            "name": "name",
            "description": "Name\nThe name of the API Definition for the current request.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/api_definitionAPInventoryReq"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.api_definition.PublicConfigCustomAPI.MarkAsNonAPI",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Mark-as-non-api resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "mark-as-non-api"
            ]
          },
          "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.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "mark-as-non-api"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API Definition.",
      "x-ves-proto-service": "ves.io.schema.views.api_definition.PublicConfigCustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/api_definitions/{name}/move_to_inventory": {
      "post": {
        "summary": "Move To API Inventory.",
        "description": "Update the API Definition's include list with the provided API endpoints.",
        "operationId": "ves.io.schema.views.api_definition.PublicConfigCustomAPI.MoveToAPInventory",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_definitionAPInventoryResp"
                }
              }
            }
          },
          "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 of the API Definition for the current request.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "shared"
          },
          {
            "name": "name",
            "description": "Name\nThe name of the API Definition for the current request.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/api_definitionAPInventoryReq"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.api_definition.PublicConfigCustomAPI.MoveToAPInventory",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Move-to-inventory resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "move-to-inventory"
            ]
          },
          "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.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "move-to-inventory"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API Definition.",
      "x-ves-proto-service": "ves.io.schema.views.api_definition.PublicConfigCustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/api_definitions/{name}/remove_from_inventory": {
      "post": {
        "summary": "Remove From API Inventory.",
        "description": "Update the API Definition's exclude list with the provided API endpoints.",
        "operationId": "ves.io.schema.views.api_definition.PublicConfigCustomAPI.RemoveFromAPInventory",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_definitionAPInventoryResp"
                }
              }
            }
          },
          "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 of the API Definition for the current request.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "shared"
          },
          {
            "name": "name",
            "description": "Name\nThe name of the API Definition for the current request.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/api_definitionAPInventoryReq"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.api_definition.PublicConfigCustomAPI.RemoveFromAPInventory",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Remove-from-inventory resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "remove-from-inventory"
            ]
          },
          "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.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "remove-from-inventory"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API Definition.",
      "x-ves-proto-service": "ves.io.schema.views.api_definition.PublicConfigCustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/api_definitions/{name}/unmark_as_non_api": {
      "post": {
        "summary": "Unmark As Non-API.",
        "description": "DELETE the provided API endpoints from the API Definition's non-API list.",
        "operationId": "ves.io.schema.views.api_definition.PublicConfigCustomAPI.UnmarkAsNonAPI",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_definitionAPInventoryResp"
                }
              }
            }
          },
          "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 of the API Definition for the current request.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "shared"
          },
          {
            "name": "name",
            "description": "Name\nThe name of the API Definition for the current request.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "name"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/api_definitionAPInventoryReq"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.api_definition.PublicConfigCustomAPI.UnmarkAsNonAPI",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Unmark-as-non-api resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "unmark-as-non-api"
            ]
          },
          "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.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "unmark-as-non-api"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API Definition.",
      "x-ves-proto-service": "ves.io.schema.views.api_definition.PublicConfigCustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/api_definitions_without_shared": {
      "get": {
        "summary": "List Available API Definitions.",
        "description": "List API definitions suitable for API Inventory management\nGET all API Definitions for specific namespace exclude shared namespace.",
        "operationId": "ves.io.schema.views.api_definition.PublicConfigCustomAPI.ListAvailableAPIDefinitions",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_definitionListAvailableAPIDefinitionsResp"
                }
              }
            }
          },
          "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 is used to GET available API Definitions for the given namespace.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "shared"
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.api_definition.PublicConfigCustomAPI.ListAvailableAPIDefinitions",
        "tags": [
          "config"
        ],
        "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": "API Definition.",
      "x-ves-proto-service": "ves.io.schema.views.api_definition.PublicConfigCustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/config/namespaces/{metadata.namespace}/api_discoverys": {
      "post": {
        "summary": "Create API Discovery.",
        "description": "Create API discovery creates a new object in the storage backend for metadata.namespace.",
        "operationId": "ves.io.schema.api_sec.api_discovery.API.Create",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_discoveryCreateResponse"
                }
              }
            }
          },
          "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/api_discoveryCreateRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_sec.api_discovery.API.Create",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "API discovery for automatic endpoint detection",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Api-discovery resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "api-discovery"
            ]
          },
          "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": [
            "api-discovery"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API Discovery.",
      "x-ves-proto-service": "ves.io.schema.api_sec.api_discovery.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{metadata.namespace}/api_discoverys/{metadata.name}": {
      "put": {
        "summary": "Replace API Discovery.",
        "description": "Replace api_discovery replaces an existing object in the storage backend for metadata.namespace.",
        "operationId": "ves.io.schema.api_sec.api_discovery.API.Replace",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_discoveryReplaceResponse"
                }
              }
            }
          },
          "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/api_discoveryReplaceRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_sec.api_discovery.API.Replace",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "API discovery for automatic endpoint detection",
          "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": [
              "api-discovery"
            ]
          },
          "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": [
            "api-discovery"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 800,
          "p95_ms": 2500,
          "p99_ms": 6000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API Discovery.",
      "x-ves-proto-service": "ves.io.schema.api_sec.api_discovery.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/api_discoverys": {
      "get": {
        "summary": "List API Discovery.",
        "description": "List the set of api_discovery in a namespace.",
        "operationId": "ves.io.schema.api_sec.api_discovery.API.List",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_discoveryListResponse"
                }
              }
            }
          },
          "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 api_discovery.",
            "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/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_sec.api_discovery.API.List",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "API discovery for automatic endpoint detection",
          "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-discovered-response-time-ms": 160.39,
        "x-discovered-sample-size": 1,
        "x-f5xc-discovered-response-time": {
          "p50_ms": 160.39,
          "p95_ms": 320.78,
          "p99_ms": 481.17,
          "sample_count": 1,
          "source": "discovery",
          "last_measured": "2025-12-20T19:39:20.211392+00:00"
        }
      },
      "x-displayname": "API Discovery.",
      "x-ves-proto-service": "ves.io.schema.api_sec.api_discovery.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/api_discoverys/{name}": {
      "get": {
        "summary": "GET API Discovery.",
        "description": "GET api_discovery reads a given object from storage backend for metadata.namespace.",
        "operationId": "ves.io.schema.api_sec.api_discovery.API.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_discoveryGetResponse"
                }
              }
            }
          },
          "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/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_sec.api_discovery.API.Get",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "API discovery for automatic endpoint detection",
          "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 API Discovery.",
        "description": "DELETE the specified api_discovery.",
        "operationId": "ves.io.schema.api_sec.api_discovery.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/api_discoveryDeleteRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_sec.api_discovery.API.Delete",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "API discovery for automatic endpoint detection",
          "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": [
              "api-discovery",
              "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": [
            "api-discovery",
            "contained_resources"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 500,
          "p95_ms": 1500,
          "p99_ms": 4000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API Discovery.",
      "x-ves-proto-service": "ves.io.schema.api_sec.api_discovery.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/api_groups": {
      "get": {
        "summary": "List API Group.",
        "description": "List the set of api_group in a namespace.",
        "operationId": "ves.io.schema.api_group.API.List",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_groupListResponse"
                }
              }
            }
          },
          "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 api_group.",
            "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/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_group.API.List",
        "tags": [
          "web"
        ],
        "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": "API Group",
      "x-ves-proto-service": "ves.io.schema.api_group.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/api_groups/{name}": {
      "get": {
        "summary": "GET API Group.",
        "description": "GET api_group reads a given object from storage backend for metadata.namespace.",
        "operationId": "ves.io.schema.api_group.API.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_groupGetResponse"
                }
              }
            }
          },
          "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 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_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/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_group.API.Get",
        "tags": [
          "web"
        ],
        "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": "API Group",
      "x-ves-proto-service": "ves.io.schema.api_group.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/api_group_elements": {
      "get": {
        "summary": "List API Group Element.",
        "description": "List the set of api_group_element in a namespace.",
        "operationId": "ves.io.schema.api_group_element.API.List",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_group_elementListResponse"
                }
              }
            }
          },
          "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 api_group_element.",
            "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/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_group_element.API.List",
        "tags": [
          "web"
        ],
        "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": "API Group Element.",
      "x-ves-proto-service": "ves.io.schema.api_group_element.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/api_group_elements/{name}": {
      "get": {
        "summary": "GET API Group Element.",
        "description": "GET api_group_element reads a given object from storage backend for metadata.namespace.",
        "operationId": "ves.io.schema.api_group_element.API.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_group_elementGetResponse"
                }
              }
            }
          },
          "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 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_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/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_group_element.API.Get",
        "tags": [
          "web"
        ],
        "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": "API Group Element.",
      "x-ves-proto-service": "ves.io.schema.api_group_element.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{metadata.namespace}/api_testings": {
      "post": {
        "summary": "Create API Testing.",
        "operationId": "ves.io.schema.api_sec.api_testing.API.Create",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_testingCreateResponse"
                }
              }
            }
          },
          "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/api_testingCreateRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_sec.api_testing.API.Create",
        "tags": [
          "config"
        ],
        "description": "Create api_testings.",
        "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": [
              "Api-testing resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "api-testing"
            ]
          },
          "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": [
            "api-testing"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API Testing.",
      "x-ves-proto-service": "ves.io.schema.api_sec.api_testing.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{metadata.namespace}/api_testings/{metadata.name}": {
      "put": {
        "summary": "Replace API testing.",
        "operationId": "ves.io.schema.api_sec.api_testing.API.Replace",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_testingReplaceResponse"
                }
              }
            }
          },
          "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/api_testingReplaceRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_sec.api_testing.API.Replace",
        "tags": [
          "config"
        ],
        "description": "Replace api_testings.",
        "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": [
              "api-testing"
            ]
          },
          "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": [
            "api-testing"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 800,
          "p95_ms": 2500,
          "p99_ms": 6000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API Testing.",
      "x-ves-proto-service": "ves.io.schema.api_sec.api_testing.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/api_testings": {
      "get": {
        "summary": "List API Testing.",
        "description": "List the set of api_testing in a namespace.",
        "operationId": "ves.io.schema.api_sec.api_testing.API.List",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_testingListResponse"
                }
              }
            }
          },
          "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 api_testing.",
            "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/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_sec.api_testing.API.List",
        "tags": [
          "config"
        ],
        "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-discovered-response-time-ms": 153.63,
        "x-discovered-sample-size": 1,
        "x-f5xc-discovered-response-time": {
          "p50_ms": 153.63,
          "p95_ms": 307.26,
          "p99_ms": 460.89,
          "sample_count": 1,
          "source": "discovery",
          "last_measured": "2025-12-20T19:39:20.211392+00:00"
        }
      },
      "x-displayname": "API Testing.",
      "x-ves-proto-service": "ves.io.schema.api_sec.api_testing.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/api_testings/{name}": {
      "get": {
        "summary": "GET API testing.",
        "operationId": "ves.io.schema.api_sec.api_testing.API.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_testingGetResponse"
                }
              }
            }
          },
          "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/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_sec.api_testing.API.Get",
        "tags": [
          "config"
        ],
        "description": "GET api_testings.",
        "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"
        }
      },
      "delete": {
        "summary": "DELETE API Testing.",
        "description": "DELETE the specified api_testing.",
        "operationId": "ves.io.schema.api_sec.api_testing.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/api_testingDeleteRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_sec.api_testing.API.Delete",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource deletion operation",
          "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": [
              "api-testing",
              "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": [
            "api-testing",
            "contained_resources"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 500,
          "p95_ms": 1500,
          "p99_ms": 4000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API Testing.",
      "x-ves-proto-service": "ves.io.schema.api_sec.api_testing.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{metadata.namespace}/app_api_groups": {
      "post": {
        "summary": "Create API Group.",
        "description": "Create app_api_group creates a new object in the storage backend for metadata.namespace.",
        "operationId": "ves.io.schema.views.app_api_group.API.Create",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/app_api_groupCreateResponse"
                }
              }
            }
          },
          "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/app_api_groupCreateRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.app_api_group.API.Create",
        "tags": [
          "config"
        ],
        "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": [
              "App-api-group resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "app-api-group"
            ]
          },
          "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": [
            "app-api-group"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "App API Group.",
      "x-ves-proto-service": "ves.io.schema.views.app_api_group.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{metadata.namespace}/app_api_groups/{metadata.name}": {
      "put": {
        "summary": "Replace API Group.",
        "description": "Replace app_api_group replaces an existing object in the storage backend for metadata.namespace.",
        "operationId": "ves.io.schema.views.app_api_group.API.Replace",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/app_api_groupReplaceResponse"
                }
              }
            }
          },
          "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/app_api_groupReplaceRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.app_api_group.API.Replace",
        "tags": [
          "config"
        ],
        "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": [
              "app-api-group"
            ]
          },
          "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": [
            "app-api-group"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 800,
          "p95_ms": 2500,
          "p99_ms": 6000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "App API Group.",
      "x-ves-proto-service": "ves.io.schema.views.app_api_group.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/app_api_groups": {
      "get": {
        "summary": "List App API Group.",
        "description": "List the set of app_api_group in a namespace.",
        "operationId": "ves.io.schema.views.app_api_group.API.List",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/app_api_groupListResponse"
                }
              }
            }
          },
          "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 app_api_group.",
            "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/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.app_api_group.API.List",
        "tags": [
          "config"
        ],
        "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-discovered-response-time-ms": 152.02,
        "x-discovered-sample-size": 1,
        "x-f5xc-discovered-response-time": {
          "p50_ms": 152.02,
          "p95_ms": 304.04,
          "p99_ms": 456.06,
          "sample_count": 1,
          "source": "discovery",
          "last_measured": "2025-12-20T19:39:20.211392+00:00"
        }
      },
      "x-displayname": "App API Group.",
      "x-ves-proto-service": "ves.io.schema.views.app_api_group.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/ml/data/namespaces/{namespace}/app_api_groups/evaluate": {
      "post": {
        "summary": "Evaluate API Group.",
        "description": "Evaluate API Group Builder against all API endpoints associated with the referenced object and return the resulting API Group.\nFor example, if the referenced object is an HTTP LB then all discovered and imported endpoints are associated with it.",
        "operationId": "ves.io.schema.views.app_api_group.CustomAPI.EvaluateApiGroup",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/app_api_groupEvaluateApiGroupRsp"
                }
              }
            }
          },
          "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 of the API Group for the current request.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "shared"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app_api_groupEvaluateApiGroupReq"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.app_api_group.CustomAPI.EvaluateApiGroup",
        "tags": [
          "ml"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Evaluate resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "evaluate"
            ]
          },
          "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.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "evaluate"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "App API Group.",
      "x-ves-proto-service": "ves.io.schema.views.app_api_group.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/ml/data/namespaces/{namespace}/app_api_groups/stats": {
      "post": {
        "summary": "Evaluate API Group.",
        "description": "Check if there are any changes happened to the API Groups, and return number of API Endpoints updated for each API Group.",
        "operationId": "ves.io.schema.views.app_api_group.CustomAPI.GetApiGroupsStats",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/app_api_groupGetApiGroupsStatsRsp"
                }
              }
            }
          },
          "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 of the API Group for the current request.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "shared"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app_api_groupGetApiGroupsStatsReq"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.app_api_group.CustomAPI.GetApiGroupsStats",
        "tags": [
          "ml"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Stat resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "stat"
            ]
          },
          "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.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "stat"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "App API Group.",
      "x-ves-proto-service": "ves.io.schema.views.app_api_group.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/app_api_groups/{name}": {
      "get": {
        "summary": "GET API Group.",
        "description": "GET app_api_group reads a given object from storage backend for metadata.namespace.",
        "operationId": "ves.io.schema.views.app_api_group.API.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/app_api_groupGetResponse"
                }
              }
            }
          },
          "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/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.app_api_group.API.Get",
        "tags": [
          "config"
        ],
        "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"
        }
      },
      "delete": {
        "summary": "DELETE App API Group.",
        "description": "DELETE the specified app_api_group.",
        "operationId": "ves.io.schema.views.app_api_group.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/app_api_groupDeleteRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.views.app_api_group.API.Delete",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource deletion operation",
          "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": [
              "app-api-group",
              "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": [
            "app-api-group",
            "contained_resources"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 500,
          "p95_ms": 1500,
          "p99_ms": 4000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "App API Group.",
      "x-ves-proto-service": "ves.io.schema.views.app_api_group.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/api_sec/rule_suggestion/api_endpoint_protection": {
      "post": {
        "summary": "Suggest API endpoint protection rule.",
        "description": "Suggest API endpoint protection rule for a given path.",
        "operationId": "ves.io.schema.api_sec.rule_suggestion.RuleSuggestionAPI.GetSuggestedAPIEndpointProtectionRule",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rule_suggestionGetSuggestedAPIEndpointProtectionRuleRsp"
                }
              }
            }
          },
          "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\nx-required\nNamespace of the App type for current request.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "shared"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/rule_suggestionGetSuggestedAPIEndpointProtectionRuleReq"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_sec.rule_suggestion.RuleSuggestionAPI.GetSuggestedAPIEndpointProtectionRule",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "API endpoint for traffic management",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace",
              "Policy parameters defined"
            ],
            "postconditions": [
              "Api-endpoint-protection resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "api-endpoint-protection"
            ]
          },
          "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.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "api-endpoint-protection"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Application Security Monitoring APIs.",
      "x-ves-proto-service": "ves.io.schema.api_sec.rule_suggestion.RuleSuggestionAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/api_sec/rule_suggestion/data_exposure": {
      "post": {
        "summary": "Suggest sensitive data rule.",
        "description": "Suggest sensitive data rule for a given path.",
        "operationId": "ves.io.schema.api_sec.rule_suggestion.RuleSuggestionAPI.GetSuggestedSensitiveDataRule",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rule_suggestionGetSuggestedSensitiveDataRuleRsp"
                }
              }
            }
          },
          "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\nx-required\nNamespace of the App type for current request.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "shared"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/rule_suggestionGetSuggestedSensitiveDataRuleReq"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_sec.rule_suggestion.RuleSuggestionAPI.GetSuggestedSensitiveDataRule",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace",
              "Policy parameters defined"
            ],
            "postconditions": [
              "Data-exposure resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "data-exposure"
            ]
          },
          "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.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "data-exposure"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Application Security Monitoring APIs.",
      "x-ves-proto-service": "ves.io.schema.api_sec.rule_suggestion.RuleSuggestionAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/api_sec/rule_suggestion/oas_validation": {
      "post": {
        "summary": "Suggest Open API specification validation rule.",
        "description": "Suggest Open API specification validation rule for a given path.",
        "operationId": "ves.io.schema.api_sec.rule_suggestion.RuleSuggestionAPI.GetSuggestedOasValidationRule",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rule_suggestionGetSuggestedOasValidationRuleRsp"
                }
              }
            }
          },
          "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\nx-required\nNamespace of the App type for current request.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "shared"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/rule_suggestionGetSuggestedOasValidationRuleReq"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_sec.rule_suggestion.RuleSuggestionAPI.GetSuggestedOasValidationRule",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace",
              "Policy parameters defined"
            ],
            "postconditions": [
              "Oas-validation resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "oas-validation"
            ]
          },
          "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.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "oas-validation"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Application Security Monitoring APIs.",
      "x-ves-proto-service": "ves.io.schema.api_sec.rule_suggestion.RuleSuggestionAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/api_sec/rule_suggestion/rate_limit": {
      "post": {
        "summary": "Suggest rate limit rule.",
        "description": "Suggest rate limit rule for a given path.",
        "operationId": "ves.io.schema.api_sec.rule_suggestion.RuleSuggestionAPI.GetSuggestedRateLimitRule",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rule_suggestionGetSuggestedRateLimitRuleRsp"
                }
              }
            }
          },
          "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\nx-required\nNamespace of the App type for current request.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "shared"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/rule_suggestionGetSuggestedRateLimitRuleReq"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_sec.rule_suggestion.RuleSuggestionAPI.GetSuggestedRateLimitRule",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace",
              "Policy parameters defined"
            ],
            "postconditions": [
              "Rate-limit resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "rate-limit"
            ]
          },
          "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.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "rate-limit"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Application Security Monitoring APIs.",
      "x-ves-proto-service": "ves.io.schema.api_sec.rule_suggestion.RuleSuggestionAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/config/namespaces/{metadata.namespace}/code_base_integrations": {
      "post": {
        "summary": "CREATE Code Base Integration.",
        "description": "CREATE integration details.",
        "operationId": "ves.io.schema.api_sec.code_base_integration.API.Create",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/code_base_integrationCreateResponse"
                }
              }
            }
          },
          "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/code_base_integrationCreateRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_sec.code_base_integration.API.Create",
        "tags": [
          "config"
        ],
        "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": [
              "Code-base-integration resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "code-base-integration"
            ]
          },
          "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": [
            "code-base-integration"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Code Base Integration.",
      "x-ves-proto-service": "ves.io.schema.api_sec.code_base_integration.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{metadata.namespace}/code_base_integrations/{metadata.name}": {
      "put": {
        "summary": "Replace Code Base Integration.",
        "description": "Replace integration details.",
        "operationId": "ves.io.schema.api_sec.code_base_integration.API.Replace",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/code_base_integrationReplaceResponse"
                }
              }
            }
          },
          "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/code_base_integrationReplaceRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_sec.code_base_integration.API.Replace",
        "tags": [
          "config"
        ],
        "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": [
              "code-base-integration"
            ]
          },
          "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": [
            "code-base-integration"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 800,
          "p95_ms": 2500,
          "p99_ms": 6000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Code Base Integration.",
      "x-ves-proto-service": "ves.io.schema.api_sec.code_base_integration.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/code_base_integrations": {
      "get": {
        "summary": "List Code Base Integration.",
        "description": "List the set of code_base_integration in a namespace.",
        "operationId": "ves.io.schema.api_sec.code_base_integration.API.List",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/code_base_integrationListResponse"
                }
              }
            }
          },
          "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 code_base_integration.",
            "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/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_sec.code_base_integration.API.List",
        "tags": [
          "config"
        ],
        "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-discovered-response-time-ms": 154.03,
        "x-discovered-sample-size": 1,
        "x-f5xc-discovered-response-time": {
          "p50_ms": 154.03,
          "p95_ms": 308.06,
          "p99_ms": 462.09,
          "sample_count": 1,
          "source": "discovery",
          "last_measured": "2025-12-20T19:39:20.211392+00:00"
        }
      },
      "x-displayname": "Code Base Integration.",
      "x-ves-proto-service": "ves.io.schema.api_sec.code_base_integration.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/code_base_integrations/{name}": {
      "get": {
        "summary": "GET Code Base Integration.",
        "description": "GET code base integration details.",
        "operationId": "ves.io.schema.api_sec.code_base_integration.API.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/code_base_integrationGetResponse"
                }
              }
            }
          },
          "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/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_sec.code_base_integration.API.Get",
        "tags": [
          "config"
        ],
        "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"
        }
      },
      "delete": {
        "summary": "DELETE Code Base Integration.",
        "description": "DELETE the specified code_base_integration.",
        "operationId": "ves.io.schema.api_sec.code_base_integration.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/code_base_integrationDeleteRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_sec.code_base_integration.API.Delete",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource deletion operation",
          "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": [
              "code-base-integration",
              "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": [
            "code-base-integration",
            "contained_resources"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 500,
          "p95_ms": 1500,
          "p99_ms": 4000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Code Base Integration.",
      "x-ves-proto-service": "ves.io.schema.api_sec.code_base_integration.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{metadata.namespace}/discoverys": {
      "post": {
        "summary": "Create Discovery.",
        "description": "API to create discovery object for a site or virtual site in system namespace.",
        "operationId": "ves.io.schema.discovery.API.Create",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/discoveryCreateResponse"
                }
              }
            }
          },
          "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/discoveryCreateRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.discovery.API.Create",
        "tags": [
          "config"
        ],
        "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": [
              "Discovery resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "discovery"
            ]
          },
          "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": [
            "discovery"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Discovery",
      "x-ves-proto-service": "ves.io.schema.discovery.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{metadata.namespace}/discoverys/{metadata.name}": {
      "put": {
        "summary": "Replace Discovery.",
        "description": "API to replace discovery object for a site or virtual site in system namespace.",
        "operationId": "ves.io.schema.discovery.API.Replace",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/discoveryReplaceResponse"
                }
              }
            }
          },
          "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/discoveryReplaceRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.discovery.API.Replace",
        "tags": [
          "config"
        ],
        "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": [
              "discovery"
            ]
          },
          "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": [
            "discovery"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 800,
          "p95_ms": 2500,
          "p99_ms": 6000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Discovery",
      "x-ves-proto-service": "ves.io.schema.discovery.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/discovery/{name}/download_certificates": {
      "post": {
        "summary": "Download Certificates.",
        "description": "Download the certificates files for the Log Collerctor\nIn order to establish connection from the third party application server to the\nLog Collector the user should download a zip file with the certificates files:\n- client.crt\n- client.key\n- server_ca.crt.",
        "operationId": "ves.io.schema.discovery.CustomAPI.DownloadCertificates",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/discoveryDownloadCertificatesResponse"
                }
              }
            }
          },
          "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\nx-required\nNamespace of the discovered service for current request.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "shared"
          },
          {
            "name": "name",
            "description": "Discovery Name\nx-required\nIdentifies the discovery name.",
            "in": "path",
            "required": true,
            "x-displayname": "Discovery Name.",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "ds1"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/discoveryDownloadCertificatesRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.discovery.CustomAPI.DownloadCertificates",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "TLS/SSL certificate management",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace",
              "Certificate file or data"
            ],
            "postconditions": [
              "Download-certificate resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "download-certificate"
            ]
          },
          "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.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "download-certificate"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Discovery",
      "x-ves-proto-service": "ves.io.schema.discovery.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/discoverys": {
      "get": {
        "summary": "List Discovery.",
        "description": "List the set of discovery in a namespace.",
        "operationId": "ves.io.schema.discovery.API.List",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/discoveryListResponse"
                }
              }
            }
          },
          "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 discovery.",
            "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/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.discovery.API.List",
        "tags": [
          "config"
        ],
        "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": "Discovery",
      "x-ves-proto-service": "ves.io.schema.discovery.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/config/namespaces/{namespace}/discoverys/{name}": {
      "get": {
        "summary": "GET Discovery.",
        "description": "API to GET discovery object for a site or virtual site in system namespace.",
        "operationId": "ves.io.schema.discovery.API.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/discoveryGetResponse"
                }
              }
            }
          },
          "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/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.discovery.API.Get",
        "tags": [
          "config"
        ],
        "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"
        }
      },
      "delete": {
        "summary": "DELETE Discovery.",
        "description": "DELETE the specified discovery.",
        "operationId": "ves.io.schema.discovery.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/discoveryDeleteRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/api/"
        },
        "x-ves-proto-rpc": "ves.io.schema.discovery.API.Delete",
        "tags": [
          "config"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource deletion operation",
          "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": [
              "discovery",
              "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": [
            "discovery",
            "contained_resources"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 500,
          "p95_ms": 1500,
          "p99_ms": 4000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Discovery",
      "x-ves-proto-service": "ves.io.schema.discovery.API",
      "x-ves-proto-service-type": "AUTO_CRUD_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": {
      "api_crawlerApiCrawlingStatus": {
        "type": "object",
        "description": "Contains status information for API crawling configuration.",
        "title": "API Crawling Status Type",
        "x-displayname": "API Crawling Status.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_crawler.ApiCrawlingStatus",
        "properties": {
          "last_updated": {
            "type": "string",
            "description": "Timestamp of the most recent change for the API Crawling configuration.",
            "title": "last_updated",
            "format": "date-time",
            "x-displayname": "Last Updated.",
            "x-f5xc-description-short": "Timestamp of the most recent change for the API Crawling configuration.",
            "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": "Contains status information for API crawling configuration.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_crawlerApiCrawlingStatus",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_crawlerCreateRequest": {
        "type": "object",
        "description": "This is the input message of the 'Create' RPC.",
        "title": "CreateRequest is used to create an instance of api_crawler",
        "x-displayname": "Create Request.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_crawler.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/api_crawlerCreateSpecType"
              }
            ],
            "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 api_crawlerCreateRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_crawlerCreateResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_crawler.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/api_crawlerGetSpecType"
              }
            ],
            "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 api_crawlerCreateResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_crawlerCreateSpecType": {
        "type": "object",
        "title": "Create API Crawler",
        "x-displayname": "Create API Crawler.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_crawler.CreateSpecType",
        "properties": {
          "domains": {
            "type": "array",
            "description": "API Crawler Configuration.",
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/api_crawlerDomainConfiguration"
            },
            "x-displayname": "API Crawler.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "minItems": 1,
              "uniqueItems": true,
              "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
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_crawlerCreateSpecType",
          "required_fields": [
            "domains"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"domains\": [\n    {\n      \"domain\": \"example.com\"\n    }\n  ]\n}",
          "example_yaml": "domains:\n- domain: example.com"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_crawlerDeleteRequest": {
        "type": "object",
        "description": "This is the input message of the 'DELETE' RPC.",
        "title": "DeleteRequest is used to delete a api_crawler",
        "x-displayname": "DELETE Request.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_crawler.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 api_crawlerDeleteRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_crawlerDomainConfiguration": {
        "type": "object",
        "description": "The Domain configuration message.",
        "title": "Configured API Domains",
        "x-displayname": "Domain Configuration.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_crawler.DomainConfiguration",
        "properties": {
          "domain": {
            "type": "string",
            "description": "Select the domain to execute API Crawling with given credentials.",
            "title": "Domain",
            "maxLength": 256,
            "x-displayname": "Domains to Crawl.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-f5xc-example": "example.com",
            "x-f5xc-description-short": "Select the domain to execute API Crawling with given credentials.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "format": "fqdn",
              "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
            },
            "minLength": 26,
            "format": "hostname",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "simple_login": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_crawlerSimpleLogin"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for simple login.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_crawlerDomainConfiguration",
          "required_fields": [
            "domain"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"domain\": \"example.com\"\n}",
          "example_yaml": "domain: example.com"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_crawlerGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read api_crawler",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_crawler.GetResponse",
        "properties": {
          "create_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_crawlerCreateRequest"
              }
            ],
            "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/api_crawlerReplaceRequest"
              }
            ],
            "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/api_crawlerGetSpecType"
              }
            ],
            "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/api_crawlerStatusObject"
            },
            "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 api_crawlerGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_crawlerGetSpecType": {
        "type": "object",
        "title": "Get API crawler",
        "x-displayname": "GET API crawler.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_crawler.GetSpecType",
        "properties": {
          "domains": {
            "type": "array",
            "description": "API Crawler Configuration.",
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/api_crawlerDomainConfiguration"
            },
            "x-displayname": "API Crawler.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "minItems": 1,
              "uniqueItems": true,
              "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
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_crawlerGetSpecType",
          "required_fields": [
            "domains"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"domains\": [\n    {\n      \"domain\": \"example.com\"\n    }\n  ]\n}",
          "example_yaml": "domains:\n- domain: example.com"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_crawlerListResponse": {
        "type": "object",
        "description": "This is the output message of 'List' RPC.",
        "title": "ListResponse is the collection of api_crawler",
        "x-displayname": "List Response.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_crawler.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/api_crawlerListResponseItem"
            },
            "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 api_crawlerListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_crawlerListResponseItem": {
        "type": "object",
        "description": "By default a summary of api_crawler 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 api_crawler",
        "x-displayname": "List Item",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_crawler.ListResponseItem",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "The set of annotations present on this api_crawler.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of annotations present on this api_crawler.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "The description set for this api_crawler.",
            "title": "description",
            "x-displayname": "Description.",
            "x-f5xc-description-short": "The description set for this api_crawler.",
            "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 api_crawler is administratively disabled.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Value of true indicates api_crawler is administratively disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "get_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_crawlerGetSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "The set of labels present on this api_crawler.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of labels present on this api_crawler.",
            "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 api_crawler.",
            "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/api_crawlerStatusObject"
            },
            "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 api_crawler.",
            "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 api_crawler 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 api_crawler 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 api_crawlerListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_crawlerReplaceRequest": {
        "type": "object",
        "description": "This is the input message of the 'Replace' RPC.",
        "title": "ReplaceRequest is used to replace contents of a api_crawler",
        "x-displayname": "Replace Request.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_crawler.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/api_crawlerReplaceSpecType"
              }
            ],
            "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 api_crawlerReplaceRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_crawlerReplaceResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_crawler.ReplaceResponse",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_crawlerReplaceResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_crawlerReplaceSpecType": {
        "type": "object",
        "title": "Replace API Crawler",
        "x-displayname": "Replace API crawler.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_crawler.ReplaceSpecType",
        "properties": {
          "domains": {
            "type": "array",
            "description": "API Crawler Configuration.",
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/api_crawlerDomainConfiguration"
            },
            "x-displayname": "API Crawler.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "minItems": 1,
              "uniqueItems": true,
              "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
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_crawlerReplaceSpecType",
          "required_fields": [
            "domains"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"domains\": [\n    {\n      \"domain\": \"example.com\"\n    }\n  ]\n}",
          "example_yaml": "domains:\n- domain: example.com"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_crawlerScanInfo": {
        "type": "object",
        "description": "ScanInfo represents the status and metadata of an API scan.",
        "title": "Scan Information",
        "x-displayname": "Scan Information.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_crawler.ScanInfo",
        "properties": {
          "added_to_queue": {
            "type": "string",
            "description": "Timestamp when scan was added to the queue.",
            "title": "added_to_queue",
            "format": "date-time",
            "x-displayname": "Added To Queue.",
            "x-f5xc-description-short": "Timestamp when scan was added to the queue.",
            "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
            }
          },
          "domain": {
            "type": "string",
            "description": "The domain being scanned.",
            "title": "domain",
            "x-displayname": "Domain",
            "x-ves-example": "example1.com.",
            "x-f5xc-example": "example1.com",
            "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": 26,
            "format": "hostname",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "endpoint_count": {
            "type": "integer",
            "description": "The total count of unique API endpoints discovered during the crawling process.",
            "title": "Number of endpoints discovered",
            "format": "int64",
            "x-displayname": "Number of EndPoints.",
            "x-f5xc-example": "42",
            "x-f5xc-description-short": "The total count of unique API endpoints discovered during the crawling process.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "error": {
            "type": "string",
            "description": "Error message if the scan encountered any issues.",
            "title": "error",
            "x-displayname": "Error Message.",
            "x-ves-example": "Authentication failed.",
            "x-f5xc-example": "Authentication failed",
            "x-f5xc-description-short": "Error message if the scan encountered any issues.",
            "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
            }
          },
          "kafka_message_created_at": {
            "type": "string",
            "description": "Timestamp when the message was created in Kafka.",
            "title": "kafka_message_created_at",
            "format": "date-time",
            "x-displayname": "Kafka Message Created At.",
            "x-f5xc-description-short": "Timestamp when the message was created in Kafka.",
            "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"
          },
          "last_status_update": {
            "type": "string",
            "description": "Timestamp of the last status update.",
            "title": "last_status_update",
            "format": "date-time",
            "x-displayname": "Last Status 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
            }
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_crawlerScanStatus"
              }
            ],
            "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": "ScanInfo represents the status and metadata of an API scan.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_crawlerScanInfo",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_crawlerScanStatus": {
        "type": "string",
        "description": "Represents the current status of an API crawling scan\n\nDefault unspecified status\nScan has successfully completed\nScan is currently in progress\nScan has been initiated and is beginning execution\nScan is queued and waiting to start\nScan encountered an error.",
        "title": "Scan Status",
        "enum": [
          "UNSPECIFIED",
          "COMPLETED",
          "RUNNING",
          "STARTED",
          "PENDING",
          "ERROR"
        ],
        "default": "UNSPECIFIED",
        "x-displayname": "Scan Status.",
        "x-ves-proto-enum": "ves.io.schema.api_sec.api_crawler.ScanStatus",
        "x-f5xc-description-short": "Represents the current status of an API crawling scan Default unspecified status Scan has successfully completed Scan is currently in progress...",
        "x-f5xc-description-medium": "Represents the current status of an API crawling scan Default unspecified status Scan has successfully completed Scan is currently in progress Scan has been initiated and is beginning execution Scan is queued and waiting to start Scan encountered an error.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_crawlerScanStatus",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"UNSPECIFIED\"",
          "example_yaml": "UNSPECIFIED\n..."
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_crawlerSimpleLogin": {
        "type": "object",
        "title": "Simple Login",
        "x-displayname": "Simple Login.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_crawler.SimpleLogin",
        "properties": {
          "password": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSecretType"
              }
            ],
            "x-f5xc-example": "example",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "user": {
            "type": "string",
            "description": "Enter the username to assign credentials for the selected domain to crawl.",
            "title": "The custom domain user authentication",
            "maxLength": 64,
            "x-displayname": "User",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "64"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "64"
            },
            "x-f5xc-description-short": "Enter the username to assign credentials for the selected domain to crawl.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 64,
              "minLength": 1,
              "pattern": "^[a-zA-Z0-9_.-]+$",
              "characterSet": {
                "allowed": "[a-zA-Z0-9_.-]",
                "description": "Alphanumeric with underscores, dots, hyphens"
              },
              "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-minimum-configuration": {
          "description": "Minimum configuration for api_crawlerSimpleLogin",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_crawlerStatusObject": {
        "type": "object",
        "title": "Most recently observed status of object",
        "x-displayname": "Status Object.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_crawler.StatusObject",
        "properties": {
          "api_crawling_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_crawlerApiCrawlingStatus"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "conditions": {
            "type": "array",
            "description": "Conditions reported by various component of the system.",
            "title": "conditions",
            "items": {
              "$ref": "#/components/schemas/schemaConditionType"
            },
            "x-displayname": "Conditions.",
            "x-ves-deprecated": "Unused",
            "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": "Object reference.",
            "title": "object_refs",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Config Object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "scans": {
            "type": "array",
            "description": "List of current scanning status for all domains configured for API Crawling.",
            "title": "scans_status",
            "items": {
              "$ref": "#/components/schemas/api_crawlerScanInfo"
            },
            "x-displayname": "Scans Status.",
            "x-f5xc-description-short": "List of current scanning status for all domains configured for API Crawling.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_crawlerStatusObject",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "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": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "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": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaBlindfoldSecretInfoType": {
        "type": "object",
        "description": "BlindfoldSecretInfoType specifies information about the Secret managed by F5XC Secret Management.",
        "title": "BlindfoldSecretInfoType",
        "x-displayname": "Blindfold Secret.",
        "x-ves-displayorder": "3,1,2",
        "x-ves-proto-message": "ves.io.schema.BlindfoldSecretInfoType",
        "properties": {
          "decryption_provider": {
            "type": "string",
            "description": "Name of the Secret Management Access object that contains information about the backend Secret Management service.",
            "title": "Decryption Provider",
            "x-displayname": "Decryption Provider.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Name of the Secret Management Access object that contains information about the backend Secret Management service.",
            "x-f5xc-description-medium": "Name of the Secret Management Access object that contains information about the backend Secret Management service.",
            "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
            }
          },
          "location": {
            "type": "string",
            "description": "Location is the uri_ref. It could be in URL format for string:///\nOr it could be a path if the store provider is an HTTP/HTTPS location.",
            "title": "Location",
            "x-displayname": "Location",
            "x-ves-example": "String:///U2VjcmV0SW5mb3JtYXRpb24=.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.uri_ref": "true"
            },
            "x-f5xc-sensitive": true,
            "x-f5xc-example": "string:///U2VjcmV0SW5mb3JtYXRpb24=",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.uri_ref": "true"
            },
            "x-f5xc-description-short": "Location is the uri_ref. It could be in URL format for string:/// Or it could be a path if the store provider is an HTTP/HTTPS location.",
            "x-f5xc-description-medium": "Location is the uri_ref. It could be in URL format for string:/// Or it could be a path if the store provider is an HTTP/HTTPS location.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "minLength": 4,
              "maxLength": 131072,
              "format": "uri",
              "deterministic": true,
              "metadata": {
                "source": "manual-override",
                "confidence": 1.0,
                "category": "content",
                "note": "Blindfold envelope encryption (AES-256-GCM + RSA-OAEP) of an RSA-2048 TLS private key produces ~3700 char string:/// URL. 128KB max secret size = ~175KB base64. Discovery reported 1024 which is incorrect.",
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "minLength": 4,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "store_provider": {
            "type": "string",
            "description": "Name of the Secret Management Access object that contains information about the store to GET encrypted bytes\nThis field needs to be provided only if the URL scheme is not string:///.",
            "title": "Store Provider",
            "x-displayname": "Store Provider.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Name of the Secret Management Access object that contains information about the store to GET encrypted bytes This field needs to be provided only...",
            "x-f5xc-description-medium": "Name of the Secret Management Access object that contains information about the store to GET encrypted bytes This field needs to be provided only if the URL scheme is not string:///.",
            "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": "BlindfoldSecretInfoType specifies information about the Secret managed by F5XC Secret Management.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaBlindfoldSecretInfoType",
          "required_fields": [
            "location"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"location\": \"string:///U2VjcmV0SW5mb3JtYXRpb24=\"\n}",
          "example_yaml": "location: string:///U2VjcmV0SW5mb3JtYXRpb24="
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaClearSecretInfoType": {
        "type": "object",
        "description": "ClearSecretInfoType specifies information about the Secret that is not encrypted.",
        "title": "ClearSecretInfoType",
        "x-displayname": "In-Clear Secret.",
        "x-ves-displayorder": "2,1",
        "x-ves-proto-message": "ves.io.schema.ClearSecretInfoType",
        "properties": {
          "provider": {
            "type": "string",
            "description": "Name of the Secret Management Access object that contains information about the store to GET encrypted bytes\nThis field needs to be provided only if the URL scheme is not string:///.",
            "title": "Provider",
            "x-displayname": "Provider",
            "x-ves-example": "Box-provider.",
            "x-f5xc-example": "box-provider",
            "x-f5xc-description-short": "Name of the Secret Management Access object that contains information about the store to GET encrypted bytes This field needs to be provided only...",
            "x-f5xc-description-medium": "Name of the Secret Management Access object that contains information about the store to GET encrypted bytes This field needs to be provided only if the URL scheme is not string:///.",
            "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": 3,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "url": {
            "type": "string",
            "description": "URL of the secret. Currently supported URL schemes is string:///.\nFor string:/// scheme, Secret needs to be encoded Base64 format.\nWhen asked for this secret, caller will GET Secret bytes after Base64 decoding.",
            "title": "URL",
            "maxLength": 131072,
            "x-displayname": "URL",
            "x-ves-example": "String:///U2VjcmV0SW5mb3JtYXRpb24=.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "131072",
              "ves.io.schema.rules.string.uri_ref": "true"
            },
            "x-f5xc-sensitive": true,
            "x-f5xc-example": "string:///U2VjcmV0SW5mb3JtYXRpb24=",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "131072",
              "ves.io.schema.rules.string.uri_ref": "true"
            },
            "x-f5xc-description-short": "URL of the secret. Currently supported URL schemes is string:///.",
            "x-f5xc-description-medium": "URL of the secret. Currently supported URL schemes is string:///. For string:/// scheme, Secret needs to be encoded Base64 format. When asked for this secret, caller will GET Secret bytes after Base64 decoding.",
            "format": "uri",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 131072,
              "format": "uri",
              "minLength": 1,
              "pattern": "^(https?|ftp)://[^\\s/$.?#].[^\\s]*$",
              "formatDescription": "RFC 3986 URI with scheme (http, https, ftp)",
              "validation": {
                "rfc": "RFC 3986"
              },
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true,
              "byteLength": {
                "max": 131072
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "ClearSecretInfoType specifies information about the Secret that is not encrypted.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaClearSecretInfoType",
          "required_fields": [
            "url"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"url\": \"string:///U2VjcmV0SW5mb3JtYXRpb24=\"\n}",
          "example_yaml": "url: string:///U2VjcmV0SW5mb3JtYXRpb24="
        },
        "x-f5xc-cli-domain": "other",
        "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": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "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": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "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": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "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": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "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": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "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": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "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": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "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": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaSecretType": {
        "type": "object",
        "description": "SecretType is used in an object to indicate a sensitive/confidential field.",
        "title": "SecretType",
        "x-displayname": "Secret",
        "x-ves-oneof-field-secret_info_oneof": "[\"blindfold_secret_info\",\"clear_secret_info\"]",
        "x-ves-proto-message": "ves.io.schema.SecretType",
        "properties": {
          "blindfold_secret_info": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaBlindfoldSecretInfoType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "clear_secret_info"
            ]
          },
          "clear_secret_info": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaClearSecretInfoType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "blindfold_secret_info"
            ]
          }
        },
        "x-f5xc-description-short": "SecretType is used in an object to indicate a sensitive/confidential field.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaSecretType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Secret management is platform-level"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "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": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "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": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "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": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "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": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "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": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_definitionAPInventoryReq": {
        "type": "object",
        "description": "Request shape for various API Inventory Requests.",
        "title": "API Inventory Request",
        "x-displayname": "API Inventory Request.",
        "x-ves-proto-message": "ves.io.schema.views.api_definition.APInventoryReq",
        "properties": {
          "api_endpoints": {
            "type": "array",
            "description": "The list of API endpoints for the API Inventory request.",
            "title": "API Endpoints",
            "minItems": 1,
            "maxItems": 100,
            "items": {
              "$ref": "#/components/schemas/viewsApiOperation"
            },
            "x-displayname": "API Endpoints.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "100",
              "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": "100",
              "ves.io.schema.rules.repeated.min_items": "1"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The list of API endpoints for the API Inventory request.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 100,
              "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
            }
          },
          "name": {
            "type": "string",
            "description": "The name of the API Definition for the current request.",
            "title": "Name",
            "x-displayname": "Name",
            "x-ves-example": "Name",
            "x-f5xc-example": "name",
            "x-f5xc-description-short": "The name of the API Definition for the current request.",
            "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 of the API Definition for the current request.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Shared",
            "x-f5xc-example": "shared",
            "x-f5xc-description-short": "The namespace of the API Definition for the current request.",
            "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": "Request shape for various API Inventory Requests.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_definitionAPInventoryReq",
          "required_fields": [
            "api_endpoints"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"api_endpoints\": [\n    {\n      \"path\": \"/api/users/{userid}\"\n    }\n  ]\n}",
          "example_yaml": "api_endpoints:\n- path: /api/users/{userid}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "API definitions are scoped to application namespaces"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "api_definitionAPInventoryResp": {
        "type": "object",
        "description": "Response shape for Update API Endpoints With Newly Discovered Schema.",
        "title": "Update API Endpoints Schema Response",
        "x-displayname": "Update API Endpoints Schema Response.",
        "x-ves-proto-message": "ves.io.schema.views.api_definition.APInventoryResp",
        "properties": {
          "updated_api_endpoints": {
            "type": "array",
            "description": "The list of API endpoints which were successfully proceeded by the API Inventory request.",
            "title": "Updated API Endpoints",
            "items": {
              "$ref": "#/components/schemas/viewsApiOperation"
            },
            "x-displayname": "Updated API Endpoints.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The list of API endpoints which were successfully proceeded by the API Inventory request.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Response shape for Update API Endpoints With Newly Discovered Schema.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_definitionAPInventoryResp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "API definitions are scoped to application namespaces"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "api_definitionApiGroupSummary": {
        "type": "object",
        "description": "ApiGroupSummary.",
        "title": "ApiGroupSummary",
        "x-displayname": "API Group Summary.",
        "x-ves-proto-message": "ves.io.schema.views.api_definition.ApiGroupSummary",
        "properties": {
          "elements": {
            "type": "array",
            "description": "List of API group elements with methods and path regex for matching requests.",
            "title": "elements",
            "items": {
              "$ref": "#/components/schemas/schemaapi_group_elementGlobalSpecType"
            },
            "x-displayname": "API Group Elements.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "List of API group elements with methods and path regex for matching requests.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "general",
              "minItems": 0,
              "maxItems": 512,
              "uniqueItems": false,
              "metadata": {
                "source": "inferred",
                "confidence": 0.7,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Name of API Group.",
            "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"
            },
            "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])?$"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_definitionApiGroupSummary",
          "required_fields": [
            "elements",
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"elements\": [\n    {\n      \"methods\": [\n        \"ANY\"\n      ],\n      \"path_regex\": \"/api/config/configconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfig.*/path[123]/$\"\n    }\n  ],\n  \"name\": \"example-corp-web\"\n}",
          "example_yaml": "elements:\n- methods:\n  - ANY\n  path_regex: /api/config/configconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfig.*/path[123]/$\nname: example-corp-web"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "API definitions are scoped to application namespaces"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "api_definitionCreateRequest": {
        "type": "object",
        "description": "This is the input message of the 'Create' RPC.",
        "title": "CreateRequest is used to create an instance of api_definition",
        "x-displayname": "Create Request.",
        "x-ves-proto-message": "ves.io.schema.views.api_definition.CreateRequest",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectCreateMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsapi_definitionCreateSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "API definition for documenting and protecting HTTP APIs",
          "required_fields": [
            "metadata.name",
            "metadata.namespace"
          ],
          "mutually_exclusive_groups": [],
          "example_yaml": "apiVersion: v1\nkind: api_definition\nmetadata:\n  name: example-api\n  namespace: default\nspec: {}\n",
          "example_json": "{\n  \"metadata\": {\n    \"name\": \"example-api\",\n    \"namespace\": \"default\"\n  },\n  \"spec\": {}\n}\n"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "API definitions are scoped to application namespaces"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "api_definitionCreateResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.views.api_definition.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/viewsapi_definitionGetSpecType"
              }
            ],
            "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 api_definitionCreateResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "API definitions are scoped to application namespaces"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "api_definitionDeleteRequest": {
        "type": "object",
        "description": "This is the input message of the 'DELETE' RPC.",
        "title": "DeleteRequest is used to delete a api_definition",
        "x-displayname": "DELETE Request.",
        "x-ves-proto-message": "ves.io.schema.views.api_definition.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 api_definitionDeleteRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "API definitions are scoped to application namespaces"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "api_definitionGetReferencingAllLoadbalancersResp": {
        "type": "object",
        "description": "Response shape for GET API Endpoints With Newly Discovered Schema.",
        "title": "Get API Endpoints Schema Response",
        "x-displayname": "GET API Endpoints Schema Response.",
        "x-ves-proto-message": "ves.io.schema.views.api_definition.GetReferencingAllLoadbalancersResp",
        "properties": {
          "loadbalancers": {
            "type": "array",
            "description": "Loadbalancers referencing the API Definition.",
            "title": "Loadbalancers",
            "items": {
              "$ref": "#/components/schemas/schemaviewsObjectRefType"
            },
            "x-displayname": "Loadbalancers.",
            "x-f5xc-description-short": "Loadbalancers referencing the API Definition.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Response shape for GET API Endpoints With Newly Discovered Schema.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_definitionGetReferencingAllLoadbalancersResp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "API definitions are scoped to application namespaces"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "api_definitionGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read api_definition",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.views.api_definition.GetResponse",
        "properties": {
          "create_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_definitionCreateRequest"
              }
            ],
            "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/api_definitionReplaceRequest"
              }
            ],
            "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/viewsapi_definitionGetSpecType"
              }
            ],
            "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/api_definitionStatusObject"
            },
            "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 api_definitionGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "API definitions are scoped to application namespaces"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "api_definitionListAvailableAPIDefinitionsResp": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.views.api_definition.ListAvailableAPIDefinitionsResp",
        "properties": {
          "available_api_definitions": {
            "type": "array",
            "description": "The list of references to available API Definition objects.",
            "title": "Available API Definitions",
            "items": {
              "$ref": "#/components/schemas/schemaviewsObjectRefType"
            },
            "x-displayname": "Available API Definitions.",
            "x-f5xc-description-short": "The list of references to available API Definition objects.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_definitionListAvailableAPIDefinitionsResp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "API definitions are scoped to application namespaces"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "api_definitionListResponse": {
        "type": "object",
        "description": "This is the output message of 'List' RPC.",
        "title": "ListResponse is the collection of api_definition",
        "x-displayname": "List Response.",
        "x-ves-proto-message": "ves.io.schema.views.api_definition.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/api_definitionListResponseItem"
            },
            "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 api_definitionListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "API definitions are scoped to application namespaces"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "api_definitionListResponseItem": {
        "type": "object",
        "description": "By default a summary of api_definition 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 api_definition",
        "x-displayname": "List Item",
        "x-ves-proto-message": "ves.io.schema.views.api_definition.ListResponseItem",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "The set of annotations present on this api_definition.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of annotations present on this api_definition.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "The description set for this api_definition.",
            "title": "description",
            "x-displayname": "Description.",
            "x-f5xc-description-short": "The description set for this api_definition.",
            "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 api_definition is administratively disabled.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Value of true indicates api_definition is administratively disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "get_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsapi_definitionGetSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "The set of labels present on this api_definition.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of labels present on this api_definition.",
            "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 api_definition.",
            "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/api_definitionStatusObject"
            },
            "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 api_definition.",
            "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 api_definition 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 api_definition 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 api_definitionListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "API definitions are scoped to application namespaces"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "api_definitionReplaceRequest": {
        "type": "object",
        "description": "This is the input message of the 'Replace' RPC.",
        "title": "ReplaceRequest is used to replace contents of a api_definition",
        "x-displayname": "Replace Request.",
        "x-ves-proto-message": "ves.io.schema.views.api_definition.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/viewsapi_definitionReplaceSpecType"
              }
            ],
            "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": "API definition for documenting and protecting HTTP APIs",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "API definitions are scoped to application namespaces"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "api_definitionReplaceResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.views.api_definition.ReplaceResponse",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_definitionReplaceResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "API definitions are scoped to application namespaces"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "api_definitionStatusObject": {
        "type": "object",
        "title": "Most recently observed status of object",
        "x-displayname": "Status Object.",
        "x-ves-proto-message": "ves.io.schema.views.api_definition.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": "Object reference.",
            "title": "object_refs",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Config Object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_definitionStatusObject",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "API definitions are scoped to application namespaces"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "ioschemaEmpty": {
        "type": "object",
        "description": "This can be used for messages where no values are needed.",
        "title": "Empty",
        "x-displayname": "Empty",
        "x-ves-proto-message": "ves.io.schema.Empty",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for ioschemaEmpty",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaHttpMethod": {
        "type": "string",
        "description": "Specifies the HTTP method used to access a resource.\n\nAny HTTP Method.",
        "title": "HttpMethod",
        "enum": [
          "ANY",
          "GET",
          "HEAD",
          "POST",
          "PUT",
          "DELETE",
          "CONNECT",
          "OPTIONS",
          "TRACE",
          "PATCH",
          "COPY"
        ],
        "default": "ANY",
        "x-displayname": "HTTP Method.",
        "x-ves-proto-enum": "ves.io.schema.HttpMethod",
        "x-f5xc-description-short": "Specifies the HTTP method used to access a resource. Any HTTP Method.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaHttpMethod",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"ANY\"",
          "example_yaml": "ANY\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaapi_group_elementGlobalSpecType": {
        "type": "object",
        "description": "Shape of api_group_element in the storage backend.",
        "title": "GlobalSpecType",
        "x-displayname": "Specification.",
        "x-ves-proto-message": "ves.io.schema.api_group_element.GlobalSpecType",
        "properties": {
          "methods": {
            "type": "array",
            "description": "List of method values to match the input request API method against.\nThe match is considered to succeed if the input request API method is a member of the list.",
            "title": "methods",
            "minItems": 1,
            "items": {
              "$ref": "#/components/schemas/schemaHttpMethod"
            },
            "x-displayname": "HTTP Methods.",
            "x-ves-example": "['PUT', 'POST', 'DELETE']",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.items.enum.not_in": "0",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "['PUT', 'POST', 'DELETE']",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.items.enum.not_in": "0",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of method values to match the input request API method against.",
            "x-f5xc-description-medium": "List of method values to match the input request API method against. The match is considered to succeed if the input request API method is a member of the list.",
            "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
            }
          },
          "path_regex": {
            "type": "string",
            "description": "Regular expression to match the input request API path against.\nThe match is considered to succeed if the input request API path matches the specified path regex.",
            "title": "path regex",
            "minLength": 1,
            "maxLength": 1024,
            "x-displayname": "Path Regex.",
            "x-ves-example": "/API/config/configconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfig.*/path[123]/$.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "1024",
              "ves.io.schema.rules.string.min_bytes": "1",
              "ves.io.schema.rules.string.regex": "true"
            },
            "x-f5xc-example": "/api/config/configconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfig.*/path[123]/$",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "1024",
              "ves.io.schema.rules.string.min_bytes": "1",
              "ves.io.schema.rules.string.regex": "true"
            },
            "x-f5xc-description-short": "Regular expression to match the input request API path against.",
            "x-f5xc-description-medium": "Regular expression to match the input request API path against. The match is considered to succeed if the input request API path matches the specified path regex.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 1024,
              "byteLength": {
                "max": 1024,
                "min": 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": "Shape of api_group_element in the storage backend.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaapi_group_elementGlobalSpecType",
          "required_fields": [
            "methods",
            "path_regex"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"methods\": [\n    \"ANY\"\n  ],\n  \"path_regex\": \"/api/config/configconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfig.*/path[123]/$\"\n}",
          "example_yaml": "methods:\n- ANY\npath_regex: /api/config/configconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfig.*/path[123]/$"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaviewsObjectRefType": {
        "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.",
        "title": "ObjectRefType",
        "x-displayname": "Object reference.",
        "x-ves-proto-message": "ves.io.schema.views.ObjectRefType",
        "properties": {
          "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",
            "minLength": 1,
            "maxLength": 128,
            "x-displayname": "Name",
            "x-ves-example": "Contacts-route.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "128",
              "ves.io.schema.rules.string.min_bytes": "1"
            },
            "x-f5xc-example": "contacts-route",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "128",
              "ves.io.schema.rules.string.min_bytes": "1"
            },
            "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.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 128,
              "byteLength": {
                "max": 128,
                "min": 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
            }
          },
          "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",
            "maxLength": 63,
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "64"
            },
            "x-f5xc-example": "ns1",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "64"
            },
            "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.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "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": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true,
              "byteLength": {
                "max": 64
              }
            },
            "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",
            "maxLength": 64,
            "x-displayname": "Tenant",
            "x-ves-example": "Example-corp.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "64"
            },
            "x-f5xc-example": "example-corp",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "64"
            },
            "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.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 64,
              "byteLength": {
                "max": 64
              },
              "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
            },
            "readOnly": true,
            "x-field-mutability": "read-only",
            "minLength": 12,
            "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.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaviewsObjectRefType",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"contacts-route\"\n}",
          "example_yaml": "name: contacts-route"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "viewsApiOperation": {
        "type": "object",
        "description": "API operation according to OpenAPI specification.",
        "title": "ApiOperation",
        "x-displayname": "API Operation.",
        "x-ves-proto-message": "ves.io.schema.views.ApiOperation",
        "properties": {
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaHttpMethod"
              }
            ],
            "x-f5xc-example": "GET",
            "x-f5xc-description-short": "HTTP method (GET, POST, PUT, DELETE, etc.).",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "path": {
            "type": "string",
            "description": "An endpoint path, as specified in OpenAPI, including parameters.\nThe path should comply with RFC 3986 and may have parameters according to OpenAPI specification.",
            "title": "path",
            "minLength": 1,
            "maxLength": 1024,
            "x-displayname": "Path",
            "x-ves-example": "/API/users/{userid}",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "1024",
              "ves.io.schema.rules.string.min_bytes": "1",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-example": "/api/users/{userid}",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "1024",
              "ves.io.schema.rules.string.min_bytes": "1",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-description-short": "Endpoint path, as specified in OpenAPI, including parameters.",
            "x-f5xc-description-medium": "Endpoint path, as specified in OpenAPI, including parameters. The path should comply with RFC 3986 and may have parameters according to OpenAPI specification.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 1024,
              "pattern": "^[/a-zA-Z0-9._-]+$",
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "byteLength": {
                "max": 1024,
                "min": 1
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "API operation according to OpenAPI specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsApiOperation",
          "required_fields": [
            "path"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"path\": \"/api/users/{userid}\"\n}",
          "example_yaml": "path: /api/users/{userid}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "viewsapi_definitionCreateSpecType": {
        "type": "object",
        "description": "Create API Definition.",
        "title": "CreateSpecType",
        "x-displayname": "Create API Definition.",
        "x-ves-oneof-field-schema_updates_strategy": "[\"mixed_schema_origin\",\"strict_schema_origin\"]",
        "x-ves-proto-message": "ves.io.schema.views.api_definition.CreateSpecType",
        "properties": {
          "api_inventory_exclusion_list": {
            "type": "array",
            "description": "List of API Endpoints excluded from the API Inventory.",
            "maxItems": 5000,
            "items": {
              "$ref": "#/components/schemas/viewsApiOperation"
            },
            "x-displayname": "API Inventory Exclusion List.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "5000",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "5000",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of API Endpoints excluded from the API Inventory.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 5000,
              "uniqueItems": true,
              "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
            },
            "default": [],
            "x-f5xc-server-default": true
          },
          "api_inventory_inclusion_list": {
            "type": "array",
            "description": "List of API Endpoints included in the API Inventory.\nTypically, discovered API endpoints are added to the API Inventory using this list.",
            "maxItems": 5000,
            "items": {
              "$ref": "#/components/schemas/viewsApiOperation"
            },
            "x-displayname": "API Inventory Inclusion List.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "5000",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "5000",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of API Endpoints included in the API Inventory. Typically, discovered API endpoints are added to the API Inventory using this list.",
            "x-f5xc-description-medium": "List of API Endpoints included in the API Inventory. Typically, discovered API endpoints are added to the API Inventory using this list.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 5000,
              "uniqueItems": true,
              "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
            },
            "default": [],
            "x-f5xc-server-default": true
          },
          "mixed_schema_origin": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for mixed schema origin.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "strict_schema_origin"
            ]
          },
          "non_api_endpoints": {
            "type": "array",
            "description": "List of Non-API Endpoints.",
            "maxItems": 5000,
            "items": {
              "$ref": "#/components/schemas/viewsApiOperation"
            },
            "x-displayname": "API Discovery Exclusion List.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "5000",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "5000",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 5000,
              "uniqueItems": true,
              "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
            },
            "default": [],
            "x-f5xc-server-default": true
          },
          "strict_schema_origin": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for strict schema origin.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "mixed_schema_origin"
            ]
          },
          "swagger_specs": {
            "type": "array",
            "description": "URLs of versioned OpenAPI files uploaded through Web App & API Protection > Files > Swagger Files. The 512-byte item limit is a URL-length limit; inline string:/// OpenAPI content is rejected and does not create an API-definition object.",
            "maxItems": 20,
            "items": {
              "type": "string",
              "maxLength": 512
            },
            "x-displayname": "File Path",
            "x-ves-example": "https://example.tenant.domain/API/object_store/namespaces/example-ns/stored_objects/swagger/file-name/v1-22-01-12.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "512",
              "ves.io.schema.rules.repeated.items.string.pattern": "/api/object_store/namespaces/([a-z]([-a-z0-9]*[a-z0-9])?)/stored_objects/swagger/([a-z]([-a-z0-9]*[a-z0-9])?)/(v|V)[0-9]+(-[0-9]{2}){3}$",
              "ves.io.schema.rules.repeated.max_items": "20",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "URLs of versioned OpenAPI files uploaded through Web App & API Protection > Files > Swagger Files.",
            "x-f5xc-description-medium": "URLs of versioned OpenAPI files uploaded through Web App & API Protection > Files > Swagger Files. The 512-byte item limit is a URL-length limit; inline string:/// OpenAPI content is rejected and does not create an API-definition object.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 20,
              "uniqueItems": true,
              "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
            },
            "default": [],
            "x-f5xc-server-default": true
          }
        },
        "x-required": true,
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsapi_definitionCreateSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-recommended-oneof-variant": {
          "schema_updates_strategy": "mixed_schema_origin"
        },
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "API definitions are scoped to application namespaces"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewsapi_definitionGetSpecType": {
        "type": "object",
        "description": "GET API Definition.",
        "title": "GetSpecType",
        "x-displayname": "GET API Definition.",
        "x-ves-oneof-field-schema_updates_strategy": "[\"mixed_schema_origin\",\"strict_schema_origin\"]",
        "x-ves-proto-message": "ves.io.schema.views.api_definition.GetSpecType",
        "properties": {
          "api_groups": {
            "type": "array",
            "description": "List of api_groups belonging to this api_definition.",
            "items": {
              "$ref": "#/components/schemas/api_definitionApiGroupSummary"
            },
            "x-displayname": "API Groups.",
            "x-f5xc-example": "[\"item1\", \"item2\", \"item3\"]",
            "x-f5xc-description-short": "List of api_groups belonging to this api_definition.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "api_inventory_exclusion_list": {
            "type": "array",
            "description": "List of API Endpoints excluded from the API Inventory.",
            "maxItems": 5000,
            "items": {
              "$ref": "#/components/schemas/viewsApiOperation"
            },
            "x-displayname": "API Inventory Exclusion List.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "5000",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "5000",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of API Endpoints excluded from the API Inventory.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 5000,
              "uniqueItems": true,
              "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
            },
            "default": [],
            "x-f5xc-server-default": true
          },
          "api_inventory_inclusion_list": {
            "type": "array",
            "description": "List of API Endpoints included in the API Inventory.\nTypically, discovered API endpoints are added to the API Inventory using this list.",
            "maxItems": 5000,
            "items": {
              "$ref": "#/components/schemas/viewsApiOperation"
            },
            "x-displayname": "API Inventory Inclusion List.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "5000",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "5000",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of API Endpoints included in the API Inventory. Typically, discovered API endpoints are added to the API Inventory using this list.",
            "x-f5xc-description-medium": "List of API Endpoints included in the API Inventory. Typically, discovered API endpoints are added to the API Inventory using this list.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 5000,
              "uniqueItems": true,
              "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
            },
            "default": [],
            "x-f5xc-server-default": true
          },
          "mixed_schema_origin": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for mixed schema origin.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "strict_schema_origin"
            ]
          },
          "non_api_endpoints": {
            "type": "array",
            "description": "List of Non-API Endpoints.",
            "maxItems": 5000,
            "items": {
              "$ref": "#/components/schemas/viewsApiOperation"
            },
            "x-displayname": "API Discovery Exclusion List.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "5000",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "5000",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 5000,
              "uniqueItems": true,
              "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
            },
            "default": [],
            "x-f5xc-server-default": true
          },
          "strict_schema_origin": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for strict schema origin.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "mixed_schema_origin"
            ]
          },
          "swagger_specs": {
            "type": "array",
            "description": "URLs of versioned OpenAPI files uploaded through Web App & API Protection > Files > Swagger Files. The 512-byte item limit is a URL-length limit; inline string:/// OpenAPI content is rejected and does not create an API-definition object.",
            "maxItems": 20,
            "items": {
              "type": "string",
              "maxLength": 512
            },
            "x-displayname": "File Path",
            "x-ves-example": "https://example.tenant.domain/API/object_store/namespaces/example-ns/stored_objects/swagger/file-name/v1-22-01-12.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "512",
              "ves.io.schema.rules.repeated.items.string.pattern": "/api/object_store/namespaces/([a-z]([-a-z0-9]*[a-z0-9])?)/stored_objects/swagger/([a-z]([-a-z0-9]*[a-z0-9])?)/(v|V)[0-9]+(-[0-9]{2}){3}$",
              "ves.io.schema.rules.repeated.max_items": "20",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "URLs of versioned OpenAPI files uploaded through Web App & API Protection > Files > Swagger Files.",
            "x-f5xc-description-medium": "URLs of versioned OpenAPI files uploaded through Web App & API Protection > Files > Swagger Files. The 512-byte item limit is a URL-length limit; inline string:/// OpenAPI content is rejected and does not create an API-definition object.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 20,
              "uniqueItems": true,
              "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
            },
            "default": [],
            "x-f5xc-server-default": true
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsapi_definitionGetSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-recommended-oneof-variant": {
          "schema_updates_strategy": "mixed_schema_origin"
        },
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "API definitions are scoped to application namespaces"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "viewsapi_definitionReplaceSpecType": {
        "type": "object",
        "description": "Replace API Definition.",
        "title": "ReplaceSpecType",
        "x-displayname": "Replace API Definition.",
        "x-ves-oneof-field-schema_updates_strategy": "[\"mixed_schema_origin\",\"strict_schema_origin\"]",
        "x-ves-proto-message": "ves.io.schema.views.api_definition.ReplaceSpecType",
        "properties": {
          "api_inventory_exclusion_list": {
            "type": "array",
            "description": "List of API Endpoints excluded from the API Inventory.",
            "maxItems": 5000,
            "items": {
              "$ref": "#/components/schemas/viewsApiOperation"
            },
            "x-displayname": "API Inventory Exclusion List.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "5000",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "5000",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of API Endpoints excluded from the API Inventory.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 5000,
              "uniqueItems": true,
              "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
            },
            "default": [],
            "x-f5xc-server-default": true
          },
          "api_inventory_inclusion_list": {
            "type": "array",
            "description": "List of API Endpoints included in the API Inventory.\nTypically, discovered API endpoints are added to the API Inventory using this list.",
            "maxItems": 5000,
            "items": {
              "$ref": "#/components/schemas/viewsApiOperation"
            },
            "x-displayname": "API Inventory Inclusion List.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "5000",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "5000",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of API Endpoints included in the API Inventory. Typically, discovered API endpoints are added to the API Inventory using this list.",
            "x-f5xc-description-medium": "List of API Endpoints included in the API Inventory. Typically, discovered API endpoints are added to the API Inventory using this list.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 5000,
              "uniqueItems": true,
              "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
            },
            "default": [],
            "x-f5xc-server-default": true
          },
          "mixed_schema_origin": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for mixed schema origin.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "strict_schema_origin"
            ]
          },
          "non_api_endpoints": {
            "type": "array",
            "description": "List of Non-API Endpoints.",
            "maxItems": 5000,
            "items": {
              "$ref": "#/components/schemas/viewsApiOperation"
            },
            "x-displayname": "API Discovery Exclusion List.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "5000",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "5000",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 5000,
              "uniqueItems": true,
              "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
            },
            "default": [],
            "x-f5xc-server-default": true
          },
          "strict_schema_origin": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for strict schema origin.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "mixed_schema_origin"
            ]
          },
          "swagger_specs": {
            "type": "array",
            "description": "URLs of versioned OpenAPI files uploaded through Web App & API Protection > Files > Swagger Files. The 512-byte item limit is a URL-length limit; inline string:/// OpenAPI content is rejected and does not create an API-definition object.",
            "maxItems": 20,
            "items": {
              "type": "string",
              "maxLength": 512
            },
            "x-displayname": "File Path",
            "x-ves-example": "https://example.tenant.domain/API/object_store/namespaces/example-ns/stored_objects/swagger/file-name/v1-22-01-12.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "512",
              "ves.io.schema.rules.repeated.items.string.pattern": "/api/object_store/namespaces/([a-z]([-a-z0-9]*[a-z0-9])?)/stored_objects/swagger/([a-z]([-a-z0-9]*[a-z0-9])?)/(v|V)[0-9]+(-[0-9]{2}){3}$",
              "ves.io.schema.rules.repeated.max_items": "20",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "URLs of versioned OpenAPI files uploaded through Web App & API Protection > Files > Swagger Files.",
            "x-f5xc-description-medium": "URLs of versioned OpenAPI files uploaded through Web App & API Protection > Files > Swagger Files. The 512-byte item limit is a URL-length limit; inline string:/// OpenAPI content is rejected and does not create an API-definition object.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 20,
              "uniqueItems": true,
              "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
            },
            "default": [],
            "x-f5xc-server-default": true
          }
        },
        "x-required": true,
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsapi_definitionReplaceSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-recommended-oneof-variant": {
          "schema_updates_strategy": "mixed_schema_origin"
        },
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "API definitions are scoped to application namespaces"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "api_discoveryAuthParameterType": {
        "type": "string",
        "description": "Enumeration for authentication parameter types.",
        "title": "AuthParameterType",
        "enum": [
          "QUERY_PARAMETER",
          "HEADER",
          "COOKIE"
        ],
        "default": "QUERY_PARAMETER",
        "x-displayname": "Authentication Parameter Type.",
        "x-ves-proto-enum": "ves.io.schema.api_sec.api_discovery.AuthParameterType",
        "x-f5xc-description-short": "Enumeration for authentication parameter types.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_discoveryAuthParameterType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"QUERY_PARAMETER\"",
          "example_yaml": "QUERY_PARAMETER\n..."
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_discoveryCreateRequest": {
        "type": "object",
        "description": "This is the input message of the 'Create' RPC.",
        "title": "CreateRequest is used to create an instance of api_discovery",
        "x-displayname": "Create Request.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_discovery.CreateRequest",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectCreateMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_discoveryCreateSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "API discovery configuration for automatic API endpoint detection",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "spec.user_defined_api_discovery_policy"
          ],
          "mutually_exclusive_groups": [],
          "example_yaml": "apiVersion: v1\nkind: api_discovery\nmetadata:\n  name: example-discovery\n  namespace: default\nspec:\n  user_defined_api_discovery_policy: {}\n",
          "example_json": "{\n  \"metadata\": {\n    \"name\": \"example-discovery\",\n    \"namespace\": \"default\"\n  },\n  \"spec\": {\n    \"user_defined_api_discovery_policy\": {}\n  }\n}\n"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_discoveryCreateResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_discovery.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/api_discoveryGetSpecType"
              }
            ],
            "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 api_discoveryCreateResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_discoveryCreateSpecType": {
        "type": "object",
        "description": "Create API discovery creates a new object in the storage backend for metadata.namespace.",
        "title": "Create api discovery",
        "x-displayname": "Create API Discovery.",
        "x-ves-displayorder": "2,1",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_discovery.CreateSpecType",
        "properties": {
          "custom_auth_types": {
            "type": "array",
            "description": "Select your custom authentication types to be detected in the API discovery.",
            "maxItems": 10,
            "items": {
              "$ref": "#/components/schemas/api_discoveryCustomAuthType"
            },
            "x-displayname": "Custom Authentication Types.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "10"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "10"
            },
            "x-f5xc-description-short": "Select your custom authentication types to be detected in the API discovery.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 10,
              "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
            },
            "default": [],
            "x-f5xc-server-default": true
          },
          "user_defined_api_discovery_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_discoveryUserDefinedApiDiscoveryPolicy"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Create API discovery creates a new object in the storage backend for metadata.namespace.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_discoveryCreateSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_discoveryCustomAuthType": {
        "type": "object",
        "description": "Customize Authentication Type.",
        "title": "CustomAuthType",
        "x-displayname": "Custom Auth Type.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_discovery.CustomAuthType",
        "properties": {
          "parameter_name": {
            "type": "string",
            "description": "The authentication parameter name.",
            "title": "parameter name",
            "maxLength": 256,
            "x-displayname": "Parameter Name.",
            "x-ves-example": "X-auth-header.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "256",
              "ves.io.schema.rules.string.not_empty": "true",
              "ves.io.schema.rules.string.pattern": "^[!#$%&'*+\\\\-.^_`|~0-9A-Za-z]+$"
            },
            "x-f5xc-example": "x-auth-header",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "256",
              "ves.io.schema.rules.string.not_empty": "true",
              "ves.io.schema.rules.string.pattern": "^[!#$%&'*+\\\\-.^_`|~0-9A-Za-z]+$"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "byteLength": {
                "max": 256
              },
              "pattern": "^[!#$%&'*+\\\\-.^_`|~0-9A-Za-z]+$",
              "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
            }
          },
          "parameter_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_discoveryAuthParameterType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_discoveryCustomAuthType",
          "required_fields": [
            "parameter_name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"parameter_name\": \"x-auth-header\"\n}",
          "example_yaml": "parameter_name: x-auth-header"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_discoveryDeleteRequest": {
        "type": "object",
        "description": "This is the input message of the 'DELETE' RPC.",
        "title": "DeleteRequest is used to delete a api_discovery",
        "x-displayname": "DELETE Request.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_discovery.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 api_discoveryDeleteRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_discoveryDiscoveryRule": {
        "type": "object",
        "description": "Defines a rule for classifying endpoints as API or Non-API.",
        "title": "DiscoveryRule",
        "x-displayname": "Discovery Rule.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_discovery.DiscoveryRule",
        "properties": {
          "labels": {
            "type": "object",
            "description": "Map of string keys and values that can be used to organize and categorize the rule.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Map of string keys and values that can be used to organize and categorize the rule.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaMessageMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "rule_properties": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_discoveryRuleProperties"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Defines a rule for classifying endpoints as API or Non-API.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_discoveryDiscoveryRule",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_discoveryExclusionConfig": {
        "type": "object",
        "description": "Configuration for exclusion action.",
        "title": "ExclusionConfig",
        "x-displayname": "Exclusion Configuration.",
        "x-ves-oneof-field-action_choice": "[\"archive\",\"ignore\"]",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_discovery.ExclusionConfig",
        "properties": {
          "archive": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "ignore"
            ]
          },
          "ignore": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "archive"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_discoveryExclusionConfig",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_discoveryGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read api_discovery",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_discovery.GetResponse",
        "properties": {
          "create_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_discoveryCreateRequest"
              }
            ],
            "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/api_discoveryReplaceRequest"
              }
            ],
            "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/api_discoveryGetSpecType"
              }
            ],
            "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/api_discoveryStatusObject"
            },
            "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 api_discoveryGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_discoveryGetSpecType": {
        "type": "object",
        "description": "GET api_discovery reads a given object from storage backend for metadata.namespace.",
        "title": "Get api discovery",
        "x-displayname": "GET API Discovery.",
        "x-ves-displayorder": "2,1",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_discovery.GetSpecType",
        "properties": {
          "custom_auth_types": {
            "type": "array",
            "description": "Select your custom authentication types to be detected in the API discovery.",
            "maxItems": 10,
            "items": {
              "$ref": "#/components/schemas/api_discoveryCustomAuthType"
            },
            "x-displayname": "Custom Authentication Types.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "10"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "10"
            },
            "x-f5xc-description-short": "Select your custom authentication types to be detected in the API discovery.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 10,
              "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
            },
            "default": [],
            "x-f5xc-server-default": true
          },
          "user_defined_api_discovery_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_discoveryUserDefinedApiDiscoveryPolicy"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "GET api_discovery reads a given object from storage backend for metadata.namespace.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_discoveryGetSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_discoveryHTTPHeaderCriteria": {
        "type": "object",
        "description": "Criteria for matching HTTP headers.",
        "title": "HTTPHeaderCriteria",
        "x-displayname": "HTTP Header Criteria.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_discovery.HTTPHeaderCriteria",
        "properties": {
          "field_name": {
            "type": "string",
            "description": "Human-readable name for the resource",
            "title": "field_name",
            "maxLength": 256,
            "x-displayname": "HTTP Header Name.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.http_header_field": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.http_header_field": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-f5xc-example": "example-resource",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "byteLength": {
                "max": 256
              },
              "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
            }
          },
          "location": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_discoveryRuleLocation"
              }
            ],
            "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"
          },
          "match_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_discoveryMatchType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "value": {
            "type": "string",
            "description": "Configuration parameter for value",
            "title": "value",
            "maxLength": 1024,
            "x-displayname": "Value",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "1024",
              "ves.io.schema.rules.string.not_empty": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "1024",
              "ves.io.schema.rules.string.not_empty": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "byteLength": {
                "max": 1024
              },
              "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
            },
            "minLength": 3,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_discoveryHTTPHeaderCriteria",
          "required_fields": [
            "field_name",
            "value"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"field_name\": \"example-resource\",\n  \"value\": \"value\"\n}",
          "example_yaml": "field_name: example-resource\nvalue: value"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_discoveryListResponse": {
        "type": "object",
        "description": "This is the output message of 'List' RPC.",
        "title": "ListResponse is the collection of api_discovery",
        "x-displayname": "List Response.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_discovery.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/api_discoveryListResponseItem"
            },
            "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 api_discoveryListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_discoveryListResponseItem": {
        "type": "object",
        "description": "By default a summary of api_discovery 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 api_discovery",
        "x-displayname": "List Item",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_discovery.ListResponseItem",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "The set of annotations present on this api_discovery.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of annotations present on this api_discovery.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "The description set for this api_discovery.",
            "title": "description",
            "x-displayname": "Description.",
            "x-f5xc-description-short": "The description set for this api_discovery.",
            "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 api_discovery is administratively disabled.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Value of true indicates api_discovery is administratively disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "get_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_discoveryGetSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "The set of labels present on this api_discovery.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of labels present on this api_discovery.",
            "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 api_discovery.",
            "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/api_discoveryStatusObject"
            },
            "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 api_discovery.",
            "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 api_discovery 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 api_discovery 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 api_discoveryListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_discoveryMatchType": {
        "type": "string",
        "description": "Specifies how the value should be matched.",
        "title": "MatchType",
        "enum": [
          "EXACT_MATCH",
          "SUBSTRING",
          "REGEX"
        ],
        "default": "EXACT_MATCH",
        "x-displayname": "Match Type.",
        "x-ves-proto-enum": "ves.io.schema.api_sec.api_discovery.MatchType",
        "x-f5xc-description-short": "Specifies how the value should be matched.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_discoveryMatchType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"EXACT_MATCH\"",
          "example_yaml": "EXACT_MATCH\n..."
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_discoveryReplaceRequest": {
        "type": "object",
        "description": "This is the input message of the 'Replace' RPC.",
        "title": "ReplaceRequest is used to replace contents of a api_discovery",
        "x-displayname": "Replace Request.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_discovery.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/api_discoveryReplaceSpecType"
              }
            ],
            "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": "API discovery configuration for automatic API endpoint detection",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_discoveryReplaceResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_discovery.ReplaceResponse",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_discoveryReplaceResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_discoveryReplaceSpecType": {
        "type": "object",
        "description": "Replace api_discovery replaces an existing object in the storage backend for metadata.namespace.",
        "title": "Replace api discovery",
        "x-displayname": "Replace API Discovery.",
        "x-ves-displayorder": "2,1",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_discovery.ReplaceSpecType",
        "properties": {
          "custom_auth_types": {
            "type": "array",
            "description": "Select your custom authentication types to be detected in the API discovery.",
            "maxItems": 10,
            "items": {
              "$ref": "#/components/schemas/api_discoveryCustomAuthType"
            },
            "x-displayname": "Custom Authentication Types.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "10"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "10"
            },
            "x-f5xc-description-short": "Select your custom authentication types to be detected in the API discovery.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 10,
              "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
            },
            "default": [],
            "x-f5xc-server-default": true
          },
          "user_defined_api_discovery_policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_discoveryUserDefinedApiDiscoveryPolicy"
              }
            ],
            "x-f5xc-description-short": "Policy configuration for this feature.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Replace api_discovery replaces an existing object in the storage backend for metadata.namespace.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_discoveryReplaceSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_discoveryRuleLocation": {
        "type": "string",
        "description": "Specifies whether the rule criteria should be evaluated against request or response\n\nApplies the rule to incoming traffic from the client.\nApplies the rule to outgoing traffic sent back to the client.",
        "title": "RuleLocation",
        "enum": [
          "REQUEST",
          "RESPONSE"
        ],
        "default": "REQUEST",
        "x-displayname": "Rule Location.",
        "x-ves-proto-enum": "ves.io.schema.api_sec.api_discovery.RuleLocation",
        "x-f5xc-description-short": "Specifies whether the rule criteria should be evaluated against request or response Applies the rule to incoming traffic from the client.",
        "x-f5xc-description-medium": "Specifies whether the rule criteria should be evaluated against request or response Applies the rule to incoming traffic from the client. Applies the rule to outgoing traffic sent back to the client.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_discoveryRuleLocation",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"REQUEST\"",
          "example_yaml": "REQUEST\n..."
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_discoveryRuleProperties": {
        "type": "object",
        "description": "Determines whether matching endpoints are included in API Discovery or excluded.",
        "title": "RuleProperties",
        "x-displayname": "Rule Properties.",
        "x-ves-oneof-field-criteria": "[\"http_header_criteria\",\"pattern\"]",
        "x-ves-oneof-field-rule_type_choice": "[\"exclusion\",\"inclusion\"]",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_discovery.RuleProperties",
        "properties": {
          "exclusion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_discoveryExclusionConfig"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "inclusion"
            ]
          },
          "http_header_criteria": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_discoveryHTTPHeaderCriteria"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for http header criteria.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "pattern"
            ]
          },
          "inclusion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "exclusion"
            ]
          },
          "pattern": {
            "type": "string",
            "description": "Exclusive with [http_header_criteria]\nPatterns are matched against the request path to identify endpoints by path structure, file extension, or version prefix. Endpoints that match this pattern are affected by the rule.",
            "title": "pattern",
            "maxLength": 512,
            "x-displayname": "Pattern",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "512",
              "ves.io.schema.rules.string.not_empty": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "512",
              "ves.io.schema.rules.string.not_empty": "true"
            },
            "x-f5xc-description-short": "Exclusive with [http_header_criteria] Patterns are matched against the request path to identify endpoints by path structure, file extension, or...",
            "x-f5xc-description-medium": "Exclusive with [http_header_criteria] Patterns are matched against the request path to identify endpoints by path structure, file extension, or version prefix. Endpoints that match this pattern are affected by the rule.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 512,
              "byteLength": {
                "max": 512
              },
              "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": [
              "http_header_criteria"
            ]
          }
        },
        "x-f5xc-description-short": "Determines whether matching endpoints are included in API Discovery or excluded.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_discoveryRuleProperties",
          "required_fields": [
            "pattern"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"pattern\": \"value\"\n}",
          "example_yaml": "pattern: value"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_discoveryStatusObject": {
        "type": "object",
        "description": "Most recently observed status of object.",
        "title": "Status of api_discovery",
        "x-displayname": "Status",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_discovery.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": "Object reference.",
            "title": "object_refs",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "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 api_discoveryStatusObject",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_discoveryUserDefinedApiDiscoveryPolicy": {
        "type": "object",
        "description": "Rules are evaluated sequentially, top to bottom. If no rules are added, all traffic will be discovered or ignored based on the selection in the 'Default Behaviour of the Rule Set' field.",
        "title": "UserDefinedApiDiscoveryPolicy",
        "x-displayname": "User Defined API Discovery Policy.",
        "x-ves-oneof-field-default_behavior_choice": "[\"exclusive\",\"inclusive\"]",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_discovery.UserDefinedApiDiscoveryPolicy",
        "properties": {
          "discovery_rules": {
            "type": "array",
            "description": "Define rules to include or exclude endpoints by path, domain, or header. Rules run top to bottom; unmatched endpoints follow the default action.",
            "title": "discovery_rules",
            "maxItems": 100,
            "items": {
              "$ref": "#/components/schemas/api_discoveryDiscoveryRule"
            },
            "x-displayname": "Discovery Rules.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "100",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "100",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Define rules to include or exclude endpoints by path, domain, or header. Rules run top to bottom; unmatched endpoints follow the default action.",
            "x-f5xc-description-medium": "Define rules to include or exclude endpoints by path, domain, or header. Rules run top to bottom; unmatched endpoints follow the default action.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 100,
              "uniqueItems": true,
              "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
            },
            "default": [],
            "x-f5xc-server-default": true
          },
          "exclusive": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_discoveryExclusionConfig"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "inclusive"
            ]
          },
          "inclusive": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "default": {},
            "x-f5xc-server-default": true,
            "x-f5xc-conflicts-with": [
              "exclusive"
            ]
          }
        },
        "x-f5xc-description-short": "Rules are evaluated sequentially, top to bottom.",
        "x-f5xc-description-medium": "Rules are evaluated sequentially, top to bottom. If no rules are added, all traffic will be discovered or ignored based on the selection in the 'Default Behaviour of the Rule Set' field.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_discoveryUserDefinedApiDiscoveryPolicy",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaMessageMetaType": {
        "type": "object",
        "description": "MessageMetaType is metadata (common attributes) of a message that only certain messages\nhave. This information is propagated to the metadata of a child object that gets created\nfrom the containing message during view processing.\nThe information in this type can be specified by user during create and replace APIs.",
        "title": "MessageMetaType",
        "x-displayname": "Message Metadata.",
        "x-ves-proto-message": "ves.io.schema.MessageMetaType",
        "properties": {
          "description": {
            "type": "string",
            "description": "Human readable description.",
            "title": "description",
            "maxLength": 256,
            "x-displayname": "Description.",
            "x-ves-example": "Virtual Host for Example Corp website.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "Virtual Host for Example Corp website",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "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
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "name": {
            "type": "string",
            "description": "This is the name of the message.\nThe value of name has to follow DNS-1035 format.",
            "title": "name",
            "minLength": 1,
            "x-displayname": "Name",
            "x-ves-example": "Example-corp-web.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.min_len": "1",
              "ves.io.schema.rules.string.ves_object_name": "true"
            },
            "x-f5xc-example": "example-corp-web",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.min_len": "1",
              "ves.io.schema.rules.string.ves_object_name": "true"
            },
            "x-f5xc-description-short": "Name of the message. The value of name has to follow DNS-1035 format.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 63,
              "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": "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
            },
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-description-short": "MessageMetaType is metadata (common attributes) of a message that only certain messages have.",
        "x-f5xc-description-medium": "MessageMetaType is metadata (common attributes) of a message that only certain messages have. This information is propagated to the metadata of a child object that gets created from the containing message during view processing. The information in this type can be specified by user during create...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaMessageMetaType",
          "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": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_groupGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read api_group",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.api_group.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/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/schemaapi_groupGetSpecType"
              }
            ],
            "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/api_groupStatusObject"
            },
            "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 api_groupGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_groupListResponse": {
        "type": "object",
        "description": "This is the output message of 'List' RPC.",
        "title": "ListResponse is the collection of api_group",
        "x-displayname": "List Response.",
        "x-ves-proto-message": "ves.io.schema.api_group.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/api_groupListResponseItem"
            },
            "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 api_groupListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_groupListResponseItem": {
        "type": "object",
        "description": "By default a summary of api_group 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 api_group",
        "x-displayname": "List Item",
        "x-ves-proto-message": "ves.io.schema.api_group.ListResponseItem",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "The set of annotations present on this api_group.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of annotations present on this api_group.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "The description set for this api_group.",
            "title": "description",
            "x-displayname": "Description.",
            "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 api_group is administratively disabled.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Value of true indicates api_group is administratively disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "get_spec": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaapi_groupGetSpecType"
              }
            ],
            "description": "Desired state specification",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "The set of labels present on this api_group.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of labels present on this api_group.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectGetMetaType"
              }
            ],
            "description": "Metadata associated with the resource",
            "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 api_group.",
            "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": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaViewRefType"
              }
            ],
            "description": "Owner or responsible party",
            "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/api_groupStatusObject"
            },
            "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": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectGetMetaType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "description": "Data or content configuration",
            "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 api_group.",
            "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 api_group 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 api_group 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 api_groupListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_groupStatusObject": {
        "type": "object",
        "description": "Most recently observed status of object.",
        "title": "Status of API group",
        "x-displayname": "Status",
        "x-ves-proto-message": "ves.io.schema.api_group.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": "Object reference.",
            "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 api_groupStatusObject",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "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": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaapi_groupGetSpecType": {
        "type": "object",
        "description": "GET api_group reads a given object from storage backend for metadata.namespace.",
        "title": "Get api group",
        "x-displayname": "GET API Group.",
        "x-ves-proto-message": "ves.io.schema.api_group.GetSpecType",
        "properties": {
          "element_specs": {
            "type": "array",
            "description": "Desired state specification",
            "maxItems": 5000,
            "items": {
              "$ref": "#/components/schemas/schemaapi_group_elementGlobalSpecType"
            },
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "5000"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "5000"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 5000,
              "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
            }
          },
          "elements": {
            "type": "array",
            "description": "Configuration parameter for elements",
            "maxItems": 512,
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "512"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "512"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 512,
              "minItems": 0,
              "uniqueItems": false,
              "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-description-short": "GET api_group reads a given object from storage backend for metadata.namespace.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaapi_groupGetSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_group_elementGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read api_group_element",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.api_group_element.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/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/api_group_elementGetSpecType"
              }
            ],
            "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/api_group_elementStatusObject"
            },
            "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 api_group_elementGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_group_elementGetSpecType": {
        "type": "object",
        "description": "GET api_group_element reads a given object from storage backend for metadata.namespace.",
        "title": "Get api group element",
        "x-displayname": "GET API Group Element.",
        "x-ves-proto-message": "ves.io.schema.api_group_element.GetSpecType",
        "properties": {
          "methods": {
            "type": "array",
            "description": "List of method values to match the input request API method against.\nThe match is considered to succeed if the input request API method is a member of the list.",
            "minItems": 1,
            "items": {
              "$ref": "#/components/schemas/schemaHttpMethod"
            },
            "x-displayname": "HTTP Methods.",
            "x-ves-example": "['PUT', 'POST', 'DELETE']",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.items.enum.not_in": "0",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "['PUT', 'POST', 'DELETE']",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.items.enum.not_in": "0",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of method values to match the input request API method against.",
            "x-f5xc-description-medium": "List of method values to match the input request API method against. The match is considered to succeed if the input request API method is a member of the list.",
            "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
            }
          },
          "path_regex": {
            "type": "string",
            "description": "Regular expression to match the input request API path against.\nThe match is considered to succeed if the input request API path matches the specified path regex.",
            "minLength": 1,
            "maxLength": 1024,
            "x-displayname": "Path Regex.",
            "x-ves-example": "/API/config/configconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfig.*/path[123]/$.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "1024",
              "ves.io.schema.rules.string.min_bytes": "1",
              "ves.io.schema.rules.string.regex": "true"
            },
            "x-f5xc-example": "/api/config/configconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfig.*/path[123]/$",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "1024",
              "ves.io.schema.rules.string.min_bytes": "1",
              "ves.io.schema.rules.string.regex": "true"
            },
            "x-f5xc-description-short": "Regular expression to match the input request API path against.",
            "x-f5xc-description-medium": "Regular expression to match the input request API path against. The match is considered to succeed if the input request API path matches the specified path regex.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 1024,
              "byteLength": {
                "max": 1024,
                "min": 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": "GET api_group_element reads a given object from storage backend for metadata.namespace.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_group_elementGetSpecType",
          "required_fields": [
            "methods",
            "path_regex"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"methods\": [\n    \"ANY\"\n  ],\n  \"path_regex\": \"/api/config/configconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfig.*/path[123]/$\"\n}",
          "example_yaml": "methods:\n- ANY\npath_regex: /api/config/configconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfig.*/path[123]/$"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_group_elementListResponse": {
        "type": "object",
        "description": "This is the output message of 'List' RPC.",
        "title": "ListResponse is the collection of api_group_element",
        "x-displayname": "List Response.",
        "x-ves-proto-message": "ves.io.schema.api_group_element.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/api_group_elementListResponseItem"
            },
            "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 api_group_elementListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_group_elementListResponseItem": {
        "type": "object",
        "description": "By default a summary of api_group_element 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 api_group_element",
        "x-displayname": "List Item",
        "x-ves-proto-message": "ves.io.schema.api_group_element.ListResponseItem",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "The set of annotations present on this api_group_element.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of annotations present on this api_group_element.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "The description set for this api_group_element.",
            "title": "description",
            "x-displayname": "Description.",
            "x-f5xc-description-short": "The description set for this api_group_element.",
            "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 api_group_element is administratively disabled.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Value of true indicates api_group_element is administratively disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "get_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_group_elementGetSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "The set of labels present on this api_group_element.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of labels present on this api_group_element.",
            "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 api_group_element.",
            "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/api_group_elementStatusObject"
            },
            "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 api_group_element.",
            "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 api_group_element.",
            "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 api_group_element 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 api_group_element 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 api_group_elementListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_group_elementStatusObject": {
        "type": "object",
        "title": "Most recently observed status of object",
        "x-displayname": "Status Object.",
        "x-ves-proto-message": "ves.io.schema.api_group_element.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": "Object reference.",
            "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-minimum-configuration": {
          "description": "Minimum configuration for api_group_elementStatusObject",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_testingApiKey": {
        "type": "object",
        "title": "Api Key",
        "x-displayname": "API Key",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_testing.ApiKey",
        "properties": {
          "key": {
            "type": "string",
            "description": "Cryptographic key material",
            "title": "Api Key",
            "maxLength": 128,
            "x-displayname": "Key",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-example": "[REDACTED_PUBLIC_KEY]",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "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
            },
            "minLength": 7,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSecretType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 15,
            "minLength": 3,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_testingApiKey",
          "required_fields": [
            "key"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"key\": \"[REDACTED_PUBLIC_KEY]\"\n}",
          "example_yaml": "key: '[REDACTED_PUBLIC_KEY]'"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_testingBasicAuthentication": {
        "type": "object",
        "title": "Basic Authentication",
        "x-displayname": "Basic Authentication.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_testing.BasicAuthentication",
        "properties": {
          "password": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSecretType"
              }
            ],
            "x-f5xc-example": "example",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "user": {
            "type": "string",
            "description": "Configuration parameter for user",
            "title": "The custom domain user authentication",
            "maxLength": 64,
            "x-displayname": "User",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "64"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "64"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 64,
              "minLength": 1,
              "pattern": "^[a-zA-Z0-9_.-]+$",
              "characterSet": {
                "allowed": "[a-zA-Z0-9_.-]",
                "description": "Alphanumeric with underscores, dots, hyphens"
              },
              "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
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_testingBasicAuthentication",
          "required_fields": [
            "user"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"user\": \"value\"\n}",
          "example_yaml": "user: value"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_testingBearer": {
        "type": "object",
        "title": "Bearer Authentication",
        "x-displayname": "Bearer",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_testing.Bearer",
        "properties": {
          "token": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSecretType"
              }
            ],
            "x-f5xc-example": "example",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_testingBearer",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_testingCreateRequest": {
        "type": "object",
        "description": "This is the input message of the 'Create' RPC.",
        "title": "CreateRequest is used to create an instance of api_testing",
        "x-displayname": "Create Request.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_testing.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/api_testingCreateSpecType"
              }
            ],
            "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 api_testingCreateRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_testingCreateResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_testing.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/api_testingGetSpecType"
              }
            ],
            "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 api_testingCreateResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_testingCreateSpecType": {
        "type": "object",
        "title": "Create API Testing",
        "x-displayname": "Create API Testing.",
        "x-ves-oneof-field-frequency_choice": "[\"every_day\",\"every_month\",\"every_week\"]",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_testing.CreateSpecType",
        "properties": {
          "custom_header_value": {
            "type": "string",
            "description": "Add x-F5-API-testing-identifier header value to prevent security flags on API testing traffic.",
            "maxLength": 128,
            "x-displayname": "Custom Header.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-description-short": "Add x-F5-API-testing-identifier header value to prevent security flags on API testing traffic.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "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
            }
          },
          "domains": {
            "type": "array",
            "description": "Add and configure testing domains and credentials.",
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/api_testingDomainConfiguration"
            },
            "x-displayname": "Testing Environments.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32"
            },
            "x-f5xc-description-short": "Add and configure testing domains and credentials.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "minItems": 1,
              "uniqueItems": true,
              "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
            }
          },
          "every_day": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "every_month",
              "every_week"
            ]
          },
          "every_month": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for every month.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "every_day",
              "every_week"
            ]
          },
          "every_week": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "every_day",
              "every_month"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_testingCreateSpecType",
          "required_fields": [
            "domains"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"domains\": [\n    {\n      \"credentials\": [\n        {\n          \"credential_name\": \"example\"\n        }\n      ],\n      \"domain\": \"example.com\"\n    }\n  ]\n}",
          "example_yaml": "domains:\n- credentials:\n  - credential_name: example\n  domain: example.com"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_testingCredentials": {
        "type": "object",
        "description": "Select the type of your credential, their values and roles.",
        "title": "Credentials",
        "x-displayname": "Credential Details.",
        "x-ves-oneof-field-credentials_choice": "[\"api_key\",\"basic_auth\",\"bearer_token\",\"login_endpoint\"]",
        "x-ves-oneof-field-role_choice": "[\"admin\",\"standard\"]",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_testing.Credentials",
        "properties": {
          "admin": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "standard"
            ]
          },
          "api_key": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_testingApiKey"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "basic_auth",
              "bearer_token",
              "login_endpoint"
            ]
          },
          "basic_auth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_testingBasicAuthentication"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_key",
              "bearer_token",
              "login_endpoint"
            ]
          },
          "bearer_token": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_testingBearer"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for bearer token.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_key",
              "basic_auth",
              "login_endpoint"
            ]
          },
          "credential_name": {
            "type": "string",
            "description": "Enter a unique name for the credentials used in API testing.",
            "title": "Credential Name",
            "maxLength": 64,
            "x-displayname": "Name",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "64"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "64"
            },
            "x-f5xc-example": "example",
            "x-f5xc-description-short": "Enter a unique name for the credentials used in API testing.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 64,
              "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
            }
          },
          "login_endpoint": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_testingLoginEndpoint"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_key",
              "basic_auth",
              "bearer_token"
            ]
          },
          "standard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "admin"
            ]
          }
        },
        "x-f5xc-description-short": "Select the type of your credential, their values and roles.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_testingCredentials",
          "required_fields": [
            "credential_name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"credential_name\": \"example\"\n}",
          "example_yaml": "credential_name: example"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_testingDeleteRequest": {
        "type": "object",
        "description": "This is the input message of the 'DELETE' RPC.",
        "title": "DeleteRequest is used to delete a api_testing",
        "x-displayname": "DELETE Request.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_testing.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 api_testingDeleteRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_testingDomainConfiguration": {
        "type": "object",
        "description": "The Domain configuration message.",
        "title": "Configured API Domains",
        "x-displayname": "Domain Configuration.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_testing.DomainConfiguration",
        "properties": {
          "allow_destructive_methods": {
            "type": "boolean",
            "description": "Enable to allow API Testing to execute against destructive methods. Use with caution as these may modify or DELETE data.",
            "title": "Destructive Methods",
            "format": "boolean",
            "x-displayname": "Run API tests for destructive methods (e.g., DELETE, PUT).",
            "x-f5xc-description-short": "Enable to allow API Testing to execute against destructive methods. Use with caution as these may modify or DELETE data.",
            "x-f5xc-description-medium": "Enable to allow API Testing to execute against destructive methods. Use with caution as these may modify or DELETE data.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "credentials": {
            "type": "array",
            "description": "Add credentials for API testing to use in the selected environment.",
            "title": "The Domain credentials",
            "items": {
              "$ref": "#/components/schemas/api_testingCredentials"
            },
            "x-displayname": "Credentials.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Add credentials for API testing to use in the selected environment.",
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "domain": {
            "type": "string",
            "description": "Add your testing environment domain. Be aware that running tests on a production domain can impact live applications, as API testing cannot distinguish between production and testing environments.",
            "title": "Domain",
            "maxLength": 256,
            "x-displayname": "Domain",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-f5xc-example": "example.com",
            "x-f5xc-description-medium": "Add your testing environment domain. Be aware that running tests on a production domain can impact live applications, as API testing cannot distinguish between production and testing environments.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "format": "fqdn",
              "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
            },
            "minLength": 26,
            "format": "hostname",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_testingDomainConfiguration",
          "required_fields": [
            "credentials",
            "domain"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"credentials\": [\n    {\n      \"credential_name\": \"example\"\n    }\n  ],\n  \"domain\": \"example.com\"\n}",
          "example_yaml": "credentials:\n- credential_name: example\ndomain: example.com"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_testingGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read api_testing",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_testing.GetResponse",
        "properties": {
          "create_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_testingCreateRequest"
              }
            ],
            "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/api_testingReplaceRequest"
              }
            ],
            "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/api_testingGetSpecType"
              }
            ],
            "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/api_testingStatusObject"
            },
            "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 api_testingGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_testingGetSpecType": {
        "type": "object",
        "title": "Get API testing",
        "x-displayname": "GET API testing.",
        "x-ves-oneof-field-frequency_choice": "[\"every_day\",\"every_month\",\"every_week\"]",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_testing.GetSpecType",
        "properties": {
          "custom_header_value": {
            "type": "string",
            "description": "Add x-F5-API-testing-identifier header value to prevent security flags on API testing traffic.",
            "maxLength": 128,
            "x-displayname": "Custom Header.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-description-short": "Add x-F5-API-testing-identifier header value to prevent security flags on API testing traffic.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "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
            }
          },
          "domains": {
            "type": "array",
            "description": "Add and configure testing domains and credentials.",
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/api_testingDomainConfiguration"
            },
            "x-displayname": "Testing Environments.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32"
            },
            "x-f5xc-description-short": "Add and configure testing domains and credentials.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "minItems": 1,
              "uniqueItems": true,
              "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
            }
          },
          "every_day": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "every_month",
              "every_week"
            ]
          },
          "every_month": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for every month.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "every_day",
              "every_week"
            ]
          },
          "every_week": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "every_day",
              "every_month"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_testingGetSpecType",
          "required_fields": [
            "domains"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"domains\": [\n    {\n      \"credentials\": [\n        {\n          \"credential_name\": \"example\"\n        }\n      ],\n      \"domain\": \"example.com\"\n    }\n  ]\n}",
          "example_yaml": "domains:\n- credentials:\n  - credential_name: example\n  domain: example.com"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_testingListResponse": {
        "type": "object",
        "description": "This is the output message of 'List' RPC.",
        "title": "ListResponse is the collection of api_testing",
        "x-displayname": "List Response.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_testing.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/api_testingListResponseItem"
            },
            "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 api_testingListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_testingListResponseItem": {
        "type": "object",
        "description": "By default a summary of api_testing 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 api_testing",
        "x-displayname": "List Item",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_testing.ListResponseItem",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "The set of annotations present on this api_testing.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of annotations present on this api_testing.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "The description set for this api_testing.",
            "title": "description",
            "x-displayname": "Description.",
            "x-f5xc-description-short": "The description set for this api_testing.",
            "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 api_testing is administratively disabled.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Value of true indicates api_testing is administratively disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "get_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_testingGetSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "The set of labels present on this api_testing.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of labels present on this api_testing.",
            "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 api_testing.",
            "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/api_testingStatusObject"
            },
            "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 api_testing.",
            "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 api_testing 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 api_testing 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 api_testingListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_testingLoginEndpoint": {
        "type": "object",
        "title": "Login Endpoint",
        "x-displayname": "Login Endpoint.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_testing.LoginEndpoint",
        "properties": {
          "json_payload": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSecretType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for json payload.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaHttpMethod"
              }
            ],
            "x-f5xc-example": "GET",
            "x-f5xc-description-short": "HTTP method (GET, POST, PUT, DELETE, etc.).",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "path": {
            "type": "string",
            "description": "URL path for the endpoint",
            "title": "Login Endpoint Path",
            "maxLength": 1024,
            "x-displayname": "Path",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "1024"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "1024"
            },
            "x-f5xc-example": "/api/v1/resources",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "minLength": 1,
              "pattern": "^[/a-zA-Z0-9._-]+$",
              "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
            }
          },
          "token_response_key": {
            "type": "string",
            "description": "Configuration parameter for token response key",
            "title": "Token Response Key",
            "x-displayname": "Token Response Key.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Configuration parameter for token response key.",
            "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-minimum-configuration": {
          "description": "Minimum configuration for api_testingLoginEndpoint",
          "required_fields": [
            "path",
            "token_response_key"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"path\": \"/api/v1/resources\",\n  \"token_response_key\": \"example\"\n}",
          "example_yaml": "path: /api/v1/resources\ntoken_response_key: example"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_testingReplaceRequest": {
        "type": "object",
        "description": "This is the input message of the 'Replace' RPC.",
        "title": "ReplaceRequest is used to replace contents of a api_testing",
        "x-displayname": "Replace Request.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_testing.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/api_testingReplaceSpecType"
              }
            ],
            "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 api_testingReplaceRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_testingReplaceResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_testing.ReplaceResponse",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_testingReplaceResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_testingReplaceSpecType": {
        "type": "object",
        "title": "Replace API Testing",
        "x-displayname": "Replace API testing.",
        "x-ves-oneof-field-frequency_choice": "[\"every_day\",\"every_month\",\"every_week\"]",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_testing.ReplaceSpecType",
        "properties": {
          "custom_header_value": {
            "type": "string",
            "description": "Add x-F5-API-testing-identifier header value to prevent security flags on API testing traffic.",
            "maxLength": 128,
            "x-displayname": "Custom Header.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-description-short": "Add x-F5-API-testing-identifier header value to prevent security flags on API testing traffic.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "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
            }
          },
          "domains": {
            "type": "array",
            "description": "Add and configure testing domains and credentials.",
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/api_testingDomainConfiguration"
            },
            "x-displayname": "Testing Environments.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32"
            },
            "x-f5xc-description-short": "Add and configure testing domains and credentials.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "minItems": 1,
              "uniqueItems": true,
              "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
            }
          },
          "every_day": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "every_month",
              "every_week"
            ]
          },
          "every_month": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for every month.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "every_day",
              "every_week"
            ]
          },
          "every_week": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "every_day",
              "every_month"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_testingReplaceSpecType",
          "required_fields": [
            "domains"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"domains\": [\n    {\n      \"credentials\": [\n        {\n          \"credential_name\": \"example\"\n        }\n      ],\n      \"domain\": \"example.com\"\n    }\n  ]\n}",
          "example_yaml": "domains:\n- credentials:\n  - credential_name: example\n  domain: example.com"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_testingStatusObject": {
        "type": "object",
        "title": "Most recently observed status of object",
        "x-displayname": "Status Object.",
        "x-ves-proto-message": "ves.io.schema.api_sec.api_testing.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": "Object reference.",
            "title": "object_refs",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Config Object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_testingStatusObject",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialAPICredentialType": {
        "type": "string",
        "description": "Types of API credential given when requesting credentials from F5 Distributed Cloud\n\nF5XC user certificate to access F5XC public API using mTLS\nusing self credential (my credential)\nKubernetes config file to access Virtual Kubernetes API in F5 Distributed Cloud\nusing self credential (my credential)\nAPI token to access F5XC public API\nusing self credential (my credential)\nAPI token for service credentials\nusing service user credential (service credential)\nAPI certificate for service credentials\nusing service user credential (service credential)\nService Credential kubeconfig\nusing service user credential (service credential)\nKubeconfig for accessing Site via Global Controller\nusing self credential (my credential)\nToken for the SCIM public APIs used to sync users and groups with the F5XC platform.\nExternal identity provider's SCIM client can use this token as Bearer token with Authorization header\nService Credential Kubeconfig for accessing Site via Global Controller\nusing service user credential (service credential)",
        "title": "API Credential type",
        "enum": [
          "API_CERTIFICATE",
          "KUBE_CONFIG",
          "API_TOKEN",
          "SERVICE_API_TOKEN",
          "SERVICE_API_CERTIFICATE",
          "SERVICE_KUBE_CONFIG",
          "SITE_GLOBAL_KUBE_CONFIG",
          "SCIM_API_TOKEN",
          "SERVICE_SITE_GLOBAL_KUBE_CONFIG"
        ],
        "default": "API_CERTIFICATE",
        "x-displayname": "Credential Type.",
        "x-ves-proto-enum": "ves.io.schema.api_credential.APICredentialType",
        "x-f5xc-description-short": "Types of API credential given when requesting credentials from F5 Distributed Cloud F5XC user certificate to access F5XC public API using mTLS...",
        "x-f5xc-description-medium": "Types of API credential given when requesting credentials from F5 Distributed Cloud F5XC user certificate to access F5XC public API using mTLS using self credential (my credential) Kubernetes config file to access Virtual Kubernetes API in F5 Distributed Cloud using self credential (my...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialAPICredentialType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"API_CERTIFICATE\"",
          "example_yaml": "API_CERTIFICATE\n..."
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialApiCertificateType": {
        "type": "object",
        "description": "Service API Certificate parameters.",
        "title": "api_certificate",
        "x-displayname": "Service API Certificate Specification.",
        "x-ves-proto-message": "ves.io.schema.api_credential.ApiCertificateType",
        "properties": {
          "password": {
            "type": "string",
            "description": "Password is used for generating an API certificate P12 bundle user can use to protect access to it.\nThis password will not be saved/persisted anywhere in the system. Applicable for credential type API_CERTIFICATE\nUsers have to use this password when they use the certificate, e.g. In curl or while adding to key chain.",
            "title": "Password for API certificate",
            "minLength": 6,
            "maxLength": 50,
            "x-displayname": "Password",
            "x-ves-example": "MyPassw0rd123.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "50",
              "ves.io.schema.rules.string.min_bytes": "6"
            },
            "x-f5xc-example": "example",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "50",
              "ves.io.schema.rules.string.min_bytes": "6"
            },
            "x-f5xc-description-short": "Password is used for generating an API certificate P12 bundle user can use to protect access to it.",
            "x-f5xc-description-medium": "Password is used for generating an API certificate P12 bundle user can use to protect access to it. This password will not be saved/persisted anywhere in the system. Applicable for credential type API_CERTIFICATE Users have to use this password when they use the certificate, e.g.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 6,
              "maxLength": 50,
              "byteLength": {
                "max": 50,
                "min": 6
              },
              "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 api_credentialApiCertificateType",
          "required_fields": [
            "password"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"password\": \"example\"\n}",
          "example_yaml": "password: example"
        },
        "x-f5xc-cli-domain": "certificates",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialBulkRevokeRequest": {
        "type": "object",
        "description": "Request format for revoking multiple API credentials.",
        "title": "Bulk Revoke Request",
        "x-displayname": "Bulk Revoke Request.",
        "x-ves-oneof-field-bulkrevoke_choice": "[\"expired_selector\",\"name_selector\"]",
        "x-ves-proto-message": "ves.io.schema.api_credential.BulkRevokeRequest",
        "properties": {
          "expired_selector": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialExpiredSelector"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for expired selector.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "name_selector"
            ]
          },
          "name_selector": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialNameSelector"
              }
            ],
            "x-f5xc-example": "example-resource",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "expired_selector"
            ]
          }
        },
        "x-f5xc-description-short": "Request format for revoking multiple API credentials.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialBulkRevokeRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialBulkRevokeResponse": {
        "type": "object",
        "description": "Response format for revoking multiple API credentials.",
        "title": "Bulk Revoke Response",
        "x-displayname": "Bulk Revoke Response.",
        "x-ves-proto-message": "ves.io.schema.api_credential.BulkRevokeResponse",
        "properties": {
          "credentials_failed": {
            "type": "array",
            "description": "Names of credentials that are not marked as DELETE due to some error.",
            "title": "Credentials Failed",
            "items": {
              "type": "string"
            },
            "x-displayname": "Credentials Failed.",
            "x-f5xc-description-short": "Names of credentials that are not marked as DELETE due to some error.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "credentials_marked_for_deletion": {
            "type": "array",
            "description": "Names of credentials that are successfully marked for deletion.",
            "title": "Credentials Success",
            "items": {
              "type": "string"
            },
            "x-displayname": "Credentials Success.",
            "x-f5xc-description-short": "Names of credentials that are successfully marked for deletion.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "error_message": {
            "type": "string",
            "description": "Error message about the failures of bulk revoke of credentials.",
            "title": "error message",
            "x-displayname": "Error Message.",
            "x-f5xc-description-short": "Error message about the failures of bulk revoke of 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-f5xc-description-short": "Response format for revoking multiple API credentials.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialBulkRevokeResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialCreateRequest": {
        "type": "object",
        "description": "CreateRequest is the request format for generating API credential.",
        "title": "Create Request",
        "x-displayname": "Create Request.",
        "x-ves-displayorder": "1,2,3,5",
        "x-ves-proto-message": "ves.io.schema.api_credential.CreateRequest",
        "properties": {
          "expiration_days": {
            "type": "integer",
            "description": "Qty of days of service credential expiration.",
            "title": "Expiry in days",
            "format": "int64",
            "x-displayname": "Expiry in days.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Qty of days of service credential expiration.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Name of API credential record. It will be saved in metadata.",
            "title": "Name",
            "x-displayname": "Name",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Name of API credential record. It will be saved in metadata.",
            "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": "Value of namespace is always \"system\".",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "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])?$"
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialCustomCreateSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "CreateRequest is the request format for generating API credential.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialCreateRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialCreateResponse": {
        "type": "object",
        "description": "CreateResponse is the response format for the credential's create request.",
        "title": "Create response",
        "x-displayname": "Create Response.",
        "x-ves-displayorder": "1",
        "x-ves-proto-message": "ves.io.schema.api_credential.CreateResponse",
        "properties": {
          "active": {
            "type": "boolean",
            "format": "boolean",
            "description": "Indicates if the resource is active",
            "x-f5xc-example": "True",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "data": {
            "type": "string",
            "description": "Data is the response format based on the API credential type.\nIn case of API_CERTIFICATES, the response is the base64 encoded value of\ncertificate in PKCS12 format.\nIn case of KUBE_CONFIG, the response is the base64 encoded value of the K8s kubeconfig file\nwith contents as requested - cluster,namespace and base64 encoded certificate, key and CA.",
            "title": "Credentials",
            "x-displayname": "Credentials.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Data is the response format based on the API credential type.",
            "x-f5xc-description-medium": "Data is the response format based on the API credential type. In case of API_CERTIFICATES, the response is the base64 encoded value of certificate in PKCS12 format. In case of KUBE_CONFIG, the response is the base64 encoded value of the K8s kubeconfig file with contents as requested ...",
            "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
            }
          },
          "expiration_timestamp": {
            "type": "string",
            "format": "date-time",
            "description": "Configuration parameter for expiration timestamp",
            "x-f5xc-description-short": "Configuration parameter for expiration timestamp.",
            "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
            }
          },
          "name": {
            "type": "string",
            "description": "Human-readable name for the resource",
            "x-f5xc-example": "example-resource",
            "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": "CreateResponse is the response format for the credential's create request.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialCreateResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialCreateServiceCredentialsRequest": {
        "type": "object",
        "description": "CreateServiceCredentialsRequest is the request format for creating service credentials.",
        "title": "Create Service Credentials Request",
        "x-displayname": "Create Service Credentials Request.",
        "x-ves-oneof-field-service_credential_choice": "[\"api_certificate\",\"api_token\",\"site_kubeconfig\",\"vk8s_kubeconfig\"]",
        "x-ves-proto-message": "ves.io.schema.api_credential.CreateServiceCredentialsRequest",
        "properties": {
          "api_certificate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialApiCertificateType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_token",
              "site_kubeconfig",
              "vk8s_kubeconfig"
            ]
          },
          "api_token": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_certificate",
              "site_kubeconfig",
              "vk8s_kubeconfig"
            ]
          },
          "expiration_days": {
            "type": "integer",
            "description": "Qty of days of service credential expiration.",
            "title": "Expiry in days",
            "format": "int64",
            "x-displayname": "Expiry in days.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Qty of days of service credential expiration.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Name of API credential record. It will be saved in metadata.",
            "title": "Name",
            "x-displayname": "Name",
            "x-ves-example": "Svc-cred-app1.",
            "x-f5xc-example": "svc-cred-app1",
            "x-f5xc-description-short": "Name of API credential record. It will be saved in metadata.",
            "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": "Value of namespace is always \"system\".",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-f5xc-example": "system",
            "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])?$"
          },
          "namespace_roles": {
            "type": "array",
            "description": "List of roles per namespace to be assigned to service credentials.",
            "title": "Roles",
            "items": {
              "$ref": "#/components/schemas/schemaNamespaceRoleType"
            },
            "x-displayname": "List of roles.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "List of roles per namespace to be assigned to service credentials.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "password": {
            "type": "string",
            "description": "Password is used for generating an API certificate P12 bundle user can use to protect access to it.\nThis password will not be saved/persisted anywhere in the system. Applicable for credential type API_CERTIFICATE\nUsers have to use this password when they use the certificate, e.g. In curl or while adding to key chain.",
            "title": "Password for API certificate",
            "x-displayname": "Password",
            "x-ves-example": "MyPassw0rd123.",
            "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": "Password is used for generating an API certificate P12 bundle user can use to protect access to it.",
            "x-f5xc-description-medium": "Password is used for generating an API certificate P12 bundle user can use to protect access to it. This password will not be saved/persisted anywhere in the system. Applicable for credential type API_CERTIFICATE Users have to use this password when they use the certificate, e.g.",
            "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
            }
          },
          "site_kubeconfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialSiteKubeconfigType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_certificate",
              "api_token",
              "vk8s_kubeconfig"
            ]
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialAPICredentialType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "user_group_names": {
            "type": "array",
            "description": "List of user_groups assigned to this service credential.",
            "title": "User Groups Names",
            "items": {
              "type": "string"
            },
            "x-displayname": "Groups",
            "x-ves-example": "[\"dev-group-1\"]",
            "x-f5xc-example": "\"[\"dev-group-1\"]\"",
            "x-f5xc-description-short": "List of user_groups assigned to this service credential.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "virtual_k8s_name": {
            "type": "string",
            "description": "Name of virtual_k8s cluster. Applicable for KUBE_CONFIG.",
            "title": "virtual k8s cluster name",
            "x-displayname": "VK8s Cluster.",
            "x-ves-example": "Vk8s-product-app1.",
            "x-f5xc-example": "vk8s-product-app1",
            "x-f5xc-description-short": "Name of virtual_k8s cluster. Applicable for KUBE_CONFIG.",
            "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
            }
          },
          "virtual_k8s_namespace": {
            "type": "string",
            "description": "Namespace of virtual_k8s cluster. Applicable for KUBE_CONFIG.",
            "title": "Virtual k8s namespace",
            "x-displayname": "VK8s Namespace.",
            "x-ves-example": "App-ns1",
            "x-f5xc-example": "app-ns1",
            "x-f5xc-description-short": "Namespace of virtual_k8s cluster. Applicable for KUBE_CONFIG.",
            "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
            }
          },
          "vk8s_kubeconfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialVk8sKubeconfigType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_certificate",
              "api_token",
              "site_kubeconfig"
            ]
          }
        },
        "x-f5xc-description-short": "CreateServiceCredentialsRequest is the request format for creating service credentials.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialCreateServiceCredentialsRequest",
          "required_fields": [
            "password"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"password\": \"example\"\n}",
          "example_yaml": "password: example"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialCustomCreateSpecType": {
        "type": "object",
        "description": "Create request specification.",
        "title": "Create Spec Type",
        "x-displayname": "Create API Credential.",
        "x-ves-displayorder": "1,2,5,3,4",
        "x-ves-proto-message": "ves.io.schema.api_credential.CustomCreateSpecType",
        "properties": {
          "password": {
            "type": "string",
            "description": "Password is used for generating an API certificate P12 bundle user can use to protect access to it.\nThis password will not be saved/persisted anywhere in the system. Applicable for credential type API_CERTIFICATE\nUsers have to use this password when they use the certificate, e.g. In curl or while adding to key chain.",
            "title": "Password for API certificate",
            "x-displayname": "Password",
            "x-ves-example": "MyPassw0rd123.",
            "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": "Password is used for generating an API certificate P12 bundle user can use to protect access to it.",
            "x-f5xc-description-medium": "Password is used for generating an API certificate P12 bundle user can use to protect access to it. This password will not be saved/persisted anywhere in the system. Applicable for credential type API_CERTIFICATE Users have to use this password when they use the certificate, e.g.",
            "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
            }
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialAPICredentialType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "virtual_k8s_name": {
            "type": "string",
            "description": "Name of virtual K8s cluster. Applicable for KUBE_CONFIG.",
            "title": "virtual k8s cluster name",
            "x-displayname": "VK8s Cluster.",
            "x-ves-example": "Vk8s-product-app1.",
            "x-f5xc-example": "vk8s-product-app1",
            "x-f5xc-description-short": "Name of virtual K8s cluster. Applicable for KUBE_CONFIG.",
            "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
            }
          },
          "virtual_k8s_namespace": {
            "type": "string",
            "description": "Namespace of virtual K8s cluster. Applicable for KUBE_CONFIG.",
            "title": "Virtual K8s namespace",
            "x-displayname": "VK8s Namespace.",
            "x-ves-example": "App-ns1",
            "x-f5xc-example": "app-ns1",
            "x-f5xc-description-short": "Namespace of virtual K8s cluster. Applicable for KUBE_CONFIG.",
            "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 api_credentialCustomCreateSpecType",
          "required_fields": [
            "password"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"password\": \"example\"\n}",
          "example_yaml": "password: example"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialExpiredSelector": {
        "type": "object",
        "description": "It specifies which expired credentials needs to be deleted.",
        "title": "Expired Selector",
        "x-displayname": "Expired Selector.",
        "x-ves-oneof-field-expired_credential_choice": "[\"all\",\"credential_type\"]",
        "x-ves-proto-message": "ves.io.schema.api_credential.ExpiredSelector",
        "properties": {
          "all": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "credential_type"
            ]
          },
          "credential_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialAPICredentialType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "all"
            ]
          }
        },
        "x-f5xc-description-short": "It specifies which expired credentials needs to be deleted.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialExpiredSelector",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialGetRequest": {
        "type": "object",
        "description": "GET credential object with a given name.",
        "title": "Get credential request",
        "x-displayname": "GET Credential.",
        "x-ves-proto-message": "ves.io.schema.api_credential.GetRequest",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of API credential.",
            "title": "Credential name",
            "x-displayname": "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])?$"
          },
          "namespace": {
            "type": "string",
            "description": "Value of namespace is always \"system\".",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "system",
            "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",
              "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])?$"
          }
        },
        "x-f5xc-description-short": "GET credential object with a given name.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialGetRequest",
          "required_fields": [
            "name",
            "namespace"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"value\",\n  \"namespace\": \"system\"\n}",
          "example_yaml": "name: value\nnamespace: system"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialGetResponse": {
        "type": "object",
        "description": "Response of GET credential request with a given name.",
        "title": "Get credential response",
        "x-displayname": "GET Credential Response.",
        "x-ves-proto-message": "ves.io.schema.api_credential.GetResponse",
        "properties": {
          "object": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialObject"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Response of GET credential request with a given name.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialGetServiceCredentialsResponse": {
        "type": "object",
        "description": "Response of GET service credentials request with a given name.",
        "title": "Get service credentials response",
        "x-displayname": "GET Service Credentials Response.",
        "x-ves-proto-message": "ves.io.schema.api_credential.GetServiceCredentialsResponse",
        "properties": {
          "active": {
            "type": "boolean",
            "description": "Possibility to deactivate credential with no deletion.",
            "title": "Active",
            "format": "boolean",
            "x-displayname": "Active",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Possibility to deactivate credential with no deletion.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "create_timestamp": {
            "type": "string",
            "description": "Create time of service credential.",
            "title": "Create timestamp",
            "format": "date-time",
            "x-displayname": "Creation Time.",
            "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
            }
          },
          "expiry_timestamp": {
            "type": "string",
            "description": "Expiry time of service credential.",
            "title": "Expiry time",
            "format": "date-time",
            "x-displayname": "Expiry Time.",
            "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
            }
          },
          "name": {
            "type": "string",
            "description": "Name of service credential object.",
            "title": "Credential name",
            "x-displayname": "Name",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "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 of service credential object.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-f5xc-example": "system",
            "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])?$"
          },
          "namespace_access": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaNamespaceAccessType"
              }
            ],
            "x-f5xc-example": "example-resource",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialAPICredentialType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "uid": {
            "type": "string",
            "description": "Uid of service credential object.",
            "title": "uid of the record",
            "x-displayname": "UUID",
            "x-ves-example": "00000000-0000-4000-8000-676e83e049e2.",
            "x-f5xc-example": "00000000-0000-4000-8000-676e83e049e2",
            "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"
          },
          "user_email": {
            "type": "string",
            "description": "Email of the service user attached to service credential .",
            "title": "Email of user",
            "x-displayname": "User",
            "x-ves-example": "Admin@example.com.",
            "x-f5xc-example": "admin@example.com",
            "x-f5xc-description-short": "Email of the service user attached to service credential .",
            "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
            }
          },
          "user_group_names": {
            "type": "array",
            "description": "User group list associated to this service credential.",
            "title": "User Groups Names",
            "items": {
              "type": "string"
            },
            "x-displayname": "User Groups.",
            "x-ves-example": "[\"dev-group-1\"]",
            "x-f5xc-example": "\"[\"dev-group-1\"]\"",
            "x-f5xc-description-short": "User group list associated to this service credential.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Response of GET service credentials request with a given name.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialGetServiceCredentialsResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialGlobalSpecType": {
        "type": "object",
        "description": "Keeps track of user requested API credentials.",
        "title": "API credentials",
        "x-displayname": "API Credentials.",
        "x-ves-proto-message": "ves.io.schema.api_credential.GlobalSpecType",
        "properties": {
          "active": {
            "type": "boolean",
            "description": "Possibility to deactivate/activate credential with no deletion.",
            "title": "Active",
            "format": "boolean",
            "x-displayname": "Active",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Possibility to deactivate/activate credential with no deletion.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "certificate_serial_num": {
            "type": "string",
            "description": "Serial number of the client certificate part of credential type API Certificate or Kubeconfig.",
            "title": "Certificate Serial Number",
            "maxLength": 32,
            "x-displayname": "Certificate Serial Number.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "32"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "32"
            },
            "x-f5xc-description-short": "Serial number of the client certificate part of credential type API Certificate or Kubeconfig.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 32,
              "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
            }
          },
          "created_timestamp": {
            "type": "string",
            "description": "Timestamp of credential creation.",
            "title": "Created timestamp",
            "format": "date-time",
            "x-displayname": "Created timestamp.",
            "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
            }
          },
          "digest": {
            "type": "string",
            "description": "Digest sha1 of credential.",
            "title": "Digest sha1",
            "x-displayname": "Digest sha1.",
            "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
            }
          },
          "expiration_timestamp": {
            "type": "string",
            "description": "Timestamp of credential expiration.",
            "title": "Expiry timestamp",
            "format": "date-time",
            "x-displayname": "Expiry timestamp.",
            "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
            }
          },
          "site_name": {
            "type": "string",
            "description": "Site name when global kubeconfig is issued for physical K8s site.",
            "title": "Site Name",
            "x-displayname": "Site Name",
            "x-f5xc-example": "example-resource",
            "x-f5xc-description-short": "Site name when global kubeconfig is issued for physical K8s site.",
            "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
            }
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialAPICredentialType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "users": {
            "type": "array",
            "description": "Reference to user for whom API credential is created.",
            "title": "user requesting credential",
            "maxItems": 1,
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "User",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "1"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "1"
            },
            "x-f5xc-description-short": "Reference to user for whom API credential is created.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 1,
              "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
            }
          },
          "virtual_k8s_name": {
            "type": "string",
            "description": "Name of virtual K8s cluster.",
            "title": "Virtual K8s",
            "x-displayname": "Virtual K8s.",
            "x-f5xc-example": "example-resource",
            "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
            }
          },
          "virtual_k8s_namespace": {
            "type": "string",
            "description": "Namespace of virtual_k8s.",
            "title": "Virtual K8s namespace",
            "x-displayname": "Namespace",
            "x-f5xc-example": "example-resource",
            "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": "Keeps track of user requested API credentials.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialGlobalSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialListResponse": {
        "type": "object",
        "description": "Response of request to list all of users credential objects.",
        "title": "List credential response",
        "x-displayname": "List Credential Response.",
        "x-ves-proto-message": "ves.io.schema.api_credential.ListResponse",
        "properties": {
          "items": {
            "type": "array",
            "description": "List of credential items.",
            "title": "List of the credentials",
            "items": {
              "$ref": "#/components/schemas/api_credentialListResponseItem"
            },
            "x-displayname": "Credentials.",
            "x-f5xc-example": "[\"item1\", \"item2\", \"item3\"]",
            "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-description-short": "Response of request to list all of users credential objects.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialListResponseItem": {
        "type": "object",
        "description": "Each item of credential list request.",
        "title": "List Credential item",
        "x-displayname": "List credential response item.",
        "x-ves-proto-message": "ves.io.schema.api_credential.ListResponseItem",
        "properties": {
          "active": {
            "type": "boolean",
            "description": "Possibility to deactivate credential with no deletion.",
            "title": "Active",
            "format": "boolean",
            "x-displayname": "Active",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Possibility to deactivate credential with no deletion.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "create_timestamp": {
            "type": "string",
            "description": "Create time of API credential.",
            "title": "Create timestamp",
            "format": "date-time",
            "x-displayname": "Creation Time.",
            "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
            }
          },
          "expiry_timestamp": {
            "type": "string",
            "description": "Expiry time of credential.",
            "title": "Expiry time",
            "format": "date-time",
            "x-displayname": "Expiry Time.",
            "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
            }
          },
          "name": {
            "type": "string",
            "description": "Name of API credential object.",
            "title": "Credential name",
            "x-displayname": "Name",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "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 of API credential object.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-f5xc-example": "system",
            "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])?$"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialAPICredentialType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "uid": {
            "type": "string",
            "description": "UUID of API credential object.",
            "title": "uuid of the record",
            "x-displayname": "UUID",
            "x-ves-example": "00000000-0000-4000-8000-676e83e049e2.",
            "x-f5xc-example": "00000000-0000-4000-8000-676e83e049e2",
            "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"
          },
          "user_email": {
            "type": "string",
            "description": "User email of user that requested credential .",
            "title": "Email of user",
            "x-displayname": "User",
            "x-ves-example": "Admin@example.com.",
            "x-f5xc-example": "admin@example.com",
            "x-f5xc-description-short": "User email of user that requested credential .",
            "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 api_credentialListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialListServiceCredentialsResponse": {
        "type": "object",
        "description": "Response of request to list all of service credential objects.",
        "title": "List service credential response",
        "x-displayname": "List Service Credential Response.",
        "x-ves-proto-message": "ves.io.schema.api_credential.ListServiceCredentialsResponse",
        "properties": {
          "items": {
            "type": "array",
            "description": "List of service credential items.",
            "title": "List of the service credentials",
            "items": {
              "$ref": "#/components/schemas/api_credentialListServiceCredentialsResponseItem"
            },
            "x-displayname": "Service Credentials.",
            "x-f5xc-example": "[\"item1\", \"item2\", \"item3\"]",
            "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-description-short": "Response of request to list all of service credential objects.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialListServiceCredentialsResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialListServiceCredentialsResponseItem": {
        "type": "object",
        "description": "Each item of service credential list request.",
        "title": "List Service Credential item",
        "x-displayname": "List service credential response item.",
        "x-ves-proto-message": "ves.io.schema.api_credential.ListServiceCredentialsResponseItem",
        "properties": {
          "active": {
            "type": "boolean",
            "description": "Possibility to deactivate credential with no deletion.",
            "title": "Active",
            "format": "boolean",
            "x-displayname": "Active",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Possibility to deactivate credential with no deletion.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "create_timestamp": {
            "type": "string",
            "description": "Create time of API credential.",
            "title": "Create timestamp",
            "format": "date-time",
            "x-displayname": "Creation Time.",
            "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
            }
          },
          "expiry_timestamp": {
            "type": "string",
            "description": "Expiry time of credential.",
            "title": "Expiry time",
            "format": "date-time",
            "x-displayname": "Expiry Time.",
            "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
            }
          },
          "name": {
            "type": "string",
            "description": "Name of API credential object.",
            "title": "Credential name",
            "x-displayname": "Name",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "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 of API credential object.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-f5xc-example": "system",
            "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])?$"
          },
          "namespace_access": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaNamespaceAccessType"
              }
            ],
            "x-f5xc-example": "example-resource",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialAPICredentialType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "uid": {
            "type": "string",
            "description": "UUID of API credential object.",
            "title": "uuid of the record",
            "x-displayname": "UUID",
            "x-ves-example": "00000000-0000-4000-8000-676e83e049e2.",
            "x-f5xc-example": "00000000-0000-4000-8000-676e83e049e2",
            "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"
          },
          "user_email": {
            "type": "string",
            "description": "User email of user that requested credential .",
            "title": "Email of user",
            "x-displayname": "User",
            "x-ves-example": "Admin@example.com.",
            "x-f5xc-example": "admin@example.com",
            "x-f5xc-description-short": "User email of user that requested credential .",
            "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
            }
          },
          "user_group_names": {
            "type": "array",
            "description": "User group list associated to this service credential.",
            "title": "User Groups Names",
            "items": {
              "type": "string"
            },
            "x-displayname": "User Groups.",
            "x-ves-example": "[\"dev-group-1\"]",
            "x-f5xc-example": "\"[\"dev-group-1\"]\"",
            "x-f5xc-description-short": "User group list associated to this service credential.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Each item of service credential list request.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialListServiceCredentialsResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialNameSelector": {
        "type": "object",
        "description": "Revoke Credentials by their names.",
        "title": "Name Selector",
        "x-displayname": "Name Selector.",
        "x-ves-proto-message": "ves.io.schema.api_credential.NameSelector",
        "properties": {
          "names": {
            "type": "array",
            "description": "It contains the names of credentials which needs to be deleted.",
            "title": "name of api credential",
            "minItems": 1,
            "maxItems": 200,
            "items": {
              "type": "string"
            },
            "x-displayname": "Name of API Credentials.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "200",
              "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": "200",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "example-resource",
            "x-f5xc-description-short": "It contains the names of credentials which needs to be deleted.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 200,
              "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
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialNameSelector",
          "required_fields": [
            "names"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"names\": [\n    \"value\"\n  ]\n}",
          "example_yaml": "names:\n- value"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialObject": {
        "type": "object",
        "description": "API Credential object represents the user request to create a certificate.",
        "title": "API Credentials",
        "x-displayname": "Credentials.",
        "x-ves-proto-message": "ves.io.schema.api_credential.Object",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectMetaType__ves_io_schema_api_credential"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "API Credential object represents the user request to create a certificate.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialObject",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialRecreateScimTokenRequest": {
        "type": "object",
        "description": "RecreateScimTokenRequest is the request format for generating SCIM API credential.",
        "title": "Recreate SCIM Token Request",
        "x-displayname": "Recreate SCIM Token Request.",
        "x-ves-proto-message": "ves.io.schema.api_credential.RecreateScimTokenRequest",
        "properties": {
          "expiration_days": {
            "type": "integer",
            "description": "Qty of days of service credential expiration. Default value is 180.\nExpiration days value can range between 1 and 730.",
            "title": "Expiry in days",
            "format": "int64",
            "x-displayname": "Expiry in days.",
            "x-ves-example": "Value",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "730"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "730"
            },
            "x-f5xc-description-short": "Qty of days of service credential expiration. Default value is 180.",
            "x-f5xc-description-medium": "Qty of days of service credential expiration. Default value is 180. Expiration days value can range between 1 and 730.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 1,
              "maximum": 730,
              "deterministic": true,
              "metadata": {
                "source": "api-probed",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "namespace": {
            "type": "string",
            "description": "Value of namespace is always \"system\".",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "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": "RecreateScimTokenRequest is the request format for generating SCIM API credential.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialRecreateScimTokenRequest",
          "required_fields": [
            "expiration_days"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"expiration_days\": 1\n}",
          "example_yaml": "expiration_days: 1"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialRenewRequest": {
        "type": "object",
        "description": "Request to renew a credential object.",
        "title": "Renew Credential request",
        "x-displayname": "Renew Credentials.",
        "x-ves-proto-message": "ves.io.schema.api_credential.RenewRequest",
        "properties": {
          "expiration_days": {
            "type": "integer",
            "description": "Qty of days of service credential expiration.",
            "title": "Expiry in days",
            "format": "int64",
            "x-displayname": "Expiry in days.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Qty of days of service credential expiration.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Name of API credential object.",
            "title": "Credential name",
            "x-displayname": "Name",
            "x-ves-example": "API-cred-00000000-0000-4000-8000-c725f8541661.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "api-cred-00000000-0000-4000-8000-c725f8541661",
            "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])?$"
          },
          "namespace": {
            "type": "string",
            "description": "Value of namespace is always \"system\" .",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "system",
            "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",
              "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])?$"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialRenewRequest",
          "required_fields": [
            "name",
            "namespace"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"api-cred-00000000-0000-4000-8000-c725f8541661\",\n  \"namespace\": \"system\"\n}",
          "example_yaml": "name: api-cred-00000000-0000-4000-8000-c725f8541661\nnamespace: system"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialReplaceServiceCredentialsRequest": {
        "type": "object",
        "description": "Request format for replacing service credentials.",
        "title": "Replace Service Credentials Request",
        "x-displayname": "Replace Service Credentials Request.",
        "x-ves-proto-message": "ves.io.schema.api_credential.ReplaceServiceCredentialsRequest",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of service credential object.",
            "title": "Service Credential name",
            "x-displayname": "Name",
            "x-ves-example": "API-cred-00000000-0000-4000-8000-c725f8541661.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "api-cred-00000000-0000-4000-8000-c725f8541661",
            "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])?$"
          },
          "namespace": {
            "type": "string",
            "description": "Namespace of the service credential user.\nValue of namespace is always \"system\".",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-f5xc-example": "system",
            "x-f5xc-description-short": "Namespace of the service credential user. Value of namespace is always \"system\".",
            "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])?$"
          },
          "namespace_access": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaNamespaceAccessType"
              }
            ],
            "x-f5xc-example": "example-resource",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "user_group_names": {
            "type": "array",
            "description": "List of user_groups to be replaced for this service credentials.",
            "title": "User Groups Names",
            "items": {
              "type": "string"
            },
            "x-displayname": "Groups",
            "x-ves-example": "[\"dev-group-1\"]",
            "x-f5xc-example": "\"[\"dev-group-1\"]\"",
            "x-f5xc-description-short": "List of user_groups to be replaced for this service credentials.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Request format for replacing service credentials.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialReplaceServiceCredentialsRequest",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"api-cred-00000000-0000-4000-8000-c725f8541661\"\n}",
          "example_yaml": "name: api-cred-00000000-0000-4000-8000-c725f8541661"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialReplaceServiceCredentialsResponse": {
        "type": "object",
        "description": "Response format for the credential's replace request.",
        "title": "Replace service credentials response",
        "x-displayname": "Replace service credentials response.",
        "x-ves-proto-message": "ves.io.schema.api_credential.ReplaceServiceCredentialsResponse",
        "properties": {
          "active": {
            "type": "boolean",
            "description": "Specifies if service credential is active or not.",
            "title": "Active",
            "format": "boolean",
            "x-displayname": "Active",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Specifies if service credential is active or not.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "expiration_timestamp": {
            "type": "string",
            "description": "Specifies the expiration timestamp.",
            "title": "Expiry",
            "format": "date-time",
            "x-displayname": "Expiry",
            "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
            }
          },
          "name": {
            "type": "string",
            "description": "Name of API credential record.",
            "title": "Name",
            "x-displayname": "Name",
            "x-ves-example": "Svc-cred-app1.",
            "x-f5xc-example": "svc-cred-app1",
            "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": "Response format for the credential's replace request.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialReplaceServiceCredentialsResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialScimTokenRequest": {
        "type": "object",
        "description": "ScimTokenRequest is used for fetching or revoking scim token.",
        "title": "Scim Token Request",
        "x-displayname": "Scim Token Request.",
        "x-ves-proto-message": "ves.io.schema.api_credential.ScimTokenRequest",
        "properties": {
          "namespace": {
            "type": "string",
            "description": "Value of namespace is always \"system\".",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "system",
            "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",
              "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])?$"
          }
        },
        "x-f5xc-description-short": "ScimTokenRequest is used for fetching or revoking scim token.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialScimTokenRequest",
          "required_fields": [
            "namespace"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"namespace\": \"system\"\n}",
          "example_yaml": "namespace: system"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialSiteKubeconfigType": {
        "type": "object",
        "description": "Site Global Kube Config parameters.",
        "title": "site_kubeconfig",
        "x-displayname": "Site Global Kube Config Specification.",
        "x-ves-proto-message": "ves.io.schema.api_credential.SiteKubeconfigType",
        "properties": {
          "site": {
            "type": "string",
            "description": "Name of the site for which kubeconfig is being requested.",
            "title": "Site",
            "minLength": 1,
            "maxLength": 64,
            "x-displayname": "Site",
            "x-ves-example": "Ce398",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "64",
              "ves.io.schema.rules.string.min_bytes": "1"
            },
            "x-f5xc-example": "ce398",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "64",
              "ves.io.schema.rules.string.min_bytes": "1"
            },
            "x-f5xc-description-short": "Name of the site for which kubeconfig is being requested.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 64,
              "byteLength": {
                "max": 64,
                "min": 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 api_credentialSiteKubeconfigType",
          "required_fields": [
            "site"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"site\": \"ce398\"\n}",
          "example_yaml": "site: ce398"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialSpecType": {
        "type": "object",
        "description": "Shape of the API credential specification.",
        "title": "Specification for API credentials",
        "x-displayname": "Specifications.",
        "x-ves-proto-message": "ves.io.schema.api_credential.SpecType",
        "properties": {
          "gc_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialGlobalSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Shape of the API credential specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialStatusResponse": {
        "type": "object",
        "description": "API credential status response.",
        "title": "API credential status response",
        "x-displayname": "API credential status response.",
        "x-ves-proto-message": "ves.io.schema.api_credential.StatusResponse",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Result status flag.",
            "title": "Status",
            "format": "boolean",
            "x-displayname": "Status",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "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-minimum-configuration": {
          "description": "Minimum configuration for api_credentialStatusResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialVk8sKubeconfigType": {
        "type": "object",
        "description": "Service Kube Config parameters.",
        "title": "vk8s_kubeconfig",
        "x-displayname": "Service Kube Config Specification.",
        "x-ves-proto-message": "ves.io.schema.api_credential.Vk8sKubeconfigType",
        "properties": {
          "vk8s_cluster_name": {
            "type": "string",
            "description": "Name of virtual K8s cluster.",
            "title": "virtual k8s cluster name",
            "x-displayname": "VK8s Cluster.",
            "x-ves-example": "Vk8s-product-app1.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ves_object_name": "true"
            },
            "x-f5xc-example": "vk8s-product-app1",
            "x-validation-rules": {
              "ves.io.schema.rules.string.ves_object_name": "true"
            },
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "format": "dns-label",
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "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
            },
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "vk8s_namespace": {
            "type": "string",
            "description": "Namespace of virtual K8s cluster. Applicable for KUBE_CONFIG.",
            "title": "Virtual k8s namespace",
            "x-displayname": "VK8s Namespace.",
            "x-ves-example": "App-ns1",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ves_object_name": "true"
            },
            "x-f5xc-example": "app-ns1",
            "x-validation-rules": {
              "ves.io.schema.rules.string.ves_object_name": "true"
            },
            "x-f5xc-description-short": "Namespace of virtual K8s cluster. Applicable for KUBE_CONFIG.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "format": "dns-label",
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "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
            },
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialVk8sKubeconfigType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaEmpty": {
        "type": "object",
        "description": "This can be used for messages where no values are needed.",
        "title": "Empty",
        "x-displayname": "Empty",
        "x-ves-proto-message": "ves.io.schema.Empty",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaEmpty",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaNamespaceAccessType": {
        "type": "object",
        "description": "Access info in the namespaces for the entity.",
        "title": "Namespace Access",
        "x-displayname": "Namespace Access.",
        "x-ves-proto-message": "ves.io.schema.NamespaceAccessType",
        "properties": {
          "namespace_role_map": {
            "type": "object",
            "description": "List of all the roles for the entity in the namespaces.",
            "title": "Namespace Role Map",
            "x-displayname": "Namespace Role Map.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "256",
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "'<namespace> [<roles>]'",
            "x-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "256",
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "List of all the roles for the entity in the namespaces.",
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Access info in the namespaces for the entity.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaNamespaceAccessType",
          "required_fields": [
            "namespace_role_map"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"namespace_role_map\": {}\n}",
          "example_yaml": "namespace_role_map: {}"
        },
        "x-f5xc-cli-domain": "tenant_and_identity",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Namespace management is platform-level administration"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaNamespaceRoleType": {
        "type": "object",
        "description": "Allows linking namespaces and roles.",
        "title": "Namespace role",
        "x-displayname": "Namespace Role.",
        "x-ves-proto-message": "ves.io.schema.NamespaceRoleType",
        "properties": {
          "namespace": {
            "type": "string",
            "description": "Namespace the role applies to\n'*' value implies all namespaces.",
            "title": "Namespace",
            "maxLength": 256,
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "ns1",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-description-short": "Namespace the role applies to '*' value implies all namespaces.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "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": "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
            },
            "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])?$"
          },
          "role": {
            "type": "string",
            "description": "Users role for this namespace.",
            "title": "Role",
            "maxLength": 256,
            "x-displayname": "Role",
            "x-ves-example": "VES-I/O-monitor-role.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.ves_object_name": "true"
            },
            "x-f5xc-example": "ves-io-monitor-role",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.ves_object_name": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "format": "dns-label",
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "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
            },
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaNamespaceRoleType",
          "required_fields": [
            "namespace",
            "role"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"namespace\": \"ns1\",\n  \"role\": \"ves-io-monitor-role\"\n}",
          "example_yaml": "namespace: ns1\nrole: ves-io-monitor-role"
        },
        "x-f5xc-cli-domain": "tenant_and_identity",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaObjectMetaType": {
        "type": "object",
        "description": "ObjectMetaType is metadata(common attributes) of an object that all configuration objects will have.\nThe information in this type can be specified by user during create and replace APIs.",
        "title": "ObjectMetaType",
        "x-displayname": "Metadata",
        "x-ves-proto-message": "ves.io.schema.ObjectMetaType",
        "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"
            },
            "additionalProperties": {
              "type": "string"
            },
            "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",
            "additionalProperties": {
              "type": "string"
            },
            "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])?$"
          },
          "uid": {
            "type": "string",
            "description": "Uid is the unique in time and space value for this object. Object create will fail if\nprovided by the client and the value exists in the system. Typically generated by the\nserver on successful creation of an object and is not allowed to change once populated.\nShadowed by SystemObjectMeta's uid field.",
            "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. Object create will fail if provided by the client and the value exists in the system.",
            "x-f5xc-description-medium": "Uid is the unique in time and space value for this object. Object create will fail if provided by the client and the value exists in the system. Typically generated by the server on successful creation of an object and is not allowed to change once populated.",
            "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": "ObjectMetaType is metadata(common attributes) of an object that all configuration objects will have.",
        "x-f5xc-description-medium": "ObjectMetaType is metadata(common attributes) of an object that all configuration objects will have. The information in this type can be specified by user during create and replace APIs.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaObjectMetaType",
          "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": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaSystemObjectMetaType__ves_io_schema_api_credential": {
        "type": "object",
        "description": "SystemObjectMetaType is metadata generated or populated by the system for all persisted objects and\ncannot be updated directly by users.",
        "title": "SystemObjectMetaType",
        "x-displayname": "System Metadata.",
        "x-ves-proto-message": "ves.io.schema.SystemObjectMetaType",
        "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
            },
            "readOnly": true,
            "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": "Value",
            "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
            },
            "readOnly": true,
            "x-field-mutability": "read-only"
          },
          "creator_cookie": {
            "type": "string",
            "description": "This can used by the creator of the object for later audit for e.g. By storing the\nversion identifying information of the object so at future it can be determined if\nversion present at remote end is current or stale.",
            "title": "creator_cookie",
            "x-displayname": "Creator Cookie.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Can used by the creator of the object for later audit for e.g.",
            "x-f5xc-description-medium": "Can used by the creator of the object for later audit for e.g. By storing the version identifying information of the object so at future it can be determined if version present at remote end is current or stale.",
            "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": "Value",
            "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
            },
            "readOnly": true,
            "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
            }
          },
          "direct_ref_hash": {
            "type": "string",
            "description": "A hash of the UIDs of direct references on this object. This can be used to determine if\nthis object hash has had references become resolved/unresolved.",
            "title": "direct_ref_hash",
            "x-displayname": "Direct Reference Hash.",
            "x-f5xc-description-short": "Hash of the UIDs of direct references on this object. This can be used to determine if this object hash has had references become resolved/unresolved.",
            "x-f5xc-description-medium": "Hash of the UIDs of direct references on this object. This can be used to determine if this object hash has had references become resolved/unresolved.",
            "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
            }
          },
          "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
            },
            "readOnly": true,
            "x-field-mutability": "read-only"
          },
          "namespace": {
            "type": "array",
            "description": "The namespace this object belongs to. This is populated by the service based on the\nmetadata.namespace field when an object is created.",
            "title": "namespace",
            "maxItems": 1,
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Namespace Reference.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "1"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "1"
            },
            "x-f5xc-example": "example-resource",
            "x-f5xc-description-short": "The namespace this object belongs to. This is populated by the service based on the metadata.namespace field when an object is created.",
            "x-f5xc-description-medium": "The namespace this object belongs to. This is populated by the service based on the metadata.namespace field when an object is created.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 1,
              "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
            },
            "maxLength": 6,
            "minLength": 6,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "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
            },
            "readOnly": true,
            "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"
              }
            ]
          },
          "revision": {
            "type": "string",
            "description": "A revision number which always increases with each modification of the object in storage\nThis doesn't necessarily increase sequentially, but should always increase.\nThis will be 0 when first created, and before any modifications.",
            "title": "revision",
            "format": "int64",
            "x-displayname": "Revision",
            "x-f5xc-description-short": "Revision number which always increases with each modification of the object in storage This doesn't necessarily increase sequentially, but should...",
            "x-f5xc-description-medium": "Revision number which always increases with each modification of the object in storage This doesn't necessarily increase sequentially, but should always increase. This will be 0 when first created, and before any modifications.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "int64",
              "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
            }
          },
          "sre_disable": {
            "type": "boolean",
            "description": "This should be set to true If F5XC/SRE operator wants to suppress an object from being\npresented to business-logic of a daemon(e.g. Due to bad-form/issue-causing Object).\nThis is meant only to be used in temporary situations for operational continuity till\na fix is rolled out in business-logic.",
            "title": "sre_disable",
            "format": "boolean",
            "x-displayname": "SRE Disable.",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Should be set to true If F5XC/SRE operator wants to suppress an object from being presented to business-logic of a daemon(e.g.",
            "x-f5xc-description-medium": "Should be set to true If F5XC/SRE operator wants to suppress an object from being presented to business-logic of a daemon(e.g. Due to bad-form/issue-causing Object). This is meant only to be used in temporary situations for operational continuity till a fix is rolled out in business-logic.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "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
            },
            "readOnly": true,
            "x-field-mutability": "read-only",
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "trace_info": {
            "type": "string",
            "description": "Trace_info holds information(<trace-ID>:<span-ID>:<parent-span-ID>) of the request doing\nthe object modification. This can be used on the watch side to create subsequent spans.\nThis information can be used to co-relate activities across services (modulo state compression)\nfor a synchronous API.",
            "title": "trace_info",
            "x-displayname": "Trace Info.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Trace_info holds information(<trace-ID>:<span-ID>:<parent-span-ID>) of the request doing the object modification.",
            "x-f5xc-description-medium": "Trace_info holds information(<trace-ID>:<span-ID>:<parent-span-ID>) of the request doing the object modification. This can be used on the watch side to create subsequent spans. This information can be used to co-relate activities across services (modulo state compression) for a synchronous API.",
            "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
            }
          },
          "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
            },
            "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"
          },
          "vtrp_id": {
            "type": "string",
            "description": "Indicate origin of this object.",
            "title": "vtrp_id",
            "x-displayname": "VTRP 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"
          },
          "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": "SystemObjectMetaType is metadata generated or populated by the system for all persisted objects and cannot be updated directly by users.",
        "x-f5xc-description-medium": "SystemObjectMetaType 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 schemaSystemObjectMetaType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "app_api_groupApiEndpoint": {
        "type": "object",
        "description": "The API Endpoint according to OpenAPI specification.",
        "title": "Api Endpoint",
        "x-displayname": "API Endpoint.",
        "x-ves-proto-message": "ves.io.schema.views.app_api_group.ApiEndpoint",
        "properties": {
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaHttpMethod"
              }
            ],
            "x-f5xc-example": "GET",
            "x-f5xc-description-short": "HTTP method (GET, POST, PUT, DELETE, etc.).",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "path": {
            "type": "string",
            "description": "An endpoint path, as specified in OpenAPI, including parameters.\nThe path should comply with RFC 3986 and may have parameters according to OpenAPI specification.",
            "title": "path",
            "minLength": 1,
            "maxLength": 1024,
            "x-displayname": "Path",
            "x-ves-example": "/API/users/{userid}",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "1024",
              "ves.io.schema.rules.string.min_bytes": "1",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-example": "/api/users/{userid}",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "1024",
              "ves.io.schema.rules.string.min_bytes": "1",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-description-short": "Endpoint path, as specified in OpenAPI, including parameters.",
            "x-f5xc-description-medium": "Endpoint path, as specified in OpenAPI, including parameters. The path should comply with RFC 3986 and may have parameters according to OpenAPI specification.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 1024,
              "pattern": "^[/a-zA-Z0-9._-]+$",
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "byteLength": {
                "max": 1024,
                "min": 1
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "The API Endpoint according to OpenAPI specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_api_groupApiEndpoint",
          "required_fields": [
            "path"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"path\": \"/api/users/{userid}\"\n}",
          "example_yaml": "path: /api/users/{userid}"
        },
        "x-f5xc-cli-domain": "api",
        "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"
          }
        }
      },
      "app_api_groupApiGroupId": {
        "type": "object",
        "description": "The API Group ID for the API Groups stats response.",
        "title": "API Group ID",
        "x-displayname": "API Group ID.",
        "x-ves-proto-message": "ves.io.schema.views.app_api_group.ApiGroupId",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the API Group.",
            "title": "Name",
            "x-displayname": "Name",
            "x-ves-example": "Sensitive",
            "x-f5xc-example": "sensitive",
            "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 of the API Group.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Shared",
            "x-f5xc-example": "shared",
            "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": "The API Group ID for the API Groups stats response.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_api_groupApiGroupId",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "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"
          }
        }
      },
      "app_api_groupApiGroupScopeBIGIPVirtualServer": {
        "type": "object",
        "description": "Set the scope of the API Group to a specific BIG-IP Virtual Server.",
        "title": "ApiGroupScopeBIGIPVirtualServer",
        "x-displayname": "API Group Scope BIG-IP Virtual Server.",
        "x-ves-proto-message": "ves.io.schema.views.app_api_group.ApiGroupScopeBIGIPVirtualServer",
        "properties": {
          "bigip_virtual_server": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "bigip_virtual_server",
                "field_path": "bigip_virtual_server",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          }
        },
        "x-f5xc-description-short": "Set the scope of the API Group to a specific BIG-IP Virtual Server.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_api_groupApiGroupScopeBIGIPVirtualServer",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "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"
          }
        }
      },
      "app_api_groupApiGroupScopeCDNLoadbalancer": {
        "type": "object",
        "description": "Set the scope of the API Group to a specific CDN Loadbalancer.",
        "title": "ApiGroupScopeCdnLoadbalancer",
        "x-displayname": "API Group Scope CDN Loadbalancer.",
        "x-ves-proto-message": "ves.io.schema.views.app_api_group.ApiGroupScopeCDNLoadbalancer",
        "properties": {
          "cdn_loadbalancer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for cdn loadbalancer.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "cdn_loadbalancer",
                "field_path": "cdn_loadbalancer",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          }
        },
        "x-f5xc-description-short": "Set the scope of the API Group to a specific CDN Loadbalancer.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_api_groupApiGroupScopeCDNLoadbalancer",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "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"
          }
        }
      },
      "app_api_groupApiGroupScopeHttpLoadbalancer": {
        "type": "object",
        "description": "Set the scope of the API Group to a specific HTTP Loadbalancer.",
        "title": "ApiGroupScopeHttpLoadbalancer",
        "x-displayname": "API Group Scope HTTP Loadbalancer.",
        "x-ves-proto-message": "ves.io.schema.views.app_api_group.ApiGroupScopeHttpLoadbalancer",
        "properties": {
          "http_loadbalancer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for http loadbalancer.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "http_load_balancer",
                "field_path": "http_loadbalancer",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          }
        },
        "x-f5xc-description-short": "Set the scope of the API Group to a specific HTTP Loadbalancer.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_api_groupApiGroupScopeHttpLoadbalancer",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "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"
          }
        }
      },
      "app_api_groupApiGroupStats": {
        "type": "object",
        "description": "The API Group Stats for the API Groups stats response.",
        "title": "API Group Stats",
        "x-displayname": "API Group Stats.",
        "x-ves-proto-message": "ves.io.schema.views.app_api_group.ApiGroupStats",
        "properties": {
          "outdated_api_endpoints_count": {
            "type": "integer",
            "description": "Number of outdated API Endpoints is the difference in the stored API Group contents and\nthe contents if it be evaluated against current state.",
            "title": "outdated_api_endpoints_count",
            "format": "int64",
            "x-displayname": "Outdated API Endpoints Count.",
            "x-ves-example": "5",
            "x-f5xc-example": "5",
            "x-f5xc-description-short": "Number of outdated API Endpoints is the difference in the stored API Group contents and the contents if it be evaluated against current state.",
            "x-f5xc-description-medium": "Number of outdated API Endpoints is the difference in the stored API Group contents and the contents if it be evaluated against current state.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "The API Group Stats for the API Groups stats response.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_api_groupApiGroupStats",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "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"
          }
        }
      },
      "app_api_groupApiGroupsStatsItem": {
        "type": "object",
        "description": "API Groups Stats Item.",
        "title": "API Groups Stats Item",
        "x-displayname": "API Groups Stats Item.",
        "x-ves-proto-message": "ves.io.schema.views.app_api_group.ApiGroupsStatsItem",
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_api_groupApiGroupId"
              }
            ],
            "x-f5xc-example": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "stats": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_api_groupApiGroupStats"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_api_groupApiGroupsStatsItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "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"
          }
        }
      },
      "app_api_groupCreateRequest": {
        "type": "object",
        "description": "This is the input message of the 'Create' RPC.",
        "title": "CreateRequest is used to create an instance of app_api_group",
        "x-displayname": "Create Request.",
        "x-ves-proto-message": "ves.io.schema.views.app_api_group.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/viewsapp_api_groupCreateSpecType"
              }
            ],
            "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 app_api_groupCreateRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "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"
          }
        }
      },
      "app_api_groupCreateResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.views.app_api_group.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/viewsapp_api_groupGetSpecType"
              }
            ],
            "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 app_api_groupCreateResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "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"
          }
        }
      },
      "app_api_groupDeleteRequest": {
        "type": "object",
        "description": "This is the input message of the 'DELETE' RPC.",
        "title": "DeleteRequest is used to delete a app_api_group",
        "x-displayname": "DELETE Request.",
        "x-ves-proto-message": "ves.io.schema.views.app_api_group.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 app_api_groupDeleteRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "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"
          }
        }
      },
      "app_api_groupEvaluateApiGroupReq": {
        "type": "object",
        "description": "Request shape for Evaluate API Group.",
        "title": "Evaluate API Group Request",
        "x-displayname": "Evaluate API Group Request.",
        "x-ves-proto-message": "ves.io.schema.views.app_api_group.EvaluateApiGroupReq",
        "properties": {
          "api_group": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsapp_api_groupGlobalSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "namespace": {
            "type": "string",
            "description": "Namespace of the API Group for the current request.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Shared",
            "x-f5xc-example": "shared",
            "x-f5xc-description-short": "Namespace of the API Group for the current request.",
            "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 app_api_groupEvaluateApiGroupReq",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "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"
          }
        }
      },
      "app_api_groupEvaluateApiGroupRsp": {
        "type": "object",
        "description": "Response for the Evaluate API Group request.",
        "title": "Evaluate API Group Response",
        "x-displayname": "Evaluate API Group Response.",
        "x-ves-proto-message": "ves.io.schema.views.app_api_group.EvaluateApiGroupRsp",
        "properties": {
          "api_group": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsapp_api_groupGlobalSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "apieps_timestamp": {
            "type": "string",
            "description": "The API endpoints timestamp indicates when the most recent update of API endpoints happened\nFor example, if the referenced object is HTTP LB then the API Discovery periodically updates\nthe API endpoints list based on application's traffic.",
            "title": "apieps_timestamp",
            "format": "date-time",
            "x-displayname": "API Endpoints Timestamp.",
            "x-f5xc-description-short": "The API endpoints timestamp indicates when the most recent update of API endpoints happened For example, if the referenced object is HTTP LB then...",
            "x-f5xc-description-medium": "The API endpoints timestamp indicates when the most recent update of API endpoints happened For example, if the referenced object is HTTP LB then the API Discovery periodically updates the API endpoints list based on application's traffic.",
            "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
            }
          },
          "matching_api_endpoints": {
            "type": "array",
            "description": "List of API Endpoints matched by the query expression.\nThe paths appear here with parameters as defined in OpenAPI spec file.",
            "title": "matching_api_endpoints",
            "items": {
              "$ref": "#/components/schemas/app_api_groupApiEndpoint"
            },
            "x-displayname": "Matching API Endpoints.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "List of API Endpoints matched by the query expression. The paths appear here with parameters as defined in OpenAPI spec file.",
            "x-f5xc-description-medium": "List of API Endpoints matched by the query expression. The paths appear here with parameters as defined in OpenAPI spec file.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Response for the Evaluate API Group request.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_api_groupEvaluateApiGroupRsp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "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"
          }
        }
      },
      "app_api_groupGetApiGroupsStatsReq": {
        "type": "object",
        "description": "Request shape for API Groups Stats.",
        "title": "API Groups Stats Request",
        "x-displayname": "API Groups Stats Request.",
        "x-ves-proto-message": "ves.io.schema.views.app_api_group.GetApiGroupsStatsReq",
        "properties": {
          "namespace": {
            "type": "string",
            "description": "Namespace of the API Group for the current request.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Shared",
            "x-f5xc-example": "shared",
            "x-f5xc-description-short": "Namespace of the API Group for the current request.",
            "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 app_api_groupGetApiGroupsStatsReq",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "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"
          }
        }
      },
      "app_api_groupGetApiGroupsStatsRsp": {
        "type": "object",
        "description": "Response for the API Groups Stats request.",
        "title": "API Groups Stats Response",
        "x-displayname": "API Groups Stats Response.",
        "x-ves-proto-message": "ves.io.schema.views.app_api_group.GetApiGroupsStatsRsp",
        "properties": {
          "items": {
            "type": "array",
            "description": "A list of API Groups stats, where each item contains an API Group ID and stats.",
            "title": "items",
            "items": {
              "$ref": "#/components/schemas/app_api_groupApiGroupsStatsItem"
            },
            "x-displayname": "API Groups Stats.",
            "x-f5xc-example": "[\"item1\", \"item2\", \"item3\"]",
            "x-f5xc-description-short": "List of API Groups stats, where each item contains an API Group ID and stats.",
            "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-description-short": "Response for the API Groups Stats request.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_api_groupGetApiGroupsStatsRsp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "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"
          }
        }
      },
      "app_api_groupGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read app_api_group",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.views.app_api_group.GetResponse",
        "properties": {
          "create_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_api_groupCreateRequest"
              }
            ],
            "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/app_api_groupReplaceRequest"
              }
            ],
            "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/viewsapp_api_groupGetSpecType"
              }
            ],
            "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/app_api_groupStatusObject"
            },
            "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 app_api_groupGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "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"
          }
        }
      },
      "app_api_groupListResponse": {
        "type": "object",
        "description": "This is the output message of 'List' RPC.",
        "title": "ListResponse is the collection of app_api_group",
        "x-displayname": "List Response.",
        "x-ves-proto-message": "ves.io.schema.views.app_api_group.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/app_api_groupListResponseItem"
            },
            "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 app_api_groupListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "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"
          }
        }
      },
      "app_api_groupListResponseItem": {
        "type": "object",
        "description": "By default a summary of app_api_group 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 app_api_group",
        "x-displayname": "List Item",
        "x-ves-proto-message": "ves.io.schema.views.app_api_group.ListResponseItem",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "The set of annotations present on this app_api_group.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of annotations present on this app_api_group.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "The description set for this app_api_group.",
            "title": "description",
            "x-displayname": "Description.",
            "x-f5xc-description-short": "The description set for this app_api_group.",
            "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 app_api_group is administratively disabled.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Value of true indicates app_api_group is administratively disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "get_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/viewsapp_api_groupGetSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "The set of labels present on this app_api_group.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of labels present on this app_api_group.",
            "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 app_api_group.",
            "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/app_api_groupStatusObject"
            },
            "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 app_api_group.",
            "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 app_api_group 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 app_api_group 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 app_api_groupListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "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"
          }
        }
      },
      "app_api_groupReplaceRequest": {
        "type": "object",
        "description": "This is the input message of the 'Replace' RPC.",
        "title": "ReplaceRequest is used to replace contents of a app_api_group",
        "x-displayname": "Replace Request.",
        "x-ves-proto-message": "ves.io.schema.views.app_api_group.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/viewsapp_api_groupReplaceSpecType"
              }
            ],
            "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 app_api_groupReplaceRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "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"
          }
        }
      },
      "app_api_groupReplaceResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.views.app_api_group.ReplaceResponse",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for app_api_groupReplaceResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "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"
          }
        }
      },
      "app_api_groupStatusObject": {
        "type": "object",
        "description": "Most recently observed status of object.",
        "title": "Status of API group",
        "x-displayname": "Status",
        "x-ves-proto-message": "ves.io.schema.views.app_api_group.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": "Object reference.",
            "title": "object_refs",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "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 app_api_groupStatusObject",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "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"
          }
        }
      },
      "viewsapp_api_groupCreateSpecType": {
        "type": "object",
        "description": "Create app_api_group creates a new object in the storage backend for metadata.namespace.",
        "title": "Create app_api_group",
        "x-displayname": "Create API Group.",
        "x-ves-oneof-field-scope_choice": "[\"bigip_virtual_server\",\"cdn_loadbalancer\",\"http_loadbalancer\"]",
        "x-ves-proto-message": "ves.io.schema.views.app_api_group.CreateSpecType",
        "properties": {
          "bigip_virtual_server": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_api_groupApiGroupScopeBIGIPVirtualServer"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cdn_loadbalancer",
              "http_loadbalancer"
            ]
          },
          "cdn_loadbalancer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_api_groupApiGroupScopeCDNLoadbalancer"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for cdn loadbalancer.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "bigip_virtual_server",
              "http_loadbalancer"
            ]
          },
          "elements": {
            "type": "array",
            "description": "List of API group elements with methods and path regex for matching requests.",
            "maxItems": 5000,
            "items": {
              "$ref": "#/components/schemas/schemaapi_group_elementGlobalSpecType"
            },
            "x-displayname": "API Group Elements.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "5000"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "5000"
            },
            "x-f5xc-description-short": "List of API group elements with methods and path regex for matching requests.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 5000,
              "minItems": 0,
              "uniqueItems": false,
              "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
            }
          },
          "http_loadbalancer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_api_groupApiGroupScopeHttpLoadbalancer"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for http loadbalancer.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "bigip_virtual_server",
              "cdn_loadbalancer"
            ]
          }
        },
        "x-f5xc-description-short": "Create app_api_group creates a new object in the storage backend for metadata.namespace.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsapp_api_groupCreateSpecType",
          "required_fields": [
            "elements"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"elements\": [\n    {\n      \"methods\": [\n        \"ANY\"\n      ],\n      \"path_regex\": \"/api/config/configconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfig.*/path[123]/$\"\n    }\n  ]\n}",
          "example_yaml": "elements:\n- methods:\n  - ANY\n  path_regex: /api/config/configconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfig.*/path[123]/$"
        },
        "x-f5xc-cli-domain": "api",
        "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"
          }
        }
      },
      "viewsapp_api_groupGetSpecType": {
        "type": "object",
        "description": "GET app_api_group reads a given object from storage backend for metadata.namespace.",
        "title": "Get app_api_group",
        "x-displayname": "GET API Group.",
        "x-ves-oneof-field-scope_choice": "[\"bigip_virtual_server\",\"cdn_loadbalancer\",\"http_loadbalancer\"]",
        "x-ves-proto-message": "ves.io.schema.views.app_api_group.GetSpecType",
        "properties": {
          "api_endpoints_count": {
            "type": "integer",
            "description": "Number of API Endpoints in the actual API Group.\nIf the lists included, matched, excluded are disjoint then the length is\nlen(included) + len(matched) - excluded.",
            "format": "int64",
            "x-displayname": "API Endpoints Count.",
            "x-ves-example": "25",
            "x-f5xc-example": "25",
            "x-f5xc-description-short": "Number of API Endpoints in the actual API Group.",
            "x-f5xc-description-medium": "Number of API Endpoints in the actual API Group. If the lists included, matched, excluded are disjoint then the length is len(included) + len(matched) - excluded.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "bigip_virtual_server": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_api_groupApiGroupScopeBIGIPVirtualServer"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cdn_loadbalancer",
              "http_loadbalancer"
            ]
          },
          "cdn_loadbalancer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_api_groupApiGroupScopeCDNLoadbalancer"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for cdn loadbalancer.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "bigip_virtual_server",
              "http_loadbalancer"
            ]
          },
          "elements": {
            "type": "array",
            "description": "List of API group elements with methods and path regex for matching requests.",
            "maxItems": 5000,
            "items": {
              "$ref": "#/components/schemas/schemaapi_group_elementGlobalSpecType"
            },
            "x-displayname": "API Group Elements.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "5000"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "5000"
            },
            "x-f5xc-description-short": "List of API group elements with methods and path regex for matching requests.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 5000,
              "minItems": 0,
              "uniqueItems": false,
              "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
            }
          },
          "http_loadbalancer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_api_groupApiGroupScopeHttpLoadbalancer"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for http loadbalancer.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "bigip_virtual_server",
              "cdn_loadbalancer"
            ]
          }
        },
        "x-f5xc-description-short": "GET app_api_group reads a given object from storage backend for metadata.namespace.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsapp_api_groupGetSpecType",
          "required_fields": [
            "elements"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"elements\": [\n    {\n      \"methods\": [\n        \"ANY\"\n      ],\n      \"path_regex\": \"/api/config/configconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfig.*/path[123]/$\"\n    }\n  ]\n}",
          "example_yaml": "elements:\n- methods:\n  - ANY\n  path_regex: /api/config/configconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfig.*/path[123]/$"
        },
        "x-f5xc-cli-domain": "api",
        "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"
          }
        }
      },
      "viewsapp_api_groupGlobalSpecType": {
        "type": "object",
        "description": "Shape of app_api_group in the storage backend.",
        "title": "GlobalSpecType",
        "x-displayname": "Specification.",
        "x-ves-oneof-field-scope_choice": "[\"bigip_virtual_server\",\"cdn_loadbalancer\",\"http_loadbalancer\"]",
        "x-ves-proto-message": "ves.io.schema.views.app_api_group.GlobalSpecType",
        "properties": {
          "api_endpoints_count": {
            "type": "integer",
            "description": "Number of API Endpoints in the actual API Group.\nIf the lists included, matched, excluded are disjoint then the length is\nlen(included) + len(matched) - excluded.",
            "title": "api_endpoints_count",
            "format": "int64",
            "x-displayname": "API Endpoints Count.",
            "x-ves-example": "25",
            "x-f5xc-example": "25",
            "x-f5xc-description-short": "Number of API Endpoints in the actual API Group.",
            "x-f5xc-description-medium": "Number of API Endpoints in the actual API Group. If the lists included, matched, excluded are disjoint then the length is len(included) + len(matched) - excluded.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "bigip_virtual_server": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_api_groupApiGroupScopeBIGIPVirtualServer"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cdn_loadbalancer",
              "http_loadbalancer"
            ]
          },
          "cdn_loadbalancer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_api_groupApiGroupScopeCDNLoadbalancer"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for cdn loadbalancer.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "bigip_virtual_server",
              "http_loadbalancer"
            ]
          },
          "elements": {
            "type": "array",
            "description": "List of API group elements with methods and path regex for matching requests.",
            "title": "elements",
            "maxItems": 5000,
            "items": {
              "$ref": "#/components/schemas/schemaapi_group_elementGlobalSpecType"
            },
            "x-displayname": "API Group Elements.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "5000"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "5000"
            },
            "x-f5xc-description-short": "List of API group elements with methods and path regex for matching requests.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 5000,
              "minItems": 0,
              "uniqueItems": false,
              "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
            }
          },
          "http_loadbalancer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_api_groupApiGroupScopeHttpLoadbalancer"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for http loadbalancer.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "bigip_virtual_server",
              "cdn_loadbalancer"
            ]
          }
        },
        "x-f5xc-description-short": "Shape of app_api_group in the storage backend.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsapp_api_groupGlobalSpecType",
          "required_fields": [
            "elements"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"elements\": [\n    {\n      \"methods\": [\n        \"ANY\"\n      ],\n      \"path_regex\": \"/api/config/configconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfig.*/path[123]/$\"\n    }\n  ]\n}",
          "example_yaml": "elements:\n- methods:\n  - ANY\n  path_regex: /api/config/configconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfig.*/path[123]/$"
        },
        "x-f5xc-cli-domain": "api",
        "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"
          }
        }
      },
      "viewsapp_api_groupReplaceSpecType": {
        "type": "object",
        "description": "Replace app_api_group replaces an existing object in the storage backend for metadata.namespace.",
        "title": "Replace app_api_group",
        "x-displayname": "Replace API Group.",
        "x-ves-oneof-field-scope_choice": "[\"bigip_virtual_server\",\"cdn_loadbalancer\",\"http_loadbalancer\"]",
        "x-ves-proto-message": "ves.io.schema.views.app_api_group.ReplaceSpecType",
        "properties": {
          "bigip_virtual_server": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_api_groupApiGroupScopeBIGIPVirtualServer"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "cdn_loadbalancer",
              "http_loadbalancer"
            ]
          },
          "cdn_loadbalancer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_api_groupApiGroupScopeCDNLoadbalancer"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for cdn loadbalancer.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "bigip_virtual_server",
              "http_loadbalancer"
            ]
          },
          "elements": {
            "type": "array",
            "description": "List of API group elements with methods and path regex for matching requests.",
            "maxItems": 5000,
            "items": {
              "$ref": "#/components/schemas/schemaapi_group_elementGlobalSpecType"
            },
            "x-displayname": "API Group Elements.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "5000"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "5000"
            },
            "x-f5xc-description-short": "List of API group elements with methods and path regex for matching requests.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 5000,
              "minItems": 0,
              "uniqueItems": false,
              "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
            }
          },
          "http_loadbalancer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/app_api_groupApiGroupScopeHttpLoadbalancer"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for http loadbalancer.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "bigip_virtual_server",
              "cdn_loadbalancer"
            ]
          }
        },
        "x-f5xc-description-short": "Replace app_api_group replaces an existing object in the storage backend for metadata.namespace.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for viewsapp_api_groupReplaceSpecType",
          "required_fields": [
            "elements"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"elements\": [\n    {\n      \"methods\": [\n        \"ANY\"\n      ],\n      \"path_regex\": \"/api/config/configconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfig.*/path[123]/$\"\n    }\n  ]\n}",
          "example_yaml": "elements:\n- methods:\n  - ANY\n  path_regex: /api/config/configconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfig.*/path[123]/$"
        },
        "x-f5xc-cli-domain": "api",
        "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"
          }
        }
      },
      "common_wafAPIEndpointProtectionRule__ves_io_schema_app_security": {
        "type": "object",
        "description": "API Protection Rule for a specific endpoint.",
        "title": "API Endpoint Protection Rule",
        "x-displayname": "API Endpoint Protection Rule.",
        "x-ves-oneof-field-domain_choice": "[\"any_domain\",\"specific_domain\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.APIEndpointProtectionRule",
        "properties": {
          "action": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafAPIProtectionRuleAction__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "any_domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "specific_domain"
            ]
          },
          "api_endpoint_method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyHttpMethodMatcherType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "api_endpoint_path": {
            "type": "string",
            "description": "The endpoint (path) of the request.",
            "title": "api endpoint path",
            "maxLength": 1024,
            "x-displayname": "API Endpoint.",
            "x-ves-example": "/endpoint1.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-example": "/endpoint1",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "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
            }
          },
          "client_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyClientMatcher__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaMessageMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "request_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyRequestMatcher__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for request matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "specific_domain": {
            "type": "string",
            "description": "Exclusive with [any_domain]\nThe rule will apply for a specific domain.\nFor example: api.example.com.",
            "title": "domain",
            "maxLength": 128,
            "x-displayname": "Specific Domain.",
            "x-ves-example": "api.example.com.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-f5xc-example": "api.example.com",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-f5xc-description-short": "Exclusive with [any_domain] The rule will apply for a specific domain. For",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "format": "fqdn",
              "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": [
              "any_domain"
            ]
          }
        },
        "x-f5xc-description-short": "API Protection Rule for a specific endpoint.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafAPIEndpointProtectionRule",
          "required_fields": [
            "api_endpoint_path"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"api_endpoint_path\": \"/endpoint1\"\n}",
          "example_yaml": "api_endpoint_path: /endpoint1"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "common_wafAPIProtectionRuleAction__ves_io_schema_app_security": {
        "type": "object",
        "description": "The action to take if the input request matches the rule.",
        "title": "API Protection Rule Action",
        "x-displayname": "API Protection Rule Action.",
        "x-ves-oneof-field-action": "[\"allow\",\"deny\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.APIProtectionRuleAction",
        "properties": {
          "allow": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "deny"
            ]
          },
          "deny": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "allow"
            ]
          }
        },
        "x-f5xc-description-short": "The action to take if the input request matches the rule.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafAPIProtectionRuleAction",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "common_wafApiEndpointDetails": {
        "type": "object",
        "description": "This defines API endpoint.",
        "title": "ApiEndpointDetails",
        "x-displayname": "API Endpoint.",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.ApiEndpointDetails",
        "properties": {
          "methods": {
            "type": "array",
            "description": "Methods to be matched.",
            "title": "Methods",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/schemaHttpMethod"
            },
            "x-displayname": "Methods",
            "x-ves-example": "GET",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "GET",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "uniqueItems": true,
              "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
            }
          },
          "path": {
            "type": "string",
            "description": "Path to be matched.",
            "title": "Path",
            "maxLength": 1024,
            "x-displayname": "Path",
            "x-ves-example": "/API/v1/login.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-example": "/api/v1/login",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "minLength": 1,
              "pattern": "^[/a-zA-Z0-9._-]+$",
              "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
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafApiEndpointDetails",
          "required_fields": [
            "path"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"path\": \"/api/v1/login\"\n}",
          "example_yaml": "path: /api/v1/login"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "common_wafApiEndpointRule__ves_io_schema_app_security": {
        "type": "object",
        "title": "ApiEndpointRule",
        "x-displayname": "ApiEndpointRule.",
        "x-ves-oneof-field-domain_choice": "[\"any_domain\",\"specific_domain\"]",
        "x-ves-oneof-field-rate_limiter_choice": "[\"inline_rate_limiter\",\"ref_rate_limiter\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.ApiEndpointRule",
        "properties": {
          "any_domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "specific_domain"
            ]
          },
          "api_endpoint_method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyHttpMethodMatcherType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "api_endpoint_path": {
            "type": "string",
            "description": "The endpoint (path) of the request.",
            "title": "api endpoint path",
            "maxLength": 1024,
            "x-displayname": "API Endpoint.",
            "x-ves-example": "Value",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "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
            }
          },
          "client_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyClientMatcher__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "inline_rate_limiter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafInlineRateLimiter__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for inline rate limiter.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Inline rate-limiter settings for this domain, base-path, or endpoint rule. Select this field as the required rate_limiter_choice when no stored rate-limiter object is used.",
            "x-f5xc-conflicts-with": [
              "ref_rate_limiter"
            ]
          },
          "ref_rate_limiter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for ref rate limiter.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Reference to a stored rate-limiter object for this scoped rule. Select exactly one of ref_rate_limiter and inline_rate_limiter.",
            "x-f5xc-conflicts-with": [
              "inline_rate_limiter"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "rate_limiter",
                "field_path": "ref_rate_limiter",
                "gated_by": {
                  "choice": "rate_limiter_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "request_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyRequestMatcher__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for request matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "specific_domain": {
            "type": "string",
            "description": "Exclusive with [any_domain]\nThe rule will apply for a specific domain.",
            "title": "domain",
            "maxLength": 128,
            "x-displayname": "Specific Domain.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-f5xc-description-short": "Exclusive with [any_domain] The rule will apply for a specific domain.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "format": "fqdn",
              "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": [
              "any_domain"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafApiEndpointRule",
          "required_fields": [
            "api_endpoint_path"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"api_endpoint_path\": \"value\"\n}",
          "example_yaml": "api_endpoint_path: value"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "common_wafCustomFallThroughMode__ves_io_schema_app_security": {
        "type": "object",
        "description": "Define the fall through settings.",
        "title": "Custom Fall Through Mode",
        "x-displayname": "Custom Fall Through Mode.",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.CustomFallThroughMode",
        "properties": {
          "open_api_validation_rules": {
            "type": "array",
            "description": "Rule or policy definition",
            "title": "Custom Fall Through Rule List",
            "maxItems": 15,
            "items": {
              "$ref": "#/components/schemas/common_wafFallThroughRule__ves_io_schema_app_security"
            },
            "x-displayname": "Custom Fall Through Rule List.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "15",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "15",
              "ves.io.schema.rules.repeated.unique_metadata_name": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 15,
              "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 common_wafCustomFallThroughMode",
          "required_fields": [
            "open_api_validation_rules"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"open_api_validation_rules\": [\n    {}\n  ]\n}",
          "example_yaml": "open_api_validation_rules:\n- {}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "common_wafFallThroughRule__ves_io_schema_app_security": {
        "type": "object",
        "description": "Fall Through Rule for a specific endpoint, base-path, or API group.",
        "title": "Fall Through Rule",
        "x-displayname": "Fall Through Rule.",
        "x-ves-oneof-field-action_choice": "[\"action_block\",\"action_report\",\"action_skip\"]",
        "x-ves-oneof-field-condition_type_choice": "[\"api_endpoint\",\"api_group\",\"base_path\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.FallThroughRule",
        "properties": {
          "action_block": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "action_report",
              "action_skip"
            ]
          },
          "action_report": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "action_block",
              "action_skip"
            ]
          },
          "action_skip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "action_block",
              "action_report"
            ]
          },
          "api_endpoint": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafApiEndpointDetails"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_group",
              "base_path"
            ]
          },
          "api_group": {
            "type": "string",
            "description": "Exclusive with [api_endpoint base_path]\nThe API group which this validation applies to.",
            "title": "api_group",
            "maxLength": 128,
            "x-displayname": "API Group",
            "x-ves-example": "Oas-all-operations.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-example": "oas-all-operations",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-description-short": "Exclusive with [api_endpoint base_path] The API group which this validation applies to.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "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": [
              "api_endpoint",
              "base_path"
            ]
          },
          "base_path": {
            "type": "string",
            "description": "Exclusive with [api_endpoint api_group]\nThe base path which this validation applies to.",
            "title": "base path",
            "maxLength": 128,
            "x-displayname": "Base Path",
            "x-ves-example": "/API/v1",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-example": "/api/v1",
            "x-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-description-short": "Exclusive with [api_endpoint api_group] The base path which this validation applies to.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "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": [
              "api_endpoint",
              "api_group"
            ]
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaMessageMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Fall Through Rule for a specific endpoint, base-path, or API group.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafFallThroughRule",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "common_wafInlineRateLimiter__ves_io_schema_app_security": {
        "type": "object",
        "title": "InlineRateLimiter",
        "x-displayname": "InlineRateLimiter.",
        "x-ves-oneof-field-count_by_choice": "[\"ref_user_id\",\"use_http_lb_user_id\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.InlineRateLimiter",
        "properties": {
          "ref_user_id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaviewsObjectRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "x-f5xc-conflicts-with": [
              "use_http_lb_user_id"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "user_identification",
                "field_path": "ref_user_id",
                "gated_by": {
                  "choice": "count_by_choice"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "threshold": {
            "type": "integer",
            "description": "The total number of allowed requests for 1 unit (e.g. SECOND/MINUTE/HOUR etc.) of the specified period.",
            "title": "threshold",
            "format": "int64",
            "x-displayname": "Threshold",
            "x-ves-example": "1",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gt": "0",
              "ves.io.schema.rules.uint32.lte": "8192"
            },
            "x-f5xc-example": "1",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gt": "0",
              "ves.io.schema.rules.uint32.lte": "8192"
            },
            "x-f5xc-description-short": "The total number of allowed requests for 1 unit (e.g. SECOND/MINUTE/HOUR etc.) of the specified period.",
            "x-f5xc-description-medium": "The total number of allowed requests for 1 unit (e.g. SECOND/MINUTE/HOUR etc.) of the specified period.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 1,
              "maximum": 8192,
              "multipleOf": 1,
              "metadata": {
                "source": "api-probed",
                "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
            }
          },
          "unit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/rate_limiterRateLimitPeriodUnit"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "use_http_lb_user_id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "x-f5xc-conflicts-with": [
              "ref_user_id"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafInlineRateLimiter",
          "required_fields": [
            "threshold"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"threshold\": 0\n}",
          "example_yaml": "threshold: 0"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "common_wafOpenApiFallThroughMode__ves_io_schema_app_security": {
        "type": "object",
        "description": "Determine what to do with unprotected endpoints (not in the OpenAPI specification file (a.k.a. Swagger) or doesn't have a specific rule in custom rules)",
        "title": "Fall Through Mode",
        "x-displayname": "Fall Through Mode.",
        "x-ves-oneof-field-fall_through_mode_choice": "[\"fall_through_mode_allow\",\"fall_through_mode_custom\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.OpenApiFallThroughMode",
        "properties": {
          "fall_through_mode_allow": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for fall through mode allow.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "fall_through_mode_custom"
            ]
          },
          "fall_through_mode_custom": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafCustomFallThroughMode__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for fall through mode custom.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "fall_through_mode_allow"
            ]
          }
        },
        "x-required": true,
        "x-f5xc-description-short": "Determine what to do with unprotected endpoints (not in the OpenAPI specification file (a.k.a.",
        "x-f5xc-description-medium": "Determine what to do with unprotected endpoints (not in the OpenAPI specification file (a.k.a. Swagger) or doesn't have a specific rule in custom rules).",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafOpenApiFallThroughMode",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "common_wafOpenApiValidationAllSpecEndpointsSettings__ves_io_schema_app_security": {
        "type": "object",
        "description": "Settings for API Inventory validation.",
        "title": "OpenAPI Validation API Inventory Settings",
        "x-displayname": "API Inventory.",
        "x-ves-oneof-field-oversized_body_choice": "[]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.OpenApiValidationAllSpecEndpointsSettings",
        "properties": {
          "fall_through_mode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafOpenApiFallThroughMode__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for fall through mode.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "settings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafOpenApiValidationCommonSettings__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "validation_mode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafOpenApiValidationMode__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for validation mode.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafOpenApiValidationAllSpecEndpointsSettings",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "common_wafOpenApiValidationCommonSettings__ves_io_schema_app_security": {
        "type": "object",
        "description": "OpenAPI specification validation settings relevant for \"API Inventory\" enforcement and for \"Custom list\" enforcement.",
        "title": "OpenAPI specification validation common settings",
        "x-displayname": "Common Settings.",
        "x-ves-oneof-field-fail_configuration": "[]",
        "x-ves-oneof-field-oversized_body_choice": "[\"oversized_body_fail_validation\",\"oversized_body_skip_validation\"]",
        "x-ves-oneof-field-property_validation_settings_choice": "[\"property_validation_settings_custom\",\"property_validation_settings_default\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.OpenApiValidationCommonSettings",
        "properties": {
          "oversized_body_fail_validation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "oversized_body_skip_validation"
            ]
          },
          "oversized_body_skip_validation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "oversized_body_fail_validation"
            ]
          },
          "property_validation_settings_custom": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafValidationPropertySetting__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for property validation settings custom.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "property_validation_settings_default"
            ]
          },
          "property_validation_settings_default": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for property validation settings default.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "property_validation_settings_custom"
            ]
          }
        },
        "x-f5xc-description-short": "OpenAPI specification validation settings relevant for \"API Inventory\" enforcement and for \"Custom list\" enforcement.",
        "x-f5xc-description-medium": "OpenAPI specification validation settings relevant for \"API Inventory\" enforcement and for \"Custom list\" enforcement.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafOpenApiValidationCommonSettings",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "common_wafOpenApiValidationMode__ves_io_schema_app_security": {
        "type": "object",
        "description": "Validation mode of OpenAPI specification.\nWhen a validation mismatch occurs on a request to one of the endpoints listed on the OpenAPI specification file (a.k.a. Swagger)",
        "title": "Validation Mode",
        "x-displayname": "Validation Mode.",
        "x-ves-oneof-field-response_validation_mode_choice": "[\"response_validation_mode_active\",\"skip_response_validation\"]",
        "x-ves-oneof-field-validation_mode_choice": "[\"skip_validation\",\"validation_mode_active\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.OpenApiValidationMode",
        "properties": {
          "response_validation_mode_active": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafOpenApiValidationModeActiveResponse__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "skip_response_validation"
            ]
          },
          "skip_response_validation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "response_validation_mode_active"
            ]
          },
          "skip_validation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "validation_mode_active"
            ]
          },
          "validation_mode_active": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafOpenApiValidationModeActive__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-description-short": "Enable OpenAPI validation and explicitly select enforcement_report to allow and log invalid traffic, or enforcement_block to reject invalid...",
            "x-f5xc-description-medium": "Enable OpenAPI validation and explicitly select enforcement_report to allow and log invalid traffic, or enforcement_block to reject invalid requests with HTTP 403.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Enable OpenAPI validation and explicitly select enforcement_report to allow and log invalid traffic, or enforcement_block to reject invalid requests with HTTP 403.",
            "x-f5xc-conflicts-with": [
              "skip_validation"
            ]
          }
        },
        "x-required": true,
        "x-f5xc-description-short": "Validation mode of OpenAPI specification.",
        "x-f5xc-description-medium": "Validation mode of OpenAPI specification. When a validation mismatch occurs on a request to one of the endpoints listed on the OpenAPI specification file (a.k.a. Swagger).",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafOpenApiValidationMode",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "common_wafOpenApiValidationModeActive__ves_io_schema_app_security": {
        "type": "object",
        "description": "Validation mode properties of request.",
        "title": "Open API Validation Mode Active For Request",
        "x-displayname": "Open API Validation Mode Active.",
        "x-ves-oneof-field-validation_enforcement_type": "[\"enforcement_block\",\"enforcement_report\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.OpenApiValidationModeActive",
        "properties": {
          "enforcement_block": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Blocking validation: reject traffic that violates the selected OpenAPI validation properties.",
            "x-f5xc-description-medium": "Blocking validation: reject traffic that violates the selected OpenAPI validation properties. Invalid requests are returned as HTTP 403.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Blocking validation: reject traffic that violates the selected OpenAPI validation properties. Invalid requests are returned as HTTP 403.",
            "x-f5xc-conflicts-with": [
              "enforcement_report"
            ]
          },
          "enforcement_report": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Report-only validation: record OpenAPI violations while allowing the request or response to continue.",
            "x-f5xc-description-medium": "Report-only validation: record OpenAPI violations while allowing the request or response to continue.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Report-only validation: record OpenAPI violations while allowing the request or response to continue.",
            "x-f5xc-conflicts-with": [
              "enforcement_block"
            ]
          },
          "request_validation_properties": {
            "type": "array",
            "description": "List of properties of the request to validate according to the OpenAPI specification file (a.k.a. Swagger)",
            "title": "Request Validation Properties",
            "minItems": 1,
            "items": {
              "$ref": "#/components/schemas/schemaOpenApiValidationProperties"
            },
            "x-displayname": "Request Validation Properties.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.items.enum.not_in": "[7]",
              "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.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.items.enum.not_in": "[7]",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of properties of the request to validate according to the OpenAPI specification file (a.k.a.",
            "x-f5xc-description-medium": "List of properties of the request to validate according to the OpenAPI specification file (a.k.a. Swagger).",
            "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
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafOpenApiValidationModeActive",
          "required_fields": [
            "request_validation_properties"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"request_validation_properties\": [\n    \"PROPERTY_QUERY_PARAMETERS\"\n  ]\n}",
          "example_yaml": "request_validation_properties:\n- PROPERTY_QUERY_PARAMETERS"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "common_wafOpenApiValidationModeActiveResponse__ves_io_schema_app_security": {
        "type": "object",
        "description": "Validation mode properties of response.",
        "title": "Open API Validation Mode Active For Response",
        "x-displayname": "Open API Validation Mode Active.",
        "x-ves-oneof-field-validation_enforcement_type": "[\"enforcement_block\",\"enforcement_report\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.OpenApiValidationModeActiveResponse",
        "properties": {
          "enforcement_block": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Blocking validation: reject traffic that violates the selected OpenAPI validation properties.",
            "x-f5xc-description-medium": "Blocking validation: reject traffic that violates the selected OpenAPI validation properties. Invalid requests are returned as HTTP 403.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Blocking validation: reject traffic that violates the selected OpenAPI validation properties. Invalid requests are returned as HTTP 403.",
            "x-f5xc-conflicts-with": [
              "enforcement_report"
            ]
          },
          "enforcement_report": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Report-only validation: record OpenAPI violations while allowing the request or response to continue.",
            "x-f5xc-description-medium": "Report-only validation: record OpenAPI violations while allowing the request or response to continue.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "description": "Report-only validation: record OpenAPI violations while allowing the request or response to continue.",
            "x-f5xc-conflicts-with": [
              "enforcement_block"
            ]
          },
          "response_validation_properties": {
            "type": "array",
            "description": "List of properties of the response to validate according to the OpenAPI specification file (a.k.a. Swagger)",
            "title": "Response Validation Properties",
            "minItems": 1,
            "items": {
              "$ref": "#/components/schemas/schemaOpenApiValidationProperties"
            },
            "x-displayname": "Response Validation Properties.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.items.enum.in": "[2,4,5,7]",
              "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.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.items.enum.in": "[2,4,5,7]",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of properties of the response to validate according to the OpenAPI specification file (a.k.a.",
            "x-f5xc-description-medium": "List of properties of the response to validate according to the OpenAPI specification file (a.k.a. Swagger).",
            "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
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafOpenApiValidationModeActiveResponse",
          "required_fields": [
            "response_validation_properties"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"response_validation_properties\": [\n    \"PROPERTY_QUERY_PARAMETERS\"\n  ]\n}",
          "example_yaml": "response_validation_properties:\n- PROPERTY_QUERY_PARAMETERS"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "common_wafOpenApiValidationRule__ves_io_schema_app_security": {
        "type": "object",
        "description": "OpenAPI Validation Rule for a specific endpoint, base-path, or API group.",
        "title": "OpenAPI Validation Rule",
        "x-displayname": "OpenAPI Validation Rule.",
        "x-ves-oneof-field-condition_type_choice": "[\"api_endpoint\",\"api_group\",\"base_path\"]",
        "x-ves-oneof-field-domain_choice": "[\"any_domain\",\"specific_domain\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.OpenApiValidationRule",
        "properties": {
          "any_domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "specific_domain"
            ]
          },
          "api_endpoint": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafApiEndpointDetails"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_group",
              "base_path"
            ]
          },
          "api_group": {
            "type": "string",
            "description": "Exclusive with [api_endpoint base_path]\nThe API group which this validation applies to.",
            "title": "api_group",
            "maxLength": 128,
            "x-displayname": "API Group",
            "x-ves-example": "Oas-all-operations.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-example": "oas-all-operations",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-description-short": "Exclusive with [api_endpoint base_path] The API group which this validation applies to.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "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": [
              "api_endpoint",
              "base_path"
            ]
          },
          "base_path": {
            "type": "string",
            "description": "Exclusive with [api_endpoint api_group]\nThe base path which this validation applies to.",
            "title": "base path",
            "maxLength": 128,
            "x-displayname": "Base Path",
            "x-ves-example": "/API/v1",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-example": "/api/v1",
            "x-validation-rules": {
              "ves.io.schema.rules.string.http_path": "true",
              "ves.io.schema.rules.string.max_len": "128"
            },
            "x-f5xc-description-short": "Exclusive with [api_endpoint api_group] The base path which this validation applies to.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "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": [
              "api_endpoint",
              "api_group"
            ]
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaMessageMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "specific_domain": {
            "type": "string",
            "description": "Exclusive with [any_domain]\nThe rule will apply for a specific domain.",
            "title": "domain",
            "maxLength": 128,
            "x-displayname": "Specific Domain.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "128",
              "ves.io.schema.rules.string.vh_domain": "true"
            },
            "x-f5xc-description-short": "Exclusive with [any_domain] The rule will apply for a specific domain.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 128,
              "format": "fqdn",
              "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": [
              "any_domain"
            ]
          },
          "validation_mode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafOpenApiValidationMode__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for validation mode.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "OpenAPI Validation Rule for a specific endpoint, base-path, or API group.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafOpenApiValidationRule",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "common_wafValidationPropertySetting__ves_io_schema_app_security": {
        "type": "object",
        "description": "Custom property validation settings.",
        "title": "Validation Property settings",
        "x-displayname": "Validation Property Settings.",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.ValidationPropertySetting",
        "properties": {
          "queryParameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafValidationSettingForQueryParameters__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for queryParameters.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafValidationPropertySetting",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "common_wafValidationSettingForQueryParameters__ves_io_schema_app_security": {
        "type": "object",
        "description": "Custom settings for query parameters validation.",
        "title": "Validation Settings For Query Parameters",
        "x-displayname": "Validation Settings For Query Parameters.",
        "x-ves-oneof-field-additional_parameters_choice": "[\"allow_additional_parameters\",\"disallow_additional_parameters\"]",
        "x-ves-proto-message": "ves.io.schema.views.common_waf.ValidationSettingForQueryParameters",
        "properties": {
          "allow_additional_parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for allow additional parameters.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disallow_additional_parameters"
            ]
          },
          "disallow_additional_parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for disallow additional parameters.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "allow_additional_parameters"
            ]
          }
        },
        "x-f5xc-description-short": "Custom settings for query parameters validation.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for common_wafValidationSettingForQueryParameters",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "http_loadbalancerBodySectionMaskingOptions": {
        "type": "object",
        "description": "OPTIONS for HTTP Body Masking.",
        "title": "Body Section Masking Options",
        "x-displayname": "Body Section Masking OPTIONS.",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.BodySectionMaskingOptions",
        "properties": {
          "fields": {
            "type": "array",
            "description": "List of JSON Path field values. Use square brackets with an underscore [_] to indicate array elements (e.g., person.emails[_]). To reference JSON keys that contain spaces, enclose the entire path in double quotes. For example: \"person.first name\".",
            "title": "Field Values",
            "minItems": 1,
            "maxItems": 16,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "x-displayname": "Values",
            "x-ves-example": "['user.email', 'credit_card']",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.json_path": "true",
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.min_bytes": "1",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "['user.email', 'credit_card']",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.json_path": "true",
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.min_bytes": "1",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of JSON Path field values. Use square brackets with an underscore [_] to indicate array elements (e.g., person.emails[_]).",
            "x-f5xc-description-medium": "List of JSON Path field values. Use square brackets with an underscore [_] to indicate array elements (e.g., person.emails[_]). To reference JSON keys that contain spaces, enclose the entire path in double quotes.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 16,
              "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
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerBodySectionMaskingOptions",
          "required_fields": [
            "fields"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"fields\": [\n    \"value\"\n  ]\n}",
          "example_yaml": "fields:\n- value"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "http_loadbalancerSensitiveDataTypes__ves_io_schema_app_security": {
        "type": "object",
        "description": "Settings to mask sensitive data in request/response payload.",
        "title": "Sensitive Data Types",
        "x-displayname": "Sensitive Data Types.",
        "x-ves-oneof-field-masking_mode_choice": "[\"mask\",\"report\"]",
        "x-ves-oneof-field-type_condition_type_choice": "[\"api_endpoint\"]",
        "x-ves-proto-message": "ves.io.schema.views.http_loadbalancer.SensitiveDataTypes",
        "properties": {
          "api_endpoint": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafApiEndpointDetails"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "body": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerBodySectionMaskingOptions"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "mask": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "report"
            ]
          },
          "report": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "mask"
            ]
          }
        },
        "x-f5xc-description-short": "Settings to mask sensitive data in request/response payload.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for http_loadbalancerSensitiveDataTypes",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "virtual",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "policyAsnMatchList": {
        "type": "object",
        "description": "An unordered set of RFC 6793 defined 4-byte AS numbers that can be used to create allow or deny lists for use in network policy or service policy. It can be used to create the allow list only for DNS Load Balancer.",
        "title": "Asn Match List",
        "x-displayname": "ASN Match List.",
        "x-ves-proto-message": "ves.io.schema.policy.AsnMatchList",
        "properties": {
          "as_numbers": {
            "type": "array",
            "description": "An unordered set of RFC 6793 defined 4-byte AS numbers that can be used to create allow or deny lists for use in network policy or service policy. It can be used to create the allow list only for DNS Load Balancer.",
            "title": "as numbers",
            "minItems": 1,
            "maxItems": 16,
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "x-displayname": "AS Numbers.",
            "x-ves-example": "[713, 7932, 847325, 4683, 15269, 1000001]",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "[713, 7932, 847325, 4683, 15269, 1000001]",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Unordered set of RFC 6793 defined 4-byte AS numbers that can be used to create allow or deny lists for use in network policy or service policy.",
            "x-f5xc-description-medium": "Unordered set of RFC 6793 defined 4-byte AS numbers that can be used to create allow or deny lists for use in network policy or service policy. It can be used to create the allow list only for DNS Load Balancer.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 16,
              "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
            }
          }
        },
        "x-f5xc-description-short": "Unordered set of RFC 6793 defined 4-byte AS numbers that can be used to create allow or deny lists for use in network policy or service policy.",
        "x-f5xc-description-medium": "Unordered set of RFC 6793 defined 4-byte AS numbers that can be used to create allow or deny lists for use in network policy or service policy. It can be used to create the allow list only for DNS Load Balancer.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyAsnMatchList",
          "required_fields": [
            "as_numbers"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"as_numbers\": [\n    0\n  ]\n}",
          "example_yaml": "as_numbers:\n- 0"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "policyAsnMatcherType": {
        "type": "object",
        "description": "Match any AS number contained in the list of bgp_asn_sets.",
        "title": "asn matcher type",
        "x-displayname": "ASN Matcher.",
        "x-ves-proto-message": "ves.io.schema.policy.AsnMatcherType",
        "properties": {
          "asn_sets": {
            "type": "array",
            "description": "A list of references to bgp_asn_set objects.",
            "title": "asn_sets",
            "maxItems": 4,
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "BGP ASN Sets.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "4"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "4"
            },
            "x-f5xc-description-short": "List of references to bgp_asn_set objects.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 4,
              "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": "Match any AS number contained in the list of bgp_asn_sets.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyAsnMatcherType",
          "required_fields": [
            "asn_sets"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"asn_sets\": [\n    {}\n  ]\n}",
          "example_yaml": "asn_sets:\n- {}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "policyClientMatcher__ves_io_schema_app_security": {
        "type": "object",
        "description": "Client conditions for matching a rule.",
        "title": "Client Matcher",
        "x-displayname": "Client Matcher.",
        "x-ves-oneof-field-client_choice": "[\"any_client\",\"client_selector\",\"ip_threat_category_list\"]",
        "x-ves-oneof-field-ip_asn_choice": "[\"any_ip\",\"asn_list\",\"asn_matcher\",\"ip_matcher\",\"ip_prefix_list\"]",
        "x-ves-proto-message": "ves.io.schema.policy.ClientMatcher",
        "properties": {
          "any_client": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "client_selector",
              "ip_threat_category_list"
            ]
          },
          "any_ip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "asn_list",
              "asn_matcher",
              "ip_matcher",
              "ip_prefix_list"
            ]
          },
          "asn_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyAsnMatchList"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_ip",
              "asn_matcher",
              "ip_matcher",
              "ip_prefix_list"
            ]
          },
          "asn_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyAsnMatcherType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for asn matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_ip",
              "asn_list",
              "ip_matcher",
              "ip_prefix_list"
            ]
          },
          "client_selector": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaLabelSelectorType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_client",
              "ip_threat_category_list"
            ]
          },
          "ip_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyIpMatcherType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_ip",
              "asn_list",
              "asn_matcher",
              "ip_prefix_list"
            ]
          },
          "ip_prefix_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyPrefixMatchList"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_ip",
              "asn_list",
              "asn_matcher",
              "ip_matcher"
            ]
          },
          "ip_threat_category_list": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemapolicyIPThreatCategoryListType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "any_client",
              "client_selector"
            ]
          },
          "tls_fingerprint_matcher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyTlsFingerprintMatcherType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for tls fingerprint matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyClientMatcher",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "policyCookieMatcherType__ves_io_schema_app_security": {
        "type": "object",
        "description": "A cookie matcher specifies the name of a single cookie and the criteria to match it. The input has a list of values for each\ncookie in the request.\nA cookie matcher can check for one of the following:\n* Presence or absence of the cookie\n* At least one of the values for the cookie in the request satisfies the MatcherType item.",
        "title": "CookieMatcherType",
        "x-displayname": "Cookie Matcher.",
        "x-ves-displayorder": "1,6,4",
        "x-ves-oneof-field-match": "[\"check_not_present\",\"check_present\",\"item\"]",
        "x-ves-proto-message": "ves.io.schema.policy.CookieMatcherType",
        "properties": {
          "check_not_present": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for check not present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "check_present",
              "item"
            ]
          },
          "check_present": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for check present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "check_not_present",
              "item"
            ]
          },
          "invert_matcher": {
            "type": "boolean",
            "description": "Invert Match of the expression defined.",
            "title": "invert_matcher",
            "format": "boolean",
            "x-displayname": "Invert Matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "item": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyMatcherType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 26,
            "minLength": 15,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "x-f5xc-conflicts-with": [
              "check_not_present",
              "check_present"
            ]
          },
          "name": {
            "type": "string",
            "description": "A case-sensitive cookie name.",
            "title": "name",
            "maxLength": 63,
            "x-displayname": "Cookie Name.",
            "x-ves-example": "Session",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-f5xc-example": "Session",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "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": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true,
              "byteLength": {
                "max": 256
              }
            },
            "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])?$"
          }
        },
        "x-f5xc-description-short": "Cookie matcher specifies the name of a single cookie and the criteria to match it.",
        "x-f5xc-description-medium": "Cookie matcher specifies the name of a single cookie and the criteria to match it. The input has a list of values for each cookie in the request. A cookie matcher can check for one of the following: * Presence or absence of the cookie * At least one of the values for the cookie in the request...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyCookieMatcherType",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"Session\"\n}",
          "example_yaml": "name: Session"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "policyHttpMethodMatcherType": {
        "type": "object",
        "description": "A HTTP method matcher specifies a list of methods to match an input HTTP method. The match is considered successful if the input method is a member of the list.\nThe result of the match based on the method list is inverted if invert_matcher is true.",
        "title": "HttpMethodMatcherType",
        "x-displayname": "HTTP Method Matcher.",
        "x-ves-proto-message": "ves.io.schema.policy.HttpMethodMatcherType",
        "properties": {
          "invert_matcher": {
            "type": "boolean",
            "description": "Invert the match result.",
            "title": "invert_matcher",
            "format": "boolean",
            "x-displayname": "Invert Method Matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "methods": {
            "type": "array",
            "description": "List of methods values to match against.",
            "title": "methods",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/schemaHttpMethod"
            },
            "x-displayname": "Method List.",
            "x-ves-example": "['GET', 'POST', 'DELETE']",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "['GET', 'POST', 'DELETE']",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.enum.defined_only": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of methods values to match against.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "uniqueItems": true,
              "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-description-short": "HTTP method matcher specifies a list of methods to match an input HTTP method.",
        "x-f5xc-description-medium": "HTTP method matcher specifies a list of methods to match an input HTTP method. The match is considered successful if the input method is a member of the list. The result of the match based on the method list is inverted if invert_matcher is true.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyHttpMethodMatcherType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "policyIPThreatCategory": {
        "type": "string",
        "description": "The IP threat categories to use when a policy based IP threat category is configured.\n\n- SPAM_SOURCES: SPAM_SOURCES\n\n- WINDOWS_EXPLOITS: WINDOWS_EXPLOITS\n\n- WEB_ATTACKS: WEB_ATTACKS\n\n- BOTNETS: BOTNETS\n\n- SCANNERS: SCANNERS\n\n- REPUTATION: REPUTATION\n\n- PHISHING: PHISHING\n\n- PROXY: PROXY\n\n- MOBILE_THREATS: MOBILE_THREATS\n\n- TOR_PROXY: TOR_PROXY\n\n- DENIAL_OF_SERVICE: DENIAL_OF_SERVICE\n\n- NETWORK: NETWORK.",
        "title": "IP Threat Category",
        "enum": [
          "SPAM_SOURCES",
          "WINDOWS_EXPLOITS",
          "WEB_ATTACKS",
          "BOTNETS",
          "SCANNERS",
          "REPUTATION",
          "PHISHING",
          "PROXY",
          "MOBILE_THREATS",
          "TOR_PROXY",
          "DENIAL_OF_SERVICE",
          "NETWORK"
        ],
        "default": "SPAM_SOURCES",
        "x-displayname": "IP Threat Category.",
        "x-ves-proto-enum": "ves.io.schema.policy.IPThreatCategory",
        "x-f5xc-description-short": "The IP threat categories to use when a policy based IP threat category is configured. - SPAM_SOURCES: SPAM_SOURCES - WINDOWS_EXPLOITS...",
        "x-f5xc-description-medium": "The IP threat categories to use when a policy based IP threat category is configured. - SPAM_SOURCES: SPAM_SOURCES - WINDOWS_EXPLOITS: WINDOWS_EXPLOITS - WEB_ATTACKS: WEB_ATTACKS - BOTNETS: BOTNETS - SCANNERS: SCANNERS - REPUTATION: REPUTATION - PHISHING: PHISHING - PROXY: PROXY ...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyIPThreatCategory",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"SPAM_SOURCES\"",
          "example_yaml": "SPAM_SOURCES\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "policyIpMatcherType": {
        "type": "object",
        "description": "Match any IP prefix contained in the list of ip_prefix_sets.\nThe result of the match is inverted if invert_matcher is true.",
        "title": "ip matcher type",
        "x-displayname": "IP Prefix Matcher.",
        "x-ves-proto-message": "ves.io.schema.policy.IpMatcherType",
        "properties": {
          "invert_matcher": {
            "type": "boolean",
            "description": "Invert the match result.",
            "title": "invert_matcher",
            "format": "boolean",
            "x-displayname": "Invert IP Matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "prefix_sets": {
            "type": "array",
            "description": "A list of references to ip_prefix_set objects.",
            "title": "prefix_sets",
            "maxItems": 4,
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "IP Prefix Sets.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "4"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "4"
            },
            "x-f5xc-description-short": "List of references to ip_prefix_set objects.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 4,
              "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": "Match any IP prefix contained in the list of ip_prefix_sets. The result of the match is inverted if invert_matcher is true.",
        "x-f5xc-description-medium": "Match any IP prefix contained in the list of ip_prefix_sets. The result of the match is inverted if invert_matcher is true.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyIpMatcherType",
          "required_fields": [
            "prefix_sets"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"prefix_sets\": [\n    {}\n  ]\n}",
          "example_yaml": "prefix_sets:\n- {}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "policyJWTClaimMatcherType__ves_io_schema_app_security": {
        "type": "object",
        "description": "A JWT claim matcher specifies the name of a single JWT claim and the criteria for the input request to match it.\nThe input has a list of actual values for each JWT claim name in the JWT payload.\nA JWT claim matcher can check for one of the following:\n* Presence or absence of the JWT Claim in the input\n* At least one of the values for the JWT Claim in the input satisfies the MatcherType item.",
        "title": "JWTClaimMatcherType",
        "x-displayname": "JWT Claim Matcher.",
        "x-ves-displayorder": "1,2,6",
        "x-ves-oneof-field-match": "[\"check_not_present\",\"check_present\",\"item\"]",
        "x-ves-proto-message": "ves.io.schema.policy.JWTClaimMatcherType",
        "properties": {
          "check_not_present": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for check not present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "check_present",
              "item"
            ]
          },
          "check_present": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for check present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "check_not_present",
              "item"
            ]
          },
          "invert_matcher": {
            "type": "boolean",
            "description": "Invert the match result.",
            "title": "invert_matcher",
            "format": "boolean",
            "x-displayname": "Invert Matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "item": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyMatcherType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 26,
            "minLength": 15,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "x-f5xc-conflicts-with": [
              "check_not_present",
              "check_present"
            ]
          },
          "name": {
            "type": "string",
            "description": "JWT claim name.",
            "title": "name",
            "maxLength": 63,
            "x-displayname": "JWT Claim Name.",
            "x-ves-example": "User_id",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-f5xc-example": "user_id",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "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": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true,
              "byteLength": {
                "max": 256
              }
            },
            "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])?$"
          }
        },
        "x-f5xc-description-short": "JWT claim matcher specifies the name of a single JWT claim and the criteria for the input request to match it.",
        "x-f5xc-description-medium": "JWT claim matcher specifies the name of a single JWT claim and the criteria for the input request to match it. The input has a list of actual values for each JWT claim name in the JWT payload. A JWT claim matcher can check for one of the following: * Presence or absence of the JWT Claim in the...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyJWTClaimMatcherType",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"user_id\"\n}",
          "example_yaml": "name: user_id"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "policyKnownTlsFingerprintClass": {
        "type": "string",
        "description": "Specifies known TLS fingerprint classes\n\n- TLS_FINGERPRINT_NONE: TLS_FINGERPRINT_NONE\n\nNo TLS fingerprint\n- ANY_MALICIOUS_FINGERPRINT: ANY_MALICIOUS_FINGERPRINT\n\nTLS fingerprints known to be associated with malicious clients\n- ADWARE: ADWARE\n\nTLS fingerprints known to be associated with adware\n- ADWIND: ADWIND\n\nTLS fingerprints known to be associated with adwind\n- DRIDEX: DRIDEX\n\nTLS fingerprints known to be associated with dridex\n- GOOTKIT: GOOTKIT\n\nTLS fingerprints known to be associated with gootkit\n- GOZI: GOZI\n\nTLS fingerprints known to be associated with gozi\n- JBIFROST: JBIFROST\n\nTLS fingerprints known to be associated with jbifrost\n- QUAKBOT: QUAKBOT\n\nTLS fingerprints known to be associated with quakbot\n- RANSOMWARE: RANSOMWARE\n\nTLS fingerprints known to be associated with ransomware\n- TROLDESH: TROLDESH\n\nTLS fingerprints known to be associated with troldesh\n- TOFSEE: TOFSEE\n\nTLS fingerprints known to be associated with tofsee\n- TORRENTLOCKER: TORRENTLOCKER\n\nTLS fingerprints known to be associated with torrentlocker\n- TRICKBOT: TRICKBOT\n\nTLS fingerprints known to be associated with trickbot.",
        "title": "TLS known fingerprint class",
        "enum": [
          "TLS_FINGERPRINT_NONE",
          "ANY_MALICIOUS_FINGERPRINT",
          "ADWARE",
          "ADWIND",
          "DRIDEX",
          "GOOTKIT",
          "GOZI",
          "JBIFROST",
          "QUAKBOT",
          "RANSOMWARE",
          "TROLDESH",
          "TOFSEE",
          "TORRENTLOCKER",
          "TRICKBOT"
        ],
        "default": "TLS_FINGERPRINT_NONE",
        "x-displayname": "TLS known fingerprint class.",
        "x-ves-proto-enum": "ves.io.schema.policy.KnownTlsFingerprintClass",
        "x-f5xc-description-short": "Specifies known TLS fingerprint classes - TLS_FINGERPRINT_NONE: TLS_FINGERPRINT_NONE No TLS fingerprint - ANY_MALICIOUS_FINGERPRINT...",
        "x-f5xc-description-medium": "Specifies known TLS fingerprint classes - TLS_FINGERPRINT_NONE: TLS_FINGERPRINT_NONE No TLS fingerprint - ANY_MALICIOUS_FINGERPRINT: ANY_MALICIOUS_FINGERPRINT TLS fingerprints known to be associated with malicious clients - ADWARE: ADWARE TLS fingerprints known to be associated with adware ...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyKnownTlsFingerprintClass",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"TLS_FINGERPRINT_NONE\"",
          "example_yaml": "TLS_FINGERPRINT_NONE\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "policyMatcherType": {
        "type": "object",
        "description": "A matcher specifies multiple criteria for matching an input string. The match is considered successful if any of the criteria are satisfied. The set\nof supported match criteria includes a list of exact values and a list of regular expressions.",
        "title": "MatcherType",
        "x-displayname": "Matcher",
        "x-ves-proto-message": "ves.io.schema.policy.MatcherType",
        "properties": {
          "exact_values": {
            "type": "array",
            "description": "A list of exact values to match the input against.",
            "title": "exact values",
            "maxItems": 64,
            "items": {
              "type": "string",
              "maxLength": 256
            },
            "x-displayname": "Exact Values.",
            "x-ves-example": "['new york', 'london', 'sydney', 'tokyo', 'cairo']",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "['new york', 'london', 'sydney', 'tokyo', 'cairo']",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.max_items": "64",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of exact values to match the input against.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 64,
              "uniqueItems": true,
              "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
            }
          },
          "regex_values": {
            "type": "array",
            "description": "A list of regular expressions to match the input against.",
            "title": "regex values",
            "maxItems": 16,
            "items": {
              "type": "string",
              "maxLength": 256
            },
            "x-displayname": "Regex Values.",
            "x-ves-example": "['^new .*$', 'san f.*', '.* del .*']",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.items.string.regex": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "['^new .*$', 'san f.*', '.* del .*']",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.max_bytes": "256",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.items.string.regex": "true",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of regular expressions to match the input against.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "uniqueItems": true,
              "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
            }
          },
          "transformers": {
            "type": "array",
            "description": "An ordered list of transformers (starting from index 0) to be applied to the path before matching.",
            "title": "transformers",
            "maxItems": 9,
            "items": {
              "$ref": "#/components/schemas/policyTransformer"
            },
            "x-displayname": "Transformers.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "9",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "\"[BASE64_DECODE, LOWER_CASE]",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "9",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "Ordered list of transformers (starting from index 0) to be applied to the path before matching.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 9,
              "uniqueItems": true,
              "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-description-short": "Matcher specifies multiple criteria for matching an input string. The match is considered successful if any of the criteria are satisfied.",
        "x-f5xc-description-medium": "Matcher specifies multiple criteria for matching an input string. The match is considered successful if any of the criteria are satisfied. The set of supported match criteria includes a list of exact values and a list of regular expressions.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyMatcherType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "policyPrefixMatchList": {
        "type": "object",
        "description": "List of IP Prefix strings to match against.",
        "title": "IP Prefix Match List",
        "x-displayname": "IP Prefix Match List.",
        "x-ves-proto-message": "ves.io.schema.policy.PrefixMatchList",
        "properties": {
          "invert_match": {
            "type": "boolean",
            "description": "Invert the match result.",
            "title": "invert_matcher",
            "format": "boolean",
            "x-displayname": "Invert Match Result.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "ip_prefixes": {
            "type": "array",
            "description": "List of IPv4 prefix strings.",
            "title": "ip prefixes",
            "maxItems": 128,
            "items": {
              "type": "string"
            },
            "x-displayname": "IPv4 Prefix List.",
            "x-ves-example": "192.0.2.0/24.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.ipv4_prefix": "true",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.max_items": "128",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "192.0.2.0/24",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.ipv4_prefix": "true",
              "ves.io.schema.rules.repeated.items.string.not_empty": "true",
              "ves.io.schema.rules.repeated.max_items": "128",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 128,
              "uniqueItems": true,
              "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-description-short": "List of IP Prefix strings to match against.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyPrefixMatchList",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "policyRequestMatcher__ves_io_schema_app_security": {
        "type": "object",
        "description": "Request conditions for matching a rule.",
        "title": "Request Matcher",
        "x-displayname": "Request Matcher.",
        "x-ves-proto-message": "ves.io.schema.policy.RequestMatcher",
        "properties": {
          "cookie_matchers": {
            "type": "array",
            "description": "A list of predicates for all cookies that need to be matched. The criteria for matching each cookie is described in individual instances\nof CookieMatcherType. The actual cookie values are extracted from the request API as a list of strings for each cookie name.\nNote that all specified cookie matcher predicates must evaluate to true.",
            "title": "cookie matchers",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/policyCookieMatcherType__ves_io_schema_app_security"
            },
            "x-displayname": "Cookie Matchers.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-f5xc-description-short": "List of predicates for all cookies that need to be matched.",
            "x-f5xc-description-medium": "List of predicates for all cookies that need to be matched. The criteria for matching each cookie is described in individual instances of CookieMatcherType. The actual cookie values are extracted from the request API as a list of strings for each cookie name.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "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
            }
          },
          "headers": {
            "type": "array",
            "description": "A list of predicates for various HTTP headers that need to match. The criteria for matching each HTTP header are described in individual HeaderMatcherType\ninstances. The actual HTTP header values are extracted from the request API as a list of strings for each HTTP header type.\nNote that all specified header predicates must evaluate to true.",
            "title": "headers",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/schemapolicyHeaderMatcherType__ves_io_schema_app_security"
            },
            "x-displayname": "HTTP Headers.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "List of predicates for various HTTP headers that need to match.",
            "x-f5xc-description-medium": "List of predicates for various HTTP headers that need to match. The criteria for matching each HTTP header are described in individual HeaderMatcherType instances. The actual HTTP header values are extracted from the request API as a list of strings for each HTTP header type.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "minItems": 0,
              "uniqueItems": false,
              "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
            }
          },
          "jwt_claims": {
            "type": "array",
            "description": "A list of predicates for various JWT claims that need to match. The criteria for matching each JWT claim are described in individual JWTClaimMatcherType\ninstances. The actual JWT claims values are extracted from the JWT payload as a list of strings.\nNote that all specified JWT claim predicates must evaluate to true.\nNote that this feature only works on LBs with JWT Validation feature enabled.",
            "title": "JWT claims",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/policyJWTClaimMatcherType__ves_io_schema_app_security"
            },
            "x-displayname": "JWT Claims.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-f5xc-description-short": "List of predicates for various JWT claims that need to match.",
            "x-f5xc-description-medium": "List of predicates for various JWT claims that need to match. The criteria for matching each JWT claim are described in individual JWTClaimMatcherType instances. The actual JWT claims values are extracted from the JWT payload as a list of strings.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "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
            }
          },
          "query_params": {
            "type": "array",
            "description": "A list of predicates for all query parameters that need to be matched. The criteria for matching each query parameter are described in individual instances\nof QueryParameterMatcherType. The actual query parameter values are extracted from the request API as a list of strings for each query parameter name.\nNote that all specified query parameter predicates must evaluate to true.",
            "title": "query params",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/schemapolicyQueryParameterMatcherType__ves_io_schema_app_security"
            },
            "x-displayname": "HTTP Query Parameters.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16"
            },
            "x-f5xc-description-short": "List of predicates for all query parameters that need to be matched.",
            "x-f5xc-description-medium": "List of predicates for all query parameters that need to be matched. The criteria for matching each query parameter are described in individual instances of QueryParameterMatcherType. The actual query parameter values are extracted from the request API as a list of strings for each query...",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "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-minimum-configuration": {
          "description": "Minimum configuration for policyRequestMatcher",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "policyTlsFingerprintMatcherType": {
        "type": "object",
        "description": "A TLS fingerprint matcher specifies multiple criteria for matching a TLS fingerprint. The set of supported positive match criteria includes a list of known\nclasses of TLS fingerprints and a list of exact values. The match is considered successful if either of these positive criteria are satisfied and the input\nfingerprint is not one of the excluded values.",
        "title": "TlsFingerprintMatcherType",
        "x-displayname": "TLS Fingerprint Matcher.",
        "x-ves-proto-message": "ves.io.schema.policy.TlsFingerprintMatcherType",
        "properties": {
          "classes": {
            "type": "array",
            "description": "A list of known classes of TLS fingerprints to match the input TLS JA3 fingerprint against.",
            "title": "classes",
            "maxItems": 16,
            "items": {
              "$ref": "#/components/schemas/policyKnownTlsFingerprintClass"
            },
            "x-displayname": "TLS fingerprint classes.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "\"['ADWARE', 'TRICKBOT']",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of known classes of TLS fingerprints to match the input TLS JA3 fingerprint against.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "uniqueItems": true,
              "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
            }
          },
          "exact_values": {
            "type": "array",
            "description": "A list of exact TLS JA3 fingerprints to match the input TLS JA3 fingerprint against.",
            "title": "exact values",
            "maxItems": 16,
            "items": {
              "type": "string"
            },
            "x-displayname": "Exact Values.",
            "x-ves-example": "['ed6dfd54b01ebe31b7a65b88abfa7297', '16efcf0e00504ddfedde13bfea997952', 'de364c46b0dfc283b5e38c79ceae3f8f']",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.len": "32",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "['ed6dfd54b01ebe31b7a65b88abfa7297', '16efcf0e00504ddfedde13bfea997952', 'de364c46b0dfc283b5e38c79ceae3f8f']",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.len": "32",
              "ves.io.schema.rules.repeated.max_items": "16",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of exact TLS JA3 fingerprints to match the input TLS JA3 fingerprint against.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 16,
              "uniqueItems": true,
              "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
            }
          },
          "excluded_values": {
            "type": "array",
            "description": "A list of TLS JA3 fingerprints to be excluded when matching the input TLS JA3 fingerprint. This can be used to skip known false positives when using one\nor more known TLS fingerprint classes in the enclosing matcher.",
            "title": "excluded values",
            "maxItems": 32,
            "items": {
              "type": "string"
            },
            "x-displayname": "Excluded Values.",
            "x-ves-example": "['fb00055a1196aeea8d1bc609885ba953', 'b386946a5a44d1ddcc843bc75336dfce']",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.len": "32",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "['fb00055a1196aeea8d1bc609885ba953', 'b386946a5a44d1ddcc843bc75336dfce']",
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.items.string.len": "32",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-description-short": "List of TLS JA3 fingerprints to be excluded when matching the input TLS JA3 fingerprint.",
            "x-f5xc-description-medium": "List of TLS JA3 fingerprints to be excluded when matching the input TLS JA3 fingerprint. This can be used to skip known false positives when using one or more known TLS fingerprint classes in the enclosing matcher.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "uniqueItems": true,
              "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-description-short": "TLS fingerprint matcher specifies multiple criteria for matching a TLS fingerprint.",
        "x-f5xc-description-medium": "TLS fingerprint matcher specifies multiple criteria for matching a TLS fingerprint. The set of supported positive match criteria includes a list of known classes of TLS fingerprints and a list of exact values. The match is considered successful if either of these positive criteria are satisfied...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyTlsFingerprintMatcherType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "policyTransformer": {
        "type": "string",
        "description": "Transformers to be applied on the part of the request before matching.\n\n- TRANSFORMER_NONE: transformer none\n\nNo transformers enabled\n- LOWER_CASE: lower case\n\nConvert string to lower case\n- UPPER_CASE: upper case\n\nConvert string to upper case\n- BASE64_DECODE: base64 decode\n\nDecode string assuming base64 encoding\n- NORMALIZE_PATH: normalize path\n\nNormalize URL path so that /a/b/../c will be transformed to /a/c\n- REMOVE_WHITESPACE: remove whitespace\n\nRemove whitespaces\n- URL_DECODE: URL decode\n\nDecode string assuming URL encoding as per rfc1738\n- TRIM_LEFT: trim left\n\nRemove whitespace from the left side of the input string\n- TRIM_RIGHT: trim right\n\nRemove whitespace from the right side of the input string\n- TRIM: trim\n\nRemove whitespace from the both sides of the input string.",
        "title": "Transformer",
        "enum": [
          "LOWER_CASE",
          "UPPER_CASE",
          "BASE64_DECODE",
          "NORMALIZE_PATH",
          "REMOVE_WHITESPACE",
          "URL_DECODE",
          "TRIM_LEFT",
          "TRIM_RIGHT",
          "TRIM"
        ],
        "x-displayname": "Transformer.",
        "x-ves-proto-enum": "ves.io.schema.policy.Transformer",
        "x-f5xc-description-short": "Transformers to be applied on the part of the request before matching. - TRANSFORMER_NONE: transformer none No transformers enabled - LOWER_CASE...",
        "x-f5xc-description-medium": "Transformers to be applied on the part of the request before matching. - TRANSFORMER_NONE: transformer none No transformers enabled - LOWER_CASE: lower case Convert string to lower case - UPPER_CASE: upper case Convert string to upper case - BASE64_DECODE: base64 decode Decode string assuming...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for policyTransformer",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"LOWER_CASE\"",
          "example_yaml": "LOWER_CASE\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "rate_limiterRateLimitPeriodUnit": {
        "type": "string",
        "description": "Unit for the period per which the rate limit is applied.\n\n- SECOND: Second\n\nRate limit period unit is seconds\n- MINUTE: Minute\n\nRate limit period unit is minutes\n- HOUR: Hour\n\nRate limit period unit is hours\n- DAY: Day\n\nRate limit period unit is days.",
        "title": "RateLimitPeriodUnit",
        "enum": [
          "SECOND",
          "MINUTE",
          "HOUR"
        ],
        "default": "SECOND",
        "x-displayname": "Rate Limit Period Unit.",
        "x-ves-proto-enum": "ves.io.schema.rate_limiter.RateLimitPeriodUnit",
        "x-f5xc-description-short": "Unit for the period per which the rate limit is applied. - SECOND: Second Rate limit period unit is seconds - MINUTE: Minute Rate limit period...",
        "x-f5xc-description-medium": "Unit for the period per which the rate limit is applied. - SECOND: Second Rate limit period unit is seconds - MINUTE: Minute Rate limit period unit is minutes - HOUR: Hour Rate limit period unit is hours - DAY: Day Rate limit period unit is days.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for rate_limiterRateLimitPeriodUnit",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"SECOND\"",
          "example_yaml": "SECOND\n..."
        },
        "x-f5xc-cli-domain": "rate_limiting",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "custom",
              "default",
              "shared"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "shared",
            "alternatives": [],
            "rationale": "Rate limiters benefit from centralized management for consistent enforcement"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "shared-ref"
          }
        }
      },
      "rule_suggestionGetSuggestedAPIEndpointProtectionRuleReq": {
        "type": "object",
        "description": "GET suggested API endpoint protection rule for a given path.",
        "title": "GetSuggestedAPIEndpointProtectionRuleReq",
        "x-displayname": "GET Suggested API endpoint protection Rule Request.",
        "x-ves-proto-message": "ves.io.schema.api_sec.rule_suggestion.GetSuggestedAPIEndpointProtectionRuleReq",
        "properties": {
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaHttpMethod"
              }
            ],
            "x-f5xc-example": "GET",
            "x-f5xc-description-short": "HTTP method (GET, POST, PUT, DELETE, etc.).",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "namespace": {
            "type": "string",
            "description": "Namespace of the App type for current request.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Shared",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "shared",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Namespace of the App type for current request.",
            "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": 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])?$"
          },
          "path": {
            "type": "string",
            "description": "Path to apply the API endpoint protection to.",
            "title": "Path",
            "maxLength": 1024,
            "x-displayname": "Request Path.",
            "x-ves-example": "/example",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-example": "/example",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-description-short": "Path to apply the API endpoint protection to.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "minLength": 1,
              "pattern": "^[/a-zA-Z0-9._-]+$",
              "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
            }
          },
          "virtual_host_name": {
            "type": "string",
            "description": "Virtual Host for which this API endpoint protection rule applied.",
            "title": "Name",
            "x-displayname": "Virtual Host Name.",
            "x-ves-example": "VES-I/O-frontend.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "ves-io-frontend",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Virtual Host for which this API endpoint protection rule applied.",
            "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": "GET suggested API endpoint protection rule for a given path.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for rule_suggestionGetSuggestedAPIEndpointProtectionRuleReq",
          "required_fields": [
            "namespace",
            "path",
            "virtual_host_name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"namespace\": \"shared\",\n  \"path\": \"/example\",\n  \"virtual_host_name\": \"ves-io-frontend\"\n}",
          "example_yaml": "namespace: shared\npath: /example\nvirtual_host_name: ves-io-frontend"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "rule_suggestionGetSuggestedAPIEndpointProtectionRuleRsp": {
        "type": "object",
        "description": "GET suggested API endpoint protection rule for a given path.",
        "title": "GetSuggestedAPIEndpointProtectionRuleRsp",
        "x-displayname": "GET Suggested API endpoint protection Rule Response.",
        "x-ves-proto-message": "ves.io.schema.api_sec.rule_suggestion.GetSuggestedAPIEndpointProtectionRuleRsp",
        "properties": {
          "found_existing_rule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "loadbalancer_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostVirtualHostType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "rule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafAPIEndpointProtectionRule__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "GET suggested API endpoint protection rule for a given path.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for rule_suggestionGetSuggestedAPIEndpointProtectionRuleRsp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "rule_suggestionGetSuggestedOasValidationRuleReq": {
        "type": "object",
        "description": "GET suggested Open API specification validation for a given path.",
        "title": "GetSuggestedOasValidationRuleReq",
        "x-displayname": "GET Suggested Open API specification validation Rule Request.",
        "x-ves-proto-message": "ves.io.schema.api_sec.rule_suggestion.GetSuggestedOasValidationRuleReq",
        "properties": {
          "api_groups": {
            "type": "array",
            "description": "List of API Groups the API Endpoint is a member of.",
            "title": "API Groups membership",
            "items": {
              "type": "string"
            },
            "x-displayname": "API Groups membership.",
            "x-f5xc-example": "[\"group-1\", \"group-2\"]",
            "x-f5xc-description-short": "List of API Groups the API Endpoint is a member of.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaHttpMethod"
              }
            ],
            "x-f5xc-example": "GET",
            "x-f5xc-description-short": "HTTP method (GET, POST, PUT, DELETE, etc.).",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "namespace": {
            "type": "string",
            "description": "Namespace of the App type for current request.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Shared",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "shared",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Namespace of the App type for current request.",
            "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": 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])?$"
          },
          "path": {
            "type": "string",
            "description": "Path to apply the Open API specification validation to.",
            "title": "Path",
            "maxLength": 1024,
            "x-displayname": "Request Path.",
            "x-ves-example": "/example",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-example": "/example",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-description-short": "Path to apply the Open API specification validation to.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "minLength": 1,
              "pattern": "^[/a-zA-Z0-9._-]+$",
              "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
            }
          },
          "virtual_host_name": {
            "type": "string",
            "description": "Virtual Host for which this Open API specification validation rule applied.",
            "title": "Name",
            "x-displayname": "Virtual Host Name.",
            "x-ves-example": "VES-I/O-frontend.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "ves-io-frontend",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Virtual Host for which this Open API specification validation rule applied.",
            "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": "GET suggested Open API specification validation for a given path.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for rule_suggestionGetSuggestedOasValidationRuleReq",
          "required_fields": [
            "namespace",
            "path",
            "virtual_host_name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"namespace\": \"shared\",\n  \"path\": \"/example\",\n  \"virtual_host_name\": \"ves-io-frontend\"\n}",
          "example_yaml": "namespace: shared\npath: /example\nvirtual_host_name: ves-io-frontend"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "rule_suggestionGetSuggestedOasValidationRuleRsp": {
        "type": "object",
        "description": "GET suggested Open API specification validation for a given path.",
        "title": "GetSuggestedOasValidationRuleRsp",
        "x-displayname": "GET Suggested Open API specification validation Rule Response.",
        "x-ves-oneof-field-api_validation_choice": "[\"all_endpoints_oas_validation\",\"custom_oas_validation\"]",
        "x-ves-proto-message": "ves.io.schema.api_sec.rule_suggestion.GetSuggestedOasValidationRuleRsp",
        "properties": {
          "all_endpoints_oas_validation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafOpenApiValidationAllSpecEndpointsSettings__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "custom_oas_validation"
            ]
          },
          "custom_oas_validation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafOpenApiValidationRule__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for custom oas validation.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "all_endpoints_oas_validation"
            ]
          },
          "found_existing_rule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "loadbalancer_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostVirtualHostType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "GET suggested Open API specification validation for a given path.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for rule_suggestionGetSuggestedOasValidationRuleRsp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "rule_suggestionGetSuggestedRateLimitRuleReq": {
        "type": "object",
        "description": "GET suggested rate limit rule for a given path.",
        "title": "GetSuggestedRateLimitRuleReq",
        "x-displayname": "GET Suggested Rate Limit Rule Request.",
        "x-ves-proto-message": "ves.io.schema.api_sec.rule_suggestion.GetSuggestedRateLimitRuleReq",
        "properties": {
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaHttpMethod"
              }
            ],
            "x-f5xc-example": "GET",
            "x-f5xc-description-short": "HTTP method (GET, POST, PUT, DELETE, etc.).",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "namespace": {
            "type": "string",
            "description": "Namespace of the App type for current request.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Shared",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "shared",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Namespace of the App type for current request.",
            "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": 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])?$"
          },
          "path": {
            "type": "string",
            "description": "Path to apply the rate limit to.",
            "title": "Path",
            "maxLength": 1024,
            "x-displayname": "Request Path.",
            "x-ves-example": "/example",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-example": "/example",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "minLength": 1,
              "pattern": "^[/a-zA-Z0-9._-]+$",
              "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
            }
          },
          "virtual_host_name": {
            "type": "string",
            "description": "Virtual Host for which this rate limit rule applied.",
            "title": "Name",
            "x-displayname": "Virtual Host Name.",
            "x-ves-example": "VES-I/O-frontend.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "ves-io-frontend",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Virtual Host for which this rate limit rule applied.",
            "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": "GET suggested rate limit rule for a given path.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for rule_suggestionGetSuggestedRateLimitRuleReq",
          "required_fields": [
            "namespace",
            "path",
            "virtual_host_name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"namespace\": \"shared\",\n  \"path\": \"/example\",\n  \"virtual_host_name\": \"ves-io-frontend\"\n}",
          "example_yaml": "namespace: shared\npath: /example\nvirtual_host_name: ves-io-frontend"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "rule_suggestionGetSuggestedRateLimitRuleRsp": {
        "type": "object",
        "description": "GET suggested rate limit rule for a given path.",
        "title": "GetSuggestedRateLimitRuleRsp",
        "x-displayname": "GET Suggested Rate Limit Rule Response.",
        "x-ves-proto-message": "ves.io.schema.api_sec.rule_suggestion.GetSuggestedRateLimitRuleRsp",
        "properties": {
          "found_existing_rule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "loadbalancer_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostVirtualHostType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "rule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/common_wafApiEndpointRule__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "GET suggested rate limit rule for a given path.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for rule_suggestionGetSuggestedRateLimitRuleRsp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "rule_suggestionGetSuggestedSensitiveDataRuleReq": {
        "type": "object",
        "description": "GET suggested sensitive data rule for a given path.",
        "title": "GetSuggestedSensitiveDataRuleReq",
        "x-displayname": "GET Suggested Sensitive Data Rule Request.",
        "x-ves-proto-message": "ves.io.schema.api_sec.rule_suggestion.GetSuggestedSensitiveDataRuleReq",
        "properties": {
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaHttpMethod"
              }
            ],
            "x-f5xc-example": "GET",
            "x-f5xc-description-short": "HTTP method (GET, POST, PUT, DELETE, etc.).",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "namespace": {
            "type": "string",
            "description": "Namespace of the App type for current request.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Shared",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "shared",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Namespace of the App type for current request.",
            "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": 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])?$"
          },
          "path": {
            "type": "string",
            "description": "Path to apply the sensitive data to.",
            "title": "Path",
            "maxLength": 1024,
            "x-displayname": "Request Path.",
            "x-ves-example": "/example",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-example": "/example",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "1024",
              "ves.io.schema.rules.string.templated_http_path": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "minLength": 1,
              "pattern": "^[/a-zA-Z0-9._-]+$",
              "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
            }
          },
          "virtual_host_name": {
            "type": "string",
            "description": "Virtual Host for which this sensitive data rule applied.",
            "title": "Name",
            "x-displayname": "Virtual Host Name.",
            "x-ves-example": "VES-I/O-frontend.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "ves-io-frontend",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Virtual Host for which this sensitive data rule applied.",
            "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": "GET suggested sensitive data rule for a given path.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for rule_suggestionGetSuggestedSensitiveDataRuleReq",
          "required_fields": [
            "namespace",
            "path",
            "virtual_host_name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"namespace\": \"shared\",\n  \"path\": \"/example\",\n  \"virtual_host_name\": \"ves-io-frontend\"\n}",
          "example_yaml": "namespace: shared\npath: /example\nvirtual_host_name: ves-io-frontend"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "rule_suggestionGetSuggestedSensitiveDataRuleRsp": {
        "type": "object",
        "description": "GET suggested sensitive data rule for a given path.",
        "title": "GetSuggestedSensitiveDataRuleRsp",
        "x-displayname": "GET Suggested Sensitive Data Rule Response.",
        "x-ves-proto-message": "ves.io.schema.api_sec.rule_suggestion.GetSuggestedSensitiveDataRuleRsp",
        "properties": {
          "found_existing_rule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "loadbalancer_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/virtual_hostVirtualHostType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "rule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/http_loadbalancerSensitiveDataTypes__ves_io_schema_app_security"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "GET suggested sensitive data rule for a given path.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for rule_suggestionGetSuggestedSensitiveDataRuleRsp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaLabelSelectorType": {
        "type": "object",
        "description": "This type can be used to establish a 'selector reference' from one object(called selector) to\na set of other objects(called selectees) based on the value of expressions.\nA label selector is a label query over a set of resources. An empty label selector matches all objects.\nA null label selector matches no objects. Label selector is immutable.\nExpressions is a list of strings of label selection expression.\nEach string has \",\" separated values which are \"AND\" and all strings are logically \"OR\".\nBNF for expression string\n<selector-syntax> ::= <requirement> | <requirement> \",\" <selector-syntax>\n<requirement> ::= [!] KEY [ <set-based-restriction> | <exact-match-restriction> ]\n<set-based-restriction> ::= \"\" | <inclusion-exclusion> <value-set>\n<inclusion-exclusion> ::= <inclusion> | <exclusion>\n<exclusion> ::= \"notin\"\n<inclusion> ::= \"in\"\n<value-set> ::= \"(\" <values> \")\"\n<values> ::= VALUE | VALUE \",\" <values>\n<exact-match-restriction> ::= [\"=\"|\"==\"|\"!=\"] VALUE.",
        "title": "LabelSelectorType",
        "x-displayname": "Label Selector.",
        "x-ves-proto-message": "ves.io.schema.LabelSelectorType",
        "properties": {
          "expressions": {
            "type": "array",
            "description": "Expressions contains the Kubernetes style label expression for selections.",
            "title": "expressions",
            "maxItems": 1,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            },
            "x-displayname": "Selector Expression.",
            "x-ves-example": "Region in (us-west1, us-west2),tier in (staging)",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.k8s_label_selector": "true",
              "ves.io.schema.rules.repeated.items.string.max_len": "4096",
              "ves.io.schema.rules.repeated.items.string.min_len": "1",
              "ves.io.schema.rules.repeated.max_items": "1"
            },
            "x-f5xc-example": "region in (us-west1, us-west2),tier in (staging)",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.items.string.k8s_label_selector": "true",
              "ves.io.schema.rules.repeated.items.string.max_len": "4096",
              "ves.io.schema.rules.repeated.items.string.min_len": "1",
              "ves.io.schema.rules.repeated.max_items": "1"
            },
            "x-f5xc-description-short": "Expressions contains the Kubernetes style label expression for selections.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "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": "Type can be used to establish a 'selector reference' from one object(called selector) to a set of other objects(called selectees) based on the...",
        "x-f5xc-description-medium": "Type can be used to establish a 'selector reference' from one object(called selector) to a set of other objects(called selectees) based on the value of expressions. A label selector is a label query over a set of resources. An empty label selector matches all objects.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaLabelSelectorType",
          "required_fields": [
            "expressions"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"expressions\": [\n    \"value\"\n  ]\n}",
          "example_yaml": "expressions:\n- value"
        },
        "x-f5xc-cli-domain": "label",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Label management is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaOpenApiValidationProperties": {
        "type": "string",
        "description": "List of required properties to validate against the OpenAPI spec\n\nValidate that all query parameters are according to the OpenAPI specification\nValidate that all path parameters are according to the OpenAPI specification\nValidate that the content type of the request is according to the OpenAPI specification\nValidate that all cookies are according to the OpenAPI specification\nValidate that all HTTP headers are according to the OpenAPI specification\nValidate that the body is according to the OpenAPI specification\nValidate that the security schema is according to the OpenAPI specification\nValidate that the response code is according to the OpenAPI specification.",
        "title": "OpenApiValidationProperties",
        "enum": [
          "PROPERTY_QUERY_PARAMETERS",
          "PROPERTY_PATH_PARAMETERS",
          "PROPERTY_CONTENT_TYPE",
          "PROPERTY_COOKIE_PARAMETERS",
          "PROPERTY_HTTP_HEADERS",
          "PROPERTY_HTTP_BODY",
          "PROPERTY_SECURITY_SCHEMA",
          "PROPERTY_RESPONSE_CODE"
        ],
        "default": "PROPERTY_QUERY_PARAMETERS",
        "x-displayname": "OpenAPI Validation Properties.",
        "x-ves-proto-enum": "ves.io.schema.OpenApiValidationProperties",
        "x-f5xc-description-short": "List of required properties to validate against the OpenAPI spec Validate that all query parameters are according to the OpenAPI specification...",
        "x-f5xc-description-medium": "List of required properties to validate against the OpenAPI spec Validate that all query parameters are according to the OpenAPI specification Validate that all path parameters are according to the OpenAPI specification Validate that the content type of the request is according to the OpenAPI...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaOpenApiValidationProperties",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"PROPERTY_QUERY_PARAMETERS\"",
          "example_yaml": "PROPERTY_QUERY_PARAMETERS\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemapolicyHeaderMatcherType__ves_io_schema_app_security": {
        "type": "object",
        "description": "A header matcher specifies the name of a single HTTP header and the criteria for the input request to match it. The input has a list of actual values for each\nheader name in the original HTTP request.\nA header matcher can check for one of the following:\n* Presence or absence of the header in the input\n* At least one of the values for the header in the input satisfies the MatcherType item.",
        "title": "HeaderMatcherType",
        "x-displayname": "Header Matcher.",
        "x-ves-displayorder": "1,6,4",
        "x-ves-oneof-field-match": "[\"check_not_present\",\"check_present\",\"item\"]",
        "x-ves-proto-message": "ves.io.schema.policy.HeaderMatcherType",
        "properties": {
          "check_not_present": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for check not present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "check_present",
              "item"
            ]
          },
          "check_present": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for check present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "check_not_present",
              "item"
            ]
          },
          "invert_matcher": {
            "type": "boolean",
            "description": "Invert the match result.",
            "title": "invert_matcher",
            "format": "boolean",
            "x-displayname": "Invert Header Matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "item": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyMatcherType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 26,
            "minLength": 15,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "x-f5xc-conflicts-with": [
              "check_not_present",
              "check_present"
            ]
          },
          "name": {
            "type": "string",
            "description": "A case-insensitive HTTP header name.",
            "title": "name",
            "maxLength": 63,
            "x-displayname": "Header Name.",
            "x-ves-example": "Accept-Encoding.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.http_header_field": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-f5xc-example": "Accept-Encoding",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.http_header_field": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "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": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true,
              "byteLength": {
                "max": 256
              }
            },
            "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])?$"
          }
        },
        "x-f5xc-description-short": "Header matcher specifies the name of a single HTTP header and the criteria for the input request to match it.",
        "x-f5xc-description-medium": "Header matcher specifies the name of a single HTTP header and the criteria for the input request to match it. The input has a list of actual values for each header name in the original HTTP request. A header matcher can check for one of the following: * Presence or absence of the header in the...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemapolicyHeaderMatcherType",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"Accept-Encoding\"\n}",
          "example_yaml": "name: Accept-Encoding"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemapolicyIPThreatCategoryListType": {
        "type": "object",
        "description": "List of IP threat categories.",
        "title": "IP Threat Category List Type",
        "x-displayname": "IP Threat Category List Type.",
        "x-ves-proto-message": "ves.io.schema.policy.IPThreatCategoryListType",
        "properties": {
          "ip_threat_categories": {
            "type": "array",
            "description": "The IP threat categories is obtained from the list and is used to auto-generate equivalent label selection expressions.",
            "title": "IP Threat Categories",
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/policyIPThreatCategory"
            },
            "x-displayname": "List of IP Threat Categories to choose.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The IP threat categories is obtained from the list and is used to auto-generate equivalent label selection expressions.",
            "x-f5xc-description-medium": "The IP threat categories is obtained from the list and is used to auto-generate equivalent label selection expressions.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 32,
              "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
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemapolicyIPThreatCategoryListType",
          "required_fields": [
            "ip_threat_categories"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"ip_threat_categories\": [\n    \"SPAM_SOURCES\"\n  ]\n}",
          "example_yaml": "ip_threat_categories:\n- SPAM_SOURCES"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemapolicyQueryParameterMatcherType__ves_io_schema_app_security": {
        "type": "object",
        "description": "A query parameter matcher specifies the name of a single query parameter and the criteria for the input request to match it. The input has a list of actual\nvalues for each query parameter name in the original HTTP request.\nA query parameter matcher can check for one of the following:\n* Presence or absence of the query parameter in the input\n* At least one of the values for the query parameter in the input satisfies the MatcherType item.",
        "title": "QueryParameterMatcherType",
        "x-displayname": "Query Parameter Matcher.",
        "x-ves-displayorder": "1,6,4",
        "x-ves-oneof-field-match": "[\"check_not_present\",\"check_present\",\"item\"]",
        "x-ves-proto-message": "ves.io.schema.policy.QueryParameterMatcherType",
        "properties": {
          "check_not_present": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for check not present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "check_present",
              "item"
            ]
          },
          "check_present": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for check present.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "check_not_present",
              "item"
            ]
          },
          "invert_matcher": {
            "type": "boolean",
            "description": "Invert the match result.",
            "title": "invert_matcher",
            "format": "boolean",
            "x-displayname": "Invert Query Parameter Matcher.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "item": {
            "allOf": [
              {
                "$ref": "#/components/schemas/policyMatcherType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 26,
            "minLength": 15,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "x-f5xc-conflicts-with": [
              "check_not_present",
              "check_present"
            ]
          },
          "key": {
            "type": "string",
            "description": "A case-sensitive HTTP query parameter name.",
            "title": "key",
            "maxLength": 256,
            "x-displayname": "Query Parameter Name.",
            "x-ves-example": "Sourceid",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-f5xc-example": "sourceid",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "256"
            },
            "x-f5xc-description-short": "Case-sensitive HTTP query parameter name.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "byteLength": {
                "max": 256
              },
              "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
            },
            "minLength": 7,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "Query parameter matcher specifies the name of a single query parameter and the criteria for the input request to match it.",
        "x-f5xc-description-medium": "Query parameter matcher specifies the name of a single query parameter and the criteria for the input request to match it. The input has a list of actual values for each query parameter name in the original HTTP request. A query parameter matcher can check for one of the following: * Presence or...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemapolicyQueryParameterMatcherType",
          "required_fields": [
            "key"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"key\": \"sourceid\"\n}",
          "example_yaml": "key: sourceid"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "virtual_hostVirtualHostType": {
        "type": "string",
        "description": "VirtualHostType tells the type of virtual_host. Functionally, all types are same,\nthis is mainly used for categorizing metrics.\n\n- VIRTUAL_SERVICE: VirtualService\n\nVirtual Host used Virtual Service\n- HTTP_LOAD_BALANCER: HTTP LoadBalancer\n\nVirtual Host used as Load Balancer\n- API_GATEWAY: APIGateway\n\nVirtual Host used API Gateway\n- TCP_LOAD_BALANCER: TCP LoadBalancer\n\nVirtual Host used as Load Balancer\n- PROXY: Proxy\n\nVirtual Host used as Proxy\n- LOCAL_K8S_API_GATEWAY: LOCAL_K8S_API_GATEWAY\n\nInternal use only, used for K8s cluster API gateway on the site.\n- CDN_LOAD_BALANCER: CDN LoadBalancer\n\nVirtual Host used as Load Balancer\n- NGINX_SERVER: NGINX Server\n\nVirtual Host representing an NGINX Server block\n- BIGIP_VIRTUAL_SERVER: BIG-IP Virtual Server\n\nVirtual Host representing a BIG-IP Virtual Server\n- UDP_LOAD_BALANCER: UDP LoadBalancer\n\nVirtual Host used as Load Balancer\n- TMM_PROXY: TMM Proxy\n\nVirtual Host for TMM Proxy\n- THIRD_PARTY_APPLICATION: THIRD PARTY Virtual Server\n\nVirtual Host representing a Third Party Application.",
        "title": "VirtualHostType",
        "enum": [
          "VIRTUAL_SERVICE",
          "HTTP_LOAD_BALANCER",
          "API_GATEWAY",
          "TCP_LOAD_BALANCER",
          "PROXY",
          "CDN_LOAD_BALANCER",
          "NGINX_SERVER",
          "UDP_LOAD_BALANCER"
        ],
        "default": "VIRTUAL_SERVICE",
        "x-displayname": "Virtual Host Type.",
        "x-ves-proto-enum": "ves.io.schema.virtual_host.VirtualHostType",
        "x-f5xc-description-short": "VirtualHostType tells the type of virtual_host.",
        "x-f5xc-description-medium": "VirtualHostType tells the type of virtual_host. Functionally, all types are same, this is mainly used for categorizing metrics. - VIRTUAL_SERVICE: VirtualService Virtual Host used Virtual Service - HTTP_LOAD_BALANCER: HTTP LoadBalancer Virtual Host used as Load Balancer - API_GATEWAY: APIGateway...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for virtual_hostVirtualHostType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"VIRTUAL_SERVICE\"",
          "example_yaml": "VIRTUAL_SERVICE\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Virtual host configuration is platform-level"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "code_base_integrationAzureReposIntegration": {
        "type": "object",
        "title": "Azure Repos Integration",
        "x-displayname": "Azure Repos Integration.",
        "x-ves-proto-message": "ves.io.schema.api_sec.code_base_integration.AzureReposIntegration",
        "properties": {
          "access_token": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSecretType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for access token.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for code_base_integrationAzureReposIntegration",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Canonical create identity pending namespace CRUD verification"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "code_base_integrationBitBucketCloudIntegration": {
        "type": "object",
        "title": "BitBucket Cloud Integration",
        "x-displayname": "BitBucket Cloud Integration.",
        "x-ves-proto-message": "ves.io.schema.api_sec.code_base_integration.BitBucketCloudIntegration",
        "properties": {
          "passwd": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSecretType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "username": {
            "type": "string",
            "description": "Human-readable name for the resource",
            "title": "username",
            "x-displayname": "BitBucket Username.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "example-resource",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "identity",
              "maxLength": 1024,
              "minLength": 1,
              "pattern": "^[a-zA-Z0-9_.-]+$",
              "characterSet": {
                "allowed": "[a-zA-Z0-9_.-]",
                "description": "Alphanumeric with underscores, dots, 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
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for code_base_integrationBitBucketCloudIntegration",
          "required_fields": [
            "username"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"username\": \"example-resource\"\n}",
          "example_yaml": "username: example-resource"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Canonical create identity pending namespace CRUD verification"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "code_base_integrationBitBucketServerIntegration": {
        "type": "object",
        "title": "BitBucket Server Integration",
        "x-displayname": "BitBucket Server Integration.",
        "x-ves-proto-message": "ves.io.schema.api_sec.code_base_integration.BitBucketServerIntegration",
        "properties": {
          "passwd": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSecretType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "url": {
            "type": "string",
            "description": "URL or URI reference",
            "title": "url",
            "x-displayname": "BitBucket Server URL.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "format": "uri",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "network",
              "maxLength": 1024,
              "format": "uri",
              "minLength": 1,
              "pattern": "^(https?|ftp)://[^\\s/$.?#].[^\\s]*$",
              "formatDescription": "RFC 3986 URI with scheme (http, https, ftp)",
              "validation": {
                "rfc": "RFC 3986"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.9,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "username": {
            "type": "string",
            "description": "Human-readable name for the resource",
            "title": "username",
            "x-displayname": "BitBucket Server Username.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "example-resource",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "identity",
              "maxLength": 1024,
              "minLength": 1,
              "pattern": "^[a-zA-Z0-9_.-]+$",
              "characterSet": {
                "allowed": "[a-zA-Z0-9_.-]",
                "description": "Alphanumeric with underscores, dots, 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
            }
          },
          "verify_ssl": {
            "type": "boolean",
            "title": "verify_ssl",
            "format": "boolean",
            "x-displayname": "Verify SSL.",
            "description": "Configuration parameter for verify ssl",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for code_base_integrationBitBucketServerIntegration",
          "required_fields": [
            "url",
            "username"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"url\": \"value\",\n  \"username\": \"example-resource\"\n}",
          "example_yaml": "url: value\nusername: example-resource"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Canonical create identity pending namespace CRUD verification"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "code_base_integrationCodeBaseIntegration": {
        "type": "object",
        "description": "Choose your code base (e.g. GitHub, GitLab, Bitbucket, Azure) and provide credentials and connection details.",
        "title": "Code Base",
        "x-displayname": "Integration Data.",
        "x-ves-oneof-field-type": "[\"azure_repos\",\"bitbucket\",\"bitbucket_server\",\"github\",\"github_enterprise\",\"gitlab\",\"gitlab_enterprise\"]",
        "x-ves-proto-message": "ves.io.schema.api_sec.code_base_integration.CodeBaseIntegration",
        "properties": {
          "azure_repos": {
            "allOf": [
              {
                "$ref": "#/components/schemas/code_base_integrationAzureReposIntegration"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for azure repos.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "bitbucket",
              "bitbucket_server",
              "github",
              "github_enterprise",
              "gitlab",
              "gitlab_enterprise"
            ]
          },
          "bitbucket": {
            "allOf": [
              {
                "$ref": "#/components/schemas/code_base_integrationBitBucketCloudIntegration"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "azure_repos",
              "bitbucket_server",
              "github",
              "github_enterprise",
              "gitlab",
              "gitlab_enterprise"
            ]
          },
          "bitbucket_server": {
            "allOf": [
              {
                "$ref": "#/components/schemas/code_base_integrationBitBucketServerIntegration"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for bitbucket server.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "azure_repos",
              "bitbucket",
              "github",
              "github_enterprise",
              "gitlab",
              "gitlab_enterprise"
            ]
          },
          "github": {
            "allOf": [
              {
                "$ref": "#/components/schemas/code_base_integrationGithubIntegration"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "azure_repos",
              "bitbucket",
              "bitbucket_server",
              "github_enterprise",
              "gitlab",
              "gitlab_enterprise"
            ]
          },
          "github_enterprise": {
            "allOf": [
              {
                "$ref": "#/components/schemas/code_base_integrationGithubEnterpriseIntegration"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for github enterprise.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "azure_repos",
              "bitbucket",
              "bitbucket_server",
              "github",
              "gitlab",
              "gitlab_enterprise"
            ]
          },
          "gitlab": {
            "allOf": [
              {
                "$ref": "#/components/schemas/code_base_integrationGitlabCloudIntegration"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "azure_repos",
              "bitbucket",
              "bitbucket_server",
              "github",
              "github_enterprise",
              "gitlab_enterprise"
            ]
          },
          "gitlab_enterprise": {
            "allOf": [
              {
                "$ref": "#/components/schemas/code_base_integrationGitlabEnterpriseIntegration"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for gitlab enterprise.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "azure_repos",
              "bitbucket",
              "bitbucket_server",
              "github",
              "github_enterprise",
              "gitlab"
            ]
          }
        },
        "x-f5xc-description-short": "Choose your code base (e.g. GitHub, GitLab, Bitbucket, Azure) and provide credentials and connection details.",
        "x-f5xc-description-medium": "Choose your code base (e.g. GitHub, GitLab, Bitbucket, Azure) and provide credentials and connection details.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for code_base_integrationCodeBaseIntegration",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Canonical create identity pending namespace CRUD verification"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "code_base_integrationCreateRequest": {
        "type": "object",
        "description": "This is the input message of the 'Create' RPC.",
        "title": "CreateRequest is used to create an instance of code_base_integration",
        "x-displayname": "Create Request.",
        "x-ves-proto-message": "ves.io.schema.api_sec.code_base_integration.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/code_base_integrationCreateSpecType"
              }
            ],
            "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 code_base_integrationCreateRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Canonical create identity pending namespace CRUD verification"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "code_base_integrationCreateResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.api_sec.code_base_integration.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/code_base_integrationGetSpecType"
              }
            ],
            "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 code_base_integrationCreateResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Canonical create identity pending namespace CRUD verification"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "code_base_integrationCreateSpecType": {
        "type": "object",
        "description": "CREATE integration details.",
        "title": "CREATE integration details",
        "x-displayname": "CREATE Code Base Integration.",
        "x-ves-proto-message": "ves.io.schema.api_sec.code_base_integration.CreateSpecType",
        "properties": {
          "code_base_integration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/code_base_integrationCodeBaseIntegration"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for code base integration.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for code_base_integrationCreateSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Canonical create identity pending namespace CRUD verification"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "code_base_integrationDeleteRequest": {
        "type": "object",
        "description": "This is the input message of the 'DELETE' RPC.",
        "title": "DeleteRequest is used to delete a code_base_integration",
        "x-displayname": "DELETE Request.",
        "x-ves-proto-message": "ves.io.schema.api_sec.code_base_integration.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 code_base_integrationDeleteRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Canonical create identity pending namespace CRUD verification"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "code_base_integrationGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read code_base_integration",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.api_sec.code_base_integration.GetResponse",
        "properties": {
          "create_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/code_base_integrationCreateRequest"
              }
            ],
            "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/code_base_integrationReplaceRequest"
              }
            ],
            "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/code_base_integrationGetSpecType"
              }
            ],
            "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/code_base_integrationStatusObject"
            },
            "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 code_base_integrationGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Canonical create identity pending namespace CRUD verification"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "code_base_integrationGetSpecType": {
        "type": "object",
        "description": "GET code base integration details.",
        "title": "GET integration details",
        "x-displayname": "GET Code Base Integration.",
        "x-ves-proto-message": "ves.io.schema.api_sec.code_base_integration.GetSpecType",
        "properties": {
          "code_base_integration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/code_base_integrationCodeBaseIntegration"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for code base integration.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "integration_health": {
            "allOf": [
              {
                "$ref": "#/components/schemas/code_base_integrationIntegrationHealth"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for integration health.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "number_of_api_repos": {
            "type": "integer",
            "description": "Number of API repositories found in the code base.",
            "format": "int32",
            "x-displayname": "Number of API Repositories.",
            "x-f5xc-description-short": "Number of API repositories found in the code base.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "number_of_repos": {
            "type": "integer",
            "description": "Number of repositories found in the code base.",
            "format": "int32",
            "x-displayname": "Number of Repositories.",
            "x-f5xc-description-short": "Number of repositories found in the code base.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "updated_at": {
            "type": "string",
            "description": "The last time where the coed base was scanned.",
            "format": "date-time",
            "x-displayname": "Last Scan",
            "x-f5xc-example": "2025-01-15T10:30:00Z",
            "x-f5xc-description-short": "The last time where the coed base was scanned.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "temporal",
              "maxLength": 1024,
              "format": "date-time",
              "minLength": 20,
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z?$",
              "formatDescription": "ISO 8601 date-time (e.g., 2026-01-19T12:00:00Z)",
              "validation": {
                "standard": "ISO 8601"
              },
              "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
            },
            "x-field-mutability": "read-only"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for code_base_integrationGetSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Canonical create identity pending namespace CRUD verification"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "code_base_integrationGithubEnterpriseIntegration": {
        "type": "object",
        "title": "Github Enterprise Integration",
        "x-displayname": "GitHub Enterprise Integration.",
        "x-ves-proto-message": "ves.io.schema.api_sec.code_base_integration.GithubEnterpriseIntegration",
        "properties": {
          "access_token": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSecretType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for access token.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "hostname": {
            "type": "string",
            "description": "Human-readable name for the resource",
            "title": "hostname",
            "x-displayname": "GitHub Hostname.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "example-resource",
            "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": true,
              "create": true,
              "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
          },
          "username": {
            "type": "string",
            "description": "Human-readable name for the resource",
            "title": "username",
            "x-displayname": "GitHub Username.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "example-resource",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "identity",
              "maxLength": 1024,
              "minLength": 1,
              "pattern": "^[a-zA-Z0-9_.-]+$",
              "characterSet": {
                "allowed": "[a-zA-Z0-9_.-]",
                "description": "Alphanumeric with underscores, dots, 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
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for code_base_integrationGithubEnterpriseIntegration",
          "required_fields": [
            "hostname",
            "username"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"hostname\": \"example-resource\",\n  \"username\": \"example-resource\"\n}",
          "example_yaml": "hostname: example-resource\nusername: example-resource"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Canonical create identity pending namespace CRUD verification"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "code_base_integrationGithubIntegration": {
        "type": "object",
        "title": "Github Integration",
        "x-displayname": "Github Integration.",
        "x-ves-proto-message": "ves.io.schema.api_sec.code_base_integration.GithubIntegration",
        "properties": {
          "access_token": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSecretType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for access token.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "username": {
            "type": "string",
            "description": "Human-readable name for the resource",
            "title": "username",
            "x-displayname": "GitHub Username.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "example-resource",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "identity",
              "maxLength": 1024,
              "minLength": 1,
              "pattern": "^[a-zA-Z0-9_.-]+$",
              "characterSet": {
                "allowed": "[a-zA-Z0-9_.-]",
                "description": "Alphanumeric with underscores, dots, 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
            }
          },
          "verify_ssl": {
            "type": "boolean",
            "title": "verify_ssl",
            "format": "boolean",
            "x-displayname": "GitHub Verify SSL.",
            "description": "Configuration parameter for verify ssl",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for code_base_integrationGithubIntegration",
          "required_fields": [
            "username"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"username\": \"example-resource\"\n}",
          "example_yaml": "username: example-resource"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Canonical create identity pending namespace CRUD verification"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "code_base_integrationGitlabCloudIntegration": {
        "type": "object",
        "title": "GitLab Cloud Integration",
        "x-displayname": "GitLab Cloud Integration.",
        "x-ves-proto-message": "ves.io.schema.api_sec.code_base_integration.GitlabCloudIntegration",
        "properties": {
          "access_token": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSecretType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for access token.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for code_base_integrationGitlabCloudIntegration",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Canonical create identity pending namespace CRUD verification"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "code_base_integrationGitlabEnterpriseIntegration": {
        "type": "object",
        "title": "GitLab Enterprise Integration",
        "x-displayname": "GitLab Enterprise Integration.",
        "x-ves-proto-message": "ves.io.schema.api_sec.code_base_integration.GitlabEnterpriseIntegration",
        "properties": {
          "access_token": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSecretType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for access token.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "url": {
            "type": "string",
            "description": "URL or URI reference",
            "title": "url",
            "x-displayname": "GitLab URL.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "format": "uri",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "network",
              "maxLength": 1024,
              "format": "uri",
              "minLength": 1,
              "pattern": "^(https?|ftp)://[^\\s/$.?#].[^\\s]*$",
              "formatDescription": "RFC 3986 URI with scheme (http, https, ftp)",
              "validation": {
                "rfc": "RFC 3986"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.9,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for code_base_integrationGitlabEnterpriseIntegration",
          "required_fields": [
            "url"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"url\": \"value\"\n}",
          "example_yaml": "url: value"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Canonical create identity pending namespace CRUD verification"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "code_base_integrationHealthStatus": {
        "type": "string",
        "description": "Union of all possible Health Status OPTIONS.",
        "title": "HealthStatus",
        "enum": [
          "INITIALIZING",
          "CONNECTED",
          "DISCONNECTED",
          "AUTHENTICATION_ERROR",
          "CODE_BASE_ERROR",
          "REPO_NOT_FOUND",
          "REPO_NO_API_FOUND",
          "GENERAL_ERROR",
          "SCAN_ERROR"
        ],
        "default": "INITIALIZING",
        "x-displayname": "Health Status.",
        "x-ves-proto-enum": "ves.io.schema.api_sec.code_base_integration.HealthStatus",
        "x-f5xc-description-short": "Union of all possible Health Status OPTIONS.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for code_base_integrationHealthStatus",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"INITIALIZING\"",
          "example_yaml": "INITIALIZING\n..."
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Canonical create identity pending namespace CRUD verification"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "code_base_integrationIntegrationHealth": {
        "type": "object",
        "title": "Integration Health",
        "x-displayname": "Code Base Integration Health Status.",
        "x-ves-proto-message": "ves.io.schema.api_sec.code_base_integration.IntegrationHealth",
        "properties": {
          "health_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/code_base_integrationHealthStatus"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "reason": {
            "type": "string",
            "title": "Integration Health Status Reason",
            "x-displayname": "Health Status Reason.",
            "description": "Configuration parameter for reason",
            "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"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for code_base_integrationIntegrationHealth",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Canonical create identity pending namespace CRUD verification"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "code_base_integrationListResponse": {
        "type": "object",
        "description": "This is the output message of 'List' RPC.",
        "title": "ListResponse is the collection of code_base_integration",
        "x-displayname": "List Response.",
        "x-ves-proto-message": "ves.io.schema.api_sec.code_base_integration.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/code_base_integrationListResponseItem"
            },
            "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 code_base_integrationListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Canonical create identity pending namespace CRUD verification"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "code_base_integrationListResponseItem": {
        "type": "object",
        "description": "By default a summary of code_base_integration 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 code_base_integration",
        "x-displayname": "List Item",
        "x-ves-proto-message": "ves.io.schema.api_sec.code_base_integration.ListResponseItem",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "The set of annotations present on this code_base_integration.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of annotations present on this code_base_integration.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "The description set for this code_base_integration.",
            "title": "description",
            "x-displayname": "Description.",
            "x-f5xc-description-short": "The description set for this code_base_integration.",
            "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 code_base_integration is administratively disabled.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Value of true indicates code_base_integration is administratively disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "get_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/code_base_integrationGetSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "The set of labels present on this code_base_integration.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of labels present on this code_base_integration.",
            "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 code_base_integration.",
            "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/code_base_integrationStatusObject"
            },
            "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 code_base_integration.",
            "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 code_base_integration.",
            "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 code_base_integration is returned in 'List'.",
        "x-f5xc-description-medium": "By default a summary of code_base_integration 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 code_base_integrationListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Canonical create identity pending namespace CRUD verification"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "code_base_integrationReplaceRequest": {
        "type": "object",
        "description": "This is the input message of the 'Replace' RPC.",
        "title": "ReplaceRequest is used to replace contents of a code_base_integration",
        "x-displayname": "Replace Request.",
        "x-ves-proto-message": "ves.io.schema.api_sec.code_base_integration.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/code_base_integrationReplaceSpecType"
              }
            ],
            "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 code_base_integrationReplaceRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Canonical create identity pending namespace CRUD verification"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "code_base_integrationReplaceResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.api_sec.code_base_integration.ReplaceResponse",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for code_base_integrationReplaceResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Canonical create identity pending namespace CRUD verification"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "code_base_integrationReplaceSpecType": {
        "type": "object",
        "description": "Replace integration details.",
        "title": "Replace integration details",
        "x-displayname": "Replace Code Base Integration.",
        "x-ves-proto-message": "ves.io.schema.api_sec.code_base_integration.ReplaceSpecType",
        "properties": {
          "code_base_integration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/code_base_integrationCodeBaseIntegration"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for code base integration.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for code_base_integrationReplaceSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Canonical create identity pending namespace CRUD verification"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "code_base_integrationStatusObject": {
        "type": "object",
        "description": "Most recently observed status of object.",
        "title": "Status of a code_base_integration",
        "x-displayname": "Code Base Integration object status.",
        "x-ves-proto-message": "ves.io.schema.api_sec.code_base_integration.StatusObject",
        "properties": {
          "conditions": {
            "type": "array",
            "description": "Conditions.",
            "title": "conditions",
            "items": {
              "$ref": "#/components/schemas/schemaConditionType"
            },
            "x-displayname": "Conditions.",
            "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": "Object reference.",
            "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 code_base_integrationStatusObject",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Canonical create identity pending namespace CRUD verification"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryCBIPClusterStatus": {
        "type": "object",
        "title": "Status for each BIG-IP cluster",
        "x-ves-proto-message": "ves.io.schema.discovery.CBIPClusterStatus",
        "properties": {
          "cluster_name": {
            "type": "string",
            "description": "Name of the BIG-IP cluster.",
            "title": "Cluster name\nx-displayName: \"Cluster Name\"\nName of the BIG-IP cluster",
            "x-displayname": "Cluster Name.",
            "x-f5xc-example": "example-resource",
            "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
            }
          },
          "condition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaConditionType"
              }
            ],
            "x-f5xc-example": "ready",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "devices_status": {
            "type": "array",
            "description": "Device status of the BIG-IP cluster.",
            "title": "Devices status\nx-displayName: \"Devices Status\"\nx-required\nDevice status of the BIG-IP cluster",
            "minItems": 1,
            "maxItems": 8,
            "items": {
              "$ref": "#/components/schemas/discoveryCBIPDeviceStatus"
            },
            "x-displayname": "Devices Status.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "8",
              "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": "8",
              "ves.io.schema.rules.repeated.min_items": "1"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 8,
              "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 discoveryCBIPClusterStatus",
          "required_fields": [
            "devices_status"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"devices_status\": [\n    {\n      \"cbip_mgmt_ip\": \"192.0.2.14\",\n      \"conditions\": [\n        {}\n      ]\n    }\n  ]\n}",
          "example_yaml": "devices_status:\n- cbip_mgmt_ip: 192.0.2.14\n  conditions:\n  - {}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryCBIPDeviceStatus": {
        "type": "object",
        "title": "Status for each BIG-IP device",
        "x-ves-proto-message": "ves.io.schema.discovery.CBIPDeviceStatus",
        "properties": {
          "cbip_mgmt_ip": {
            "type": "string",
            "description": "IP Address of the BIG-IP device.",
            "title": "Management IP",
            "x-displayname": "Management IP.",
            "x-ves-example": "192.0.2.14.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.ipv4": "true"
            },
            "x-f5xc-example": "192.0.2.14",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.ipv4": "true"
            },
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "format": "ipv4",
              "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
            }
          },
          "conditions": {
            "type": "array",
            "description": "Discovery Status conditions of the device.",
            "title": "Status conditions",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "$ref": "#/components/schemas/schemaConditionType"
            },
            "x-displayname": "Conditions.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "4",
              "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": "4",
              "ves.io.schema.rules.repeated.min_items": "1"
            },
            "x-f5xc-description-short": "Discovery Status conditions of the device.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 4,
              "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 discoveryCBIPDeviceStatus",
          "required_fields": [
            "cbip_mgmt_ip",
            "conditions"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"cbip_mgmt_ip\": \"192.0.2.14\",\n  \"conditions\": [\n    {}\n  ]\n}",
          "example_yaml": "cbip_mgmt_ip: 192.0.2.14\nconditions:\n- {}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryConsulAccessInfo": {
        "type": "object",
        "description": "Hashicorp Consul API server information.",
        "title": "ConsulAccessInfo",
        "x-displayname": "Hashicorp Consul Parameters.",
        "x-ves-proto-message": "ves.io.schema.discovery.ConsulAccessInfo",
        "properties": {
          "connection_info": {
            "allOf": [
              {
                "$ref": "#/components/schemas/discoveryRestConfigType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for connection info.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "http_basic_auth_info": {
            "allOf": [
              {
                "$ref": "#/components/schemas/discoveryConsulHttpBasicAuthInfoType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for http basic auth info.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Hashicorp Consul API server information.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for discoveryConsulAccessInfo",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryConsulDiscoveryType": {
        "type": "object",
        "description": "Discovery configuration for Hashicorp Consul.",
        "title": "consul discovery type",
        "x-displayname": "Consul Discovery Configuration.",
        "x-ves-oneof-field-namespace_mapping_choice": "[]",
        "x-ves-proto-message": "ves.io.schema.discovery.ConsulDiscoveryType",
        "properties": {
          "access_info": {
            "allOf": [
              {
                "$ref": "#/components/schemas/discoveryConsulAccessInfo"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for access info.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "publish_info": {
            "allOf": [
              {
                "$ref": "#/components/schemas/discoveryConsulVipDiscoveryInfoType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for publish info.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Discovery configuration for Hashicorp Consul.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for discoveryConsulDiscoveryType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryConsulHttpBasicAuthInfoType": {
        "type": "object",
        "description": "Authentication parameters to access Hashicorp Consul.",
        "title": "Hashicorp Consul Credentials",
        "x-displayname": "Hashicorp Consul Credentials.",
        "x-ves-proto-message": "ves.io.schema.discovery.ConsulHttpBasicAuthInfoType",
        "properties": {
          "passwd_url": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSecretType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "user_name": {
            "type": "string",
            "description": "Username in consul.",
            "title": "username",
            "maxLength": 64,
            "x-displayname": "User Name",
            "x-ves-example": "Joe",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "64"
            },
            "x-f5xc-example": "Joe",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "64"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 64,
              "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-description-short": "Authentication parameters to access Hashicorp Consul.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for discoveryConsulHttpBasicAuthInfoType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryConsulVipDiscoveryInfoType": {
        "type": "object",
        "description": "Consul Configuration to publish VIPs.",
        "title": "Consul VIP Discovery Info Type",
        "x-displayname": "VIP Publish Configuration.",
        "x-ves-oneof-field-publish_choice": "[\"disable\",\"publish\"]",
        "x-ves-proto-message": "ves.io.schema.discovery.ConsulVipDiscoveryInfoType",
        "properties": {
          "disable": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "publish"
            ]
          },
          "publish": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for discoveryConsulVipDiscoveryInfoType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryCreateRequest": {
        "type": "object",
        "description": "This is the input message of the 'Create' RPC.",
        "title": "CreateRequest is used to create an instance of discovery",
        "x-displayname": "Create Request.",
        "x-ves-proto-message": "ves.io.schema.discovery.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/discoveryCreateSpecType"
              }
            ],
            "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 discoveryCreateRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryCreateResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.discovery.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/discoveryGetSpecType"
              }
            ],
            "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 discoveryCreateResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryCreateSpecType": {
        "type": "object",
        "description": "API to create discovery object for a site or virtual site in system namespace.",
        "title": "Create discovery",
        "x-displayname": "Create Discovery.",
        "x-ves-oneof-field-cluster_identifier_choice": "[\"cluster_id\",\"no_cluster_id\"]",
        "x-ves-oneof-field-discovery_choice": "[\"discovery_consul\",\"discovery_k8s\"]",
        "x-ves-proto-message": "ves.io.schema.discovery.CreateSpecType",
        "properties": {
          "cluster_id": {
            "type": "string",
            "description": "Exclusive with [no_cluster_id]\nSpecify identifier for discovery cluster. This identifier can be\nspecified in endpoint object to discover only from this discovery object.",
            "maxLength": 256,
            "x-displayname": "Discovery cluster Identifier.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Exclusive with [no_cluster_id] Specify identifier for discovery cluster.",
            "x-f5xc-description-medium": "Exclusive with [no_cluster_id] Specify identifier for discovery cluster. This identifier can be specified in endpoint object to discover only from this discovery object.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "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-field-mutability": "read-only",
            "x-f5xc-conflicts-with": [
              "no_cluster_id"
            ]
          },
          "discovery_consul": {
            "allOf": [
              {
                "$ref": "#/components/schemas/discoveryConsulDiscoveryType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for discovery consul.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "discovery_k8s"
            ]
          },
          "discovery_k8s": {
            "allOf": [
              {
                "$ref": "#/components/schemas/discoveryK8SDiscoveryType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for discovery k8s.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "discovery_consul"
            ]
          },
          "no_cluster_id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "x-f5xc-conflicts-with": [
              "cluster_id"
            ]
          },
          "where": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaNetworkSiteRefSelector__ves_io_schema_discovery"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "site",
                "field_path": "where",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          }
        },
        "x-f5xc-description-short": "API to create discovery object for a site or virtual site in system namespace.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for discoveryCreateSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryDeleteRequest": {
        "type": "object",
        "description": "This is the input message of the 'DELETE' RPC.",
        "title": "DeleteRequest is used to delete a discovery",
        "x-displayname": "DELETE Request.",
        "x-ves-proto-message": "ves.io.schema.discovery.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 discoveryDeleteRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryDiscoveredServiceType": {
        "type": "object",
        "description": "Details of each Discovered Service.",
        "title": "Discovered Service",
        "x-displayname": "Service",
        "x-ves-proto-message": "ves.io.schema.discovery.DiscoveredServiceType",
        "properties": {
          "cluster_ip": {
            "type": "string",
            "description": "IP Address of the service.",
            "title": "Service IP",
            "x-displayname": "IP",
            "x-ves-example": "192.0.2.106.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ip": "true"
            },
            "x-f5xc-example": "192.0.2.106",
            "x-validation-rules": {
              "ves.io.schema.rules.string.ip": "true"
            },
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "format": "ip",
              "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
            }
          },
          "cluster_ipv6": {
            "type": "string",
            "description": "IPv6 Address of the service.",
            "title": "Service IPv6",
            "x-displayname": "IPv6",
            "x-ves-example": "2001:0db8:85a3:0000:0000:8a2e:0370:7334.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ip": "true"
            },
            "x-f5xc-example": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
            "x-validation-rules": {
              "ves.io.schema.rules.string.ip": "true"
            },
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "format": "ip",
              "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
            }
          },
          "labels": {
            "type": "object",
            "description": "Key value pairs defined as labels for the service.",
            "title": "Service labels",
            "x-displayname": "Labels",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.map.max_pairs": "16",
              "ves.io.schema.rules.map.values.string.k8s_label_value": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.map.max_pairs": "16",
              "ves.io.schema.rules.map.values.string.k8s_label_value": "true"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Key value pairs defined as labels for the service.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "namespace": {
            "type": "string",
            "description": "Namespace of the discovered service.",
            "title": "Namespace",
            "maxLength": 64,
            "x-displayname": "Namespace",
            "x-ves-example": "Example-namespace.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "64"
            },
            "x-f5xc-example": "example-namespace",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "64"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 64,
              "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": "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
            },
            "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])?$"
          },
          "pods": {
            "type": "array",
            "description": "List of pod-name to IP address mappings for the service.",
            "title": "POD list",
            "items": {
              "$ref": "#/components/schemas/discoveryPodInfoType"
            },
            "x-displayname": "PODs",
            "x-f5xc-description-short": "List of pod-name to IP address mappings for the service.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "ports": {
            "type": "array",
            "description": "List of ports along with protocol on which the service is exposed.",
            "title": "Port list",
            "items": {
              "$ref": "#/components/schemas/discoveryPortInfoType"
            },
            "x-displayname": "Ports",
            "x-f5xc-description-short": "List of ports along with protocol on which the service is exposed.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "service_name": {
            "type": "string",
            "description": "Name of the discovered service.",
            "title": "Service name",
            "maxLength": 64,
            "x-displayname": "Service",
            "x-ves-example": "Example-service.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "64"
            },
            "x-f5xc-example": "example-service",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "64"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 64,
              "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
            }
          },
          "service_type": {
            "type": "string",
            "description": "Type of discovered service. Examples include \"ClusterIP\", \"NodePort\" etc.",
            "title": "Service Type",
            "maxLength": 64,
            "x-displayname": "Type",
            "x-ves-example": "NodePort",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "64"
            },
            "x-f5xc-example": "NodePort",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "64"
            },
            "x-f5xc-description-short": "Type of discovered service. Examples include \"ClusterIP\", \"NodePort\" etc.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 64,
              "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-minimum-configuration": {
          "description": "Minimum configuration for discoveryDiscoveredServiceType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryDownloadCertificatesRequest": {
        "type": "object",
        "description": "Download Certificates Of Log Collector.",
        "title": "DownloadCertificatesRequest",
        "x-displayname": "Download Certificates.",
        "x-ves-proto-message": "ves.io.schema.discovery.DownloadCertificatesRequest",
        "properties": {
          "name": {
            "type": "string",
            "description": "Identifies the discovery name.",
            "title": "Discovery Name",
            "x-displayname": "Discovery Name.",
            "x-ves-example": "Ds1",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "ds1",
            "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])?$"
          },
          "namespace": {
            "type": "string",
            "description": "Namespace of the discovered service for current request.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Shared",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "shared",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Namespace of the discovered service for current request.",
            "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": 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])?$"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for discoveryDownloadCertificatesRequest",
          "required_fields": [
            "name",
            "namespace"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"ds1\",\n  \"namespace\": \"shared\"\n}",
          "example_yaml": "name: ds1\nnamespace: shared"
        },
        "x-f5xc-cli-domain": "certificates",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryDownloadCertificatesResponse": {
        "type": "object",
        "description": "Response to the DownloadCertificatesResponse\nA zip file with the certificates files:\n- client.crt\n- client.key\n- server_ca.crt.",
        "title": "DownloadCertificatesResponse",
        "x-displayname": "Download Certificates Response.",
        "x-ves-displayorder": "1",
        "x-ves-proto-message": "ves.io.schema.discovery.DownloadCertificatesResponse",
        "properties": {
          "data": {
            "type": "string",
            "description": "Data is base64 encoded value of certificate in PKCS12 format.",
            "title": "Data",
            "format": "byte",
            "x-displayname": "Credentials.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Data is base64 encoded value of certificate in PKCS12 format.",
            "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
            }
          }
        },
        "x-f5xc-description-short": "Response to the DownloadCertificatesResponse A zip file with the certificates files: - client.crt - client.key - server_ca.crt.",
        "x-f5xc-description-medium": "Response to the DownloadCertificatesResponse A zip file with the certificates files: - client.crt - client.key - server_ca.crt.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for discoveryDownloadCertificatesResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "certificates",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read discovery",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.discovery.GetResponse",
        "properties": {
          "create_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/discoveryCreateRequest"
              }
            ],
            "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/discoveryReplaceRequest"
              }
            ],
            "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/discoveryGetSpecType"
              }
            ],
            "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/discoveryStatusObject"
            },
            "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 discoveryGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryGetSpecType": {
        "type": "object",
        "description": "API to GET discovery object for a site or virtual site in system namespace.",
        "title": "Get discovery",
        "x-displayname": "GET Discovery.",
        "x-ves-oneof-field-cluster_identifier_choice": "[\"cluster_id\",\"no_cluster_id\"]",
        "x-ves-oneof-field-discovery_choice": "[\"discovery_consul\",\"discovery_k8s\"]",
        "x-ves-proto-message": "ves.io.schema.discovery.GetSpecType",
        "properties": {
          "cluster_id": {
            "type": "string",
            "description": "Exclusive with [no_cluster_id]\nSpecify identifier for discovery cluster. This identifier can be\nspecified in endpoint object to discover only from this discovery object.",
            "maxLength": 256,
            "x-displayname": "Discovery cluster Identifier.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Exclusive with [no_cluster_id] Specify identifier for discovery cluster.",
            "x-f5xc-description-medium": "Exclusive with [no_cluster_id] Specify identifier for discovery cluster. This identifier can be specified in endpoint object to discover only from this discovery object.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "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-field-mutability": "read-only",
            "x-f5xc-conflicts-with": [
              "no_cluster_id"
            ]
          },
          "discovery_consul": {
            "allOf": [
              {
                "$ref": "#/components/schemas/discoveryConsulDiscoveryType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for discovery consul.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "discovery_k8s"
            ]
          },
          "discovery_k8s": {
            "allOf": [
              {
                "$ref": "#/components/schemas/discoveryK8SDiscoveryType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for discovery k8s.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "discovery_consul"
            ]
          },
          "no_cluster_id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "x-f5xc-conflicts-with": [
              "cluster_id"
            ]
          },
          "where": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaNetworkSiteRefSelector__ves_io_schema_discovery"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "virtual_site",
                "field_path": "where",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          }
        },
        "x-f5xc-description-short": "API to GET discovery object for a site or virtual site in system namespace.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for discoveryGetSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryK8SAccessInfo": {
        "type": "object",
        "description": "K8s API server access.",
        "title": "K8S access info",
        "x-displayname": "K8s API Server.",
        "x-ves-displayorder": "10,11",
        "x-ves-oneof-field-config_type": "[\"connection_info\",\"kubeconfig_url\"]",
        "x-ves-oneof-field-k8s_pod_network_choice": "[\"isolated\",\"reachable\"]",
        "x-ves-proto-message": "ves.io.schema.discovery.K8SAccessInfo",
        "properties": {
          "connection_info": {
            "allOf": [
              {
                "$ref": "#/components/schemas/discoveryRestConfigType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for connection info.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "kubeconfig_url"
            ]
          },
          "isolated": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "reachable"
            ]
          },
          "kubeconfig_url": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSecretType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "connection_info"
            ]
          },
          "reachable": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "isolated"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for discoveryK8SAccessInfo",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryK8SDNSMode": {
        "type": "string",
        "description": "Two modes are possible\n\nCoreDNS: Whether external K8s cluster is running core-DNS\nKubeDNS: External K8s cluster is running kube-DNS.",
        "title": "K8SDNSMode",
        "enum": [
          "CORE_DNS",
          "KUBE_DNS"
        ],
        "default": "CORE_DNS",
        "x-displayname": "DNS Mode",
        "x-ves-proto-enum": "ves.io.schema.discovery.K8SDNSMode",
        "x-f5xc-description-short": "Two modes are possible CoreDNS: Whether external K8s cluster is running core-DNS KubeDNS: External K8s cluster is running kube-DNS.",
        "x-f5xc-description-medium": "Two modes are possible CoreDNS: Whether external K8s cluster is running core-DNS KubeDNS: External K8s cluster is running kube-DNS.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for discoveryK8SDNSMode",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"CORE_DNS\"",
          "example_yaml": "CORE_DNS\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryK8SDelegationType": {
        "type": "object",
        "title": "K8SDelegationType",
        "x-displayname": "K8SDelegationType.",
        "x-ves-proto-message": "ves.io.schema.discovery.K8SDelegationType",
        "properties": {
          "dns_mode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/discoveryK8SDNSMode"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "subdomain": {
            "type": "string",
            "description": "The DNS subdomain for which F5XC will respond to DNS queries.",
            "title": "subdomain",
            "maxLength": 256,
            "x-displayname": "Subdomain",
            "x-ves-example": "Value",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-description-short": "The DNS subdomain for which F5XC will respond to DNS queries.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "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 discoveryK8SDelegationType",
          "required_fields": [
            "subdomain"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"subdomain\": \"value\"\n}",
          "example_yaml": "subdomain: value"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryK8SDiscoveryType": {
        "type": "object",
        "description": "Discovery configuration for K8s.",
        "title": "K8s discovery type",
        "x-displayname": "K8s Discovery Configuration.",
        "x-ves-oneof-field-namespace_mapping_choice": "[\"default_all\",\"namespace_mapping\"]",
        "x-ves-proto-message": "ves.io.schema.discovery.K8SDiscoveryType",
        "properties": {
          "access_info": {
            "allOf": [
              {
                "$ref": "#/components/schemas/discoveryK8SAccessInfo"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for access info.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "default_all": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for default all.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "namespace_mapping"
            ]
          },
          "namespace_mapping": {
            "allOf": [
              {
                "$ref": "#/components/schemas/discoveryK8SNamespaceMapping"
              }
            ],
            "x-f5xc-example": "example-resource",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "default_all"
            ]
          },
          "publish_info": {
            "allOf": [
              {
                "$ref": "#/components/schemas/discoveryK8SVipDiscoveryInfoType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for publish info.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for discoveryK8SDiscoveryType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryK8SNamespaceMapping": {
        "type": "object",
        "description": "Select the mapping between K8s namespaces from which services will be discovered and App Namespace to which the discovered services will be shared.",
        "title": "K8S Namespace Mapping",
        "x-displayname": "K8s Namespace Mapping.",
        "x-ves-proto-message": "ves.io.schema.discovery.K8SNamespaceMapping",
        "properties": {
          "items": {
            "type": "array",
            "description": "Map K8s namespace(s) to App Namespaces. In Shared Configuration, Discovered Services can only be mapped to a single App Namespace, which is determined by the first matched regex.",
            "title": "K8S Namespace to App Namespace Mapping",
            "minItems": 1,
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/discoveryK8SNamespaceMappingItem"
            },
            "x-displayname": "Regex Matching.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32",
              "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": "32",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "[\"item1\", \"item2\", \"item3\"]",
            "x-f5xc-description-medium": "Map K8s namespace(s) to App Namespaces. In Shared Configuration, Discovered Services can only be mapped to a single App Namespace, which is determined by the first matched regex.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 32,
              "uniqueItems": true,
              "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
            }
          }
        },
        "x-f5xc-description-short": "Select the mapping between K8s namespaces from which services will be discovered and App Namespace to which the discovered services will be shared.",
        "x-f5xc-description-medium": "Select the mapping between K8s namespaces from which services will be discovered and App Namespace to which the discovered services will be shared.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for discoveryK8SNamespaceMapping",
          "required_fields": [
            "items"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"items\": [\n    {}\n  ]\n}",
          "example_yaml": "items:\n- {}"
        },
        "x-f5xc-cli-domain": "tenant_and_identity",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryK8SNamespaceMappingItem": {
        "type": "object",
        "description": "Map K8s Namespace(s) to an App Namespace. If not specified, all virtual\nservers will be discovered under shared namespace.",
        "title": "K8S Namespace Mapping Item",
        "x-displayname": "K8s Namespace Mapping Item.",
        "x-ves-proto-message": "ves.io.schema.discovery.K8SNamespaceMappingItem",
        "properties": {
          "namespace": {
            "type": "string",
            "description": "Select a namespace.",
            "title": "App Namespace",
            "x-displayname": "F5XC Application Namespaces.",
            "x-f5xc-example": "example-resource",
            "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])?$"
          },
          "namespace_regex": {
            "type": "string",
            "description": "The regex here will be used to match K8s namespace(s).",
            "title": "Kubernetes Namespace Regex",
            "maxLength": 256,
            "x-displayname": "K8s Namespaces.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.regex": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.regex": "true"
            },
            "x-f5xc-example": "example-resource",
            "x-f5xc-description-short": "The regex here will be used to match K8s namespace(s).",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "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-description-short": "Map K8s Namespace(s) to an App Namespace. If not specified, all virtual servers will be discovered under shared namespace.",
        "x-f5xc-description-medium": "Map K8s Namespace(s) to an App Namespace. If not specified, all virtual servers will be discovered under shared namespace.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for discoveryK8SNamespaceMappingItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "tenant_and_identity",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryK8SPublishType": {
        "type": "object",
        "title": "K8SPublishType",
        "x-displayname": "K8SPublishType.",
        "x-ves-proto-message": "ves.io.schema.discovery.K8SPublishType",
        "properties": {
          "namespace": {
            "type": "string",
            "description": "The namespace where the service/endpoints need to be created if it's not included in the domain.\nThe external K8s administrator needs to ensure that the namespace exists.",
            "title": "namespace",
            "maxLength": 64,
            "x-displayname": "Default Namespace.",
            "x-ves-example": "Default",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "64"
            },
            "x-f5xc-example": "default",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "64"
            },
            "x-f5xc-description-short": "The namespace where the service/endpoints need to be created if it's not included in the domain.",
            "x-f5xc-description-medium": "The namespace where the service/endpoints need to be created if it's not included in the domain. The external K8s administrator needs to ensure that the namespace exists.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 64,
              "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": "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
            },
            "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 discoveryK8SPublishType",
          "required_fields": [
            "namespace"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"namespace\": \"default\"\n}",
          "example_yaml": "namespace: default"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryK8SVipDiscoveryInfoType": {
        "type": "object",
        "description": "K8s Configuration to publish VIPs.",
        "title": "K8S VIP Discovery Info Type",
        "x-displayname": "VIP Publish Configurations.",
        "x-ves-oneof-field-publish_choice": "[\"disable\",\"dns_delegation\",\"publish\",\"publish_fqdns\"]",
        "x-ves-proto-message": "ves.io.schema.discovery.K8SVipDiscoveryInfoType",
        "properties": {
          "disable": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "dns_delegation",
              "publish",
              "publish_fqdns"
            ]
          },
          "dns_delegation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/discoveryK8SDelegationType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for dns delegation.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable",
              "publish",
              "publish_fqdns"
            ]
          },
          "publish": {
            "allOf": [
              {
                "$ref": "#/components/schemas/discoveryK8SPublishType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable",
              "dns_delegation",
              "publish_fqdns"
            ]
          },
          "publish_fqdns": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for publish fqdns.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable",
              "dns_delegation",
              "publish"
            ]
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for discoveryK8SVipDiscoveryInfoType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryListResponse": {
        "type": "object",
        "description": "This is the output message of 'List' RPC.",
        "title": "ListResponse is the collection of discovery",
        "x-displayname": "List Response.",
        "x-ves-proto-message": "ves.io.schema.discovery.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/discoveryListResponseItem"
            },
            "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 discoveryListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryListResponseItem": {
        "type": "object",
        "description": "By default a summary of discovery 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 discovery",
        "x-displayname": "List Item",
        "x-ves-proto-message": "ves.io.schema.discovery.ListResponseItem",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "The set of annotations present on this discovery.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of annotations present on this discovery.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "The description set for this discovery.",
            "title": "description",
            "x-displayname": "Description.",
            "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 discovery is administratively disabled.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Value of true indicates discovery is administratively disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "get_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/discoveryGetSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "The set of labels present on this discovery.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of labels present on this discovery.",
            "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 discovery.",
            "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/discoveryStatusObject"
            },
            "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 discovery.",
            "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 discovery 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 discovery 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 discoveryListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryPodInfoType": {
        "type": "object",
        "description": "Information about POD providing the service.",
        "title": "Pod info",
        "x-displayname": "POD",
        "x-ves-proto-message": "ves.io.schema.discovery.PodInfoType",
        "properties": {
          "ip": {
            "type": "string",
            "description": "IP Address of the POD.",
            "title": "IP Address",
            "x-displayname": "IP",
            "x-ves-example": "192.0.2.106.",
            "x-f5xc-example": "192.0.2.106",
            "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
            }
          },
          "pod_name": {
            "type": "string",
            "description": "Name of the Pod.",
            "title": "POD name",
            "x-displayname": "Name",
            "x-ves-example": "Example-pod-nk8wr.",
            "x-f5xc-example": "example-pod-nk8wr",
            "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 POD providing the service.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for discoveryPodInfoType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryPortInfoType": {
        "type": "object",
        "description": "Information about port and protocol on which the service is provided.",
        "title": "Port information",
        "x-displayname": "Port details.",
        "x-ves-proto-message": "ves.io.schema.discovery.PortInfoType",
        "properties": {
          "port": {
            "type": "integer",
            "description": "Port number on which the service is exposed.",
            "title": "Port",
            "format": "int64",
            "x-displayname": "Port number.",
            "x-ves-example": "8080",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "65535"
            },
            "x-f5xc-example": "8080",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "65535"
            },
            "x-f5xc-description-short": "Port number on which the service is exposed.",
            "minimum": 1,
            "maximum": 65535,
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 1,
              "maximum": 65535,
              "multipleOf": 1,
              "metadata": {
                "source": "api-probed",
                "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
            }
          },
          "protocol": {
            "type": "string",
            "description": "Protocol on which the service is exposed.",
            "title": "Protocol",
            "x-displayname": "Protocol",
            "x-ves-example": "TCP",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "TCP",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Protocol on which the service is exposed.",
            "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
            }
          },
          "target_port": {
            "type": "integer",
            "description": "Port on which the pods targeted by the service can be reached.\nTargetPort of Kubernetes service when its type is ClusterIP.\nNodePort of Kubernetes service when its type is NodePort.",
            "title": "Target Port",
            "format": "int64",
            "x-displayname": "Target Port number.",
            "x-ves-example": "8081",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "65535"
            },
            "x-f5xc-example": "8081",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "65535"
            },
            "x-f5xc-description-short": "Port on which the pods targeted by the service can be reached. TargetPort of Kubernetes service when its type is ClusterIP.",
            "x-f5xc-description-medium": "Port on which the pods targeted by the service can be reached. TargetPort of Kubernetes service when its type is ClusterIP. NodePort of Kubernetes service when its type is NodePort.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 1,
              "maximum": 65535,
              "deterministic": true,
              "metadata": {
                "source": "api-probed",
                "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": "Information about port and protocol on which the service is provided.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for discoveryPortInfoType",
          "required_fields": [
            "port",
            "protocol",
            "target_port"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"port\": 1,\n  \"protocol\": \"TCP\",\n  \"target_port\": 1\n}",
          "example_yaml": "port: 1\nprotocol: TCP\ntarget_port: 1"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryReplaceRequest": {
        "type": "object",
        "description": "This is the input message of the 'Replace' RPC.",
        "title": "ReplaceRequest is used to replace contents of a discovery",
        "x-displayname": "Replace Request.",
        "x-ves-proto-message": "ves.io.schema.discovery.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/discoveryReplaceSpecType"
              }
            ],
            "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 discoveryReplaceRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryReplaceResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.discovery.ReplaceResponse",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for discoveryReplaceResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryReplaceSpecType": {
        "type": "object",
        "description": "API to replace discovery object for a site or virtual site in system namespace.",
        "title": "Replace discovery",
        "x-displayname": "Replace Discovery.",
        "x-ves-oneof-field-cluster_identifier_choice": "[\"cluster_id\",\"no_cluster_id\"]",
        "x-ves-oneof-field-discovery_choice": "[\"discovery_consul\",\"discovery_k8s\"]",
        "x-ves-proto-message": "ves.io.schema.discovery.ReplaceSpecType",
        "properties": {
          "cluster_id": {
            "type": "string",
            "description": "Exclusive with [no_cluster_id]\nSpecify identifier for discovery cluster. This identifier can be\nspecified in endpoint object to discover only from this discovery object.",
            "maxLength": 256,
            "x-displayname": "Discovery cluster Identifier.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Exclusive with [no_cluster_id] Specify identifier for discovery cluster.",
            "x-f5xc-description-medium": "Exclusive with [no_cluster_id] Specify identifier for discovery cluster. This identifier can be specified in endpoint object to discover only from this discovery object.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "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-field-mutability": "read-only",
            "x-f5xc-conflicts-with": [
              "no_cluster_id"
            ]
          },
          "discovery_consul": {
            "allOf": [
              {
                "$ref": "#/components/schemas/discoveryConsulDiscoveryType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for discovery consul.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "discovery_k8s"
            ]
          },
          "discovery_k8s": {
            "allOf": [
              {
                "$ref": "#/components/schemas/discoveryK8SDiscoveryType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for discovery k8s.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "discovery_consul"
            ]
          },
          "no_cluster_id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "x-f5xc-conflicts-with": [
              "cluster_id"
            ]
          },
          "where": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaNetworkSiteRefSelector__ves_io_schema_discovery"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": "virtual_site",
                "field_path": "where",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          }
        },
        "x-f5xc-description-short": "API to replace discovery object for a site or virtual site in system namespace.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for discoveryReplaceSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryRestConfigType": {
        "type": "object",
        "description": "Configuration details to access discovery service REST API.",
        "title": "REST API config",
        "x-displayname": "REST API Config.",
        "x-ves-proto-message": "ves.io.schema.discovery.RestConfigType",
        "properties": {
          "api_server": {
            "type": "string",
            "description": "API server must be a fully qualified domain string and port specified as host:port pair.",
            "title": "Discovery Service API server",
            "maxLength": 262,
            "x-displayname": "API Server and Port.",
            "x-ves-example": "api.example.com:4430.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.hostport": "true",
              "ves.io.schema.rules.string.max_len": "262"
            },
            "x-f5xc-example": "api.example.com:4430",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.hostport": "true",
              "ves.io.schema.rules.string.max_len": "262"
            },
            "x-f5xc-description-short": "API server must be a fully qualified domain string and port specified as host:port pair.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 262,
              "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
            }
          },
          "tls_info": {
            "allOf": [
              {
                "$ref": "#/components/schemas/discoveryTLSClientConfigType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Configuration details to access discovery service REST API.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for discoveryRestConfigType",
          "required_fields": [
            "api_server"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"api_server\": \"api.example.com:4430\"\n}",
          "example_yaml": "api_server: api.example.com:4430"
        },
        "x-f5xc-cli-domain": "certificates",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryStatusObject": {
        "type": "object",
        "description": "Most recently observed status of object.",
        "title": "Discovery Status Object",
        "x-displayname": "Discovery Status.",
        "x-ves-proto-message": "ves.io.schema.discovery.StatusObject",
        "properties": {
          "cbip_clusters_status": {
            "type": "array",
            "description": "CBIPClusterStatus captures the status\nof the BIG-IP cluster discovery workflow, especially the device status.",
            "title": "cbip_clusters_status\nx-displayName: \"BIG-IP Clusters Status\"\nx-required\nCBIPClusterStatus captures the status\nof the BIG-IP cluster discovery workflow, especially the device status",
            "minItems": 1,
            "maxItems": 32,
            "items": {
              "$ref": "#/components/schemas/discoveryCBIPClusterStatus"
            },
            "x-displayname": "BIG-IP Clusters Status.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "32",
              "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": "32",
              "ves.io.schema.rules.repeated.min_items": "1"
            },
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "CBIPClusterStatus captures the status of the BIG-IP cluster discovery workflow, especially the device status.",
            "x-f5xc-description-medium": "CBIPClusterStatus captures the status of the BIG-IP cluster discovery workflow, especially the device status.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 32,
              "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
            }
          },
          "conditions": {
            "type": "array",
            "description": "Conditions.",
            "title": "conditions",
            "items": {
              "$ref": "#/components/schemas/schemaConditionType"
            },
            "x-displayname": "Conditions.",
            "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": "Object reference.",
            "title": "object_refs",
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Config Object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "ver_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/discoveryVerStatusType"
              }
            ],
            "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 discoveryStatusObject",
          "required_fields": [
            "cbip_clusters_status"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"cbip_clusters_status\": [\n    {\n      \"devices_status\": [\n        {\n          \"cbip_mgmt_ip\": \"192.0.2.14\",\n          \"conditions\": [\n            {}\n          ]\n        }\n      ]\n    }\n  ]\n}",
          "example_yaml": "cbip_clusters_status:\n- devices_status:\n  - cbip_mgmt_ip: 192.0.2.14\n    conditions:\n    - {}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryTLSClientConfigType": {
        "type": "object",
        "description": "TLS config for client of discovery service.",
        "title": "TLS config",
        "x-displayname": "Client TLS Config.",
        "x-ves-proto-message": "ves.io.schema.discovery.TLSClientConfigType",
        "properties": {
          "certificate": {
            "type": "string",
            "description": "Client certificate is PEM-encoded certificate or certificate-chain.",
            "maxLength": 131072,
            "x-displayname": "Client Certificate.",
            "x-ves-example": "Value",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "131072",
              "ves.io.schema.rules.string.uri_ref": "true"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "131072",
              "ves.io.schema.rules.string.uri_ref": "true"
            },
            "x-f5xc-description-short": "Client certificate is PEM-encoded certificate or certificate-chain.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 131072,
              "minLength": 100,
              "pattern": "^-----BEGIN CERTIFICATE-----\\n.*\\n-----END CERTIFICATE-----$",
              "format": "uri",
              "formatDescription": "PEM-encoded X.509 certificate, max 5MB",
              "byteLength": {
                "max": 131072
              },
              "validation": {
                "standard": "PEM"
              },
              "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
            }
          },
          "key_url": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSecretType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "server_name": {
            "type": "string",
            "description": "ServerName is passed to the server for SNI and is used in the client to check server\ncertificates against. If ServerName is empty, the hostname used to contact the\nserver is used.",
            "title": "Server Name",
            "maxLength": 256,
            "x-displayname": "SNI name",
            "x-ves-example": "k8s.example.com.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "k8s.example.com",
            "x-validation-rules": {
              "ves.io.schema.rules.string.hostname": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-description-short": "ServerName is passed to the server for SNI and is used in the client to check server certificates against.",
            "x-f5xc-description-medium": "ServerName is passed to the server for SNI and is used in the client to check server certificates against. If ServerName is empty, the hostname used to contact the server is used.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "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
            }
          },
          "trusted_ca_url": {
            "type": "string",
            "description": "The URL or value for trusted Server CA certificate or certificate chain\nCertificates in PEM format including the PEM headers.",
            "title": "Server CA certificates",
            "maxLength": 131072,
            "x-displayname": "Server CA Certificates.",
            "x-ves-example": "Value",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "131072",
              "ves.io.schema.rules.string.uri_ref": "true"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "131072",
              "ves.io.schema.rules.string.uri_ref": "true"
            },
            "x-f5xc-description-short": "The URL or value for trusted Server CA certificate or certificate chain Certificates in PEM format including the PEM headers.",
            "x-f5xc-description-medium": "The URL or value for trusted Server CA certificate or certificate chain Certificates in PEM format including the PEM headers.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 131072,
              "byteLength": {
                "max": 131072
              },
              "format": "uri",
              "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-description-short": "TLS config for client of discovery service.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for discoveryTLSClientConfigType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "certificates",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "discoveryVerStatusType": {
        "type": "object",
        "description": "This VER status is per site on which discovery is happening and it lists all services that site has discovered.",
        "title": "VER status for k8s and consul Discovery",
        "x-displayname": "VER Status.",
        "x-ves-proto-message": "ves.io.schema.discovery.VerStatusType",
        "properties": {
          "connected": {
            "type": "boolean",
            "description": "Indicates connection status to external discovery service.",
            "title": "Connection status",
            "format": "boolean",
            "x-displayname": "Connection Status.",
            "x-f5xc-description-short": "Indicates connection status to external discovery service.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "services": {
            "type": "array",
            "description": "List of discovered services.",
            "title": "Discovered Services",
            "items": {
              "$ref": "#/components/schemas/discoveryDiscoveredServiceType"
            },
            "x-displayname": "Discovered Services.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "site": {
            "type": "string",
            "description": "Name of the site that reported this status.",
            "title": "Origin site",
            "x-displayname": "Site",
            "x-f5xc-description-short": "Name of the site that reported this 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
            }
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaDiscoveryType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "VER status is per site on which discovery is happening and it lists all services that site has discovered.",
        "x-f5xc-description-medium": "VER status is per site on which discovery is happening and it lists all services that site has discovered.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for discoveryVerStatusType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaDiscoveryType": {
        "type": "string",
        "description": "Specifies the type of discovery\n\nInvalid Discovery mechanism\nDiscover from Kubernetes cluster\nDiscover from Consul service\nDiscover from Classic BIG-IP Clusters\nDiscover for Third Party Application\nDiscover from NGINX One.",
        "title": "DiscoveryType",
        "enum": [
          "INVALID_DISCOVERY",
          "K8S",
          "CONSUL",
          "CLASSIC_BIGIP",
          "THIRD_PARTY",
          "NGINX_ONE"
        ],
        "default": "INVALID_DISCOVERY",
        "x-displayname": "Discovery Type.",
        "x-ves-proto-enum": "ves.io.schema.DiscoveryType",
        "x-f5xc-description-short": "Specifies the type of discovery Invalid Discovery mechanism Discover from Kubernetes cluster Discover from Consul service Discover from Classic...",
        "x-f5xc-description-medium": "Specifies the type of discovery Invalid Discovery mechanism Discover from Kubernetes cluster Discover from Consul service Discover from Classic BIG-IP Clusters Discover for Third Party Application Discover from NGINX One.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaDiscoveryType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"INVALID_DISCOVERY\"",
          "example_yaml": "INVALID_DISCOVERY\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Service discovery is platform-level"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaNetworkRefType__ves_io_schema_discovery": {
        "type": "object",
        "description": "This specifies a direct reference to a network configuration object.",
        "title": "NetworkRefType",
        "x-displayname": "Network Reference.",
        "x-ves-proto-message": "ves.io.schema.NetworkRefType",
        "properties": {
          "ref": {
            "type": "array",
            "description": "A virtual network direct reference.",
            "title": "ref",
            "maxItems": 1,
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Reference",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "1"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "1"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "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": "Specifies a direct reference to a network configuration object.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaNetworkRefType",
          "required_fields": [
            "ref"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"ref\": [\n    {}\n  ]\n}",
          "example_yaml": "ref:\n- {}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaNetworkSiteRefSelector__ves_io_schema_discovery": {
        "type": "object",
        "description": "NetworkSiteRefSelector defines a union of reference to site or reference to virtual_network or reference to virtual_site\nIt is used to determine virtual network using following rules\n* Direct reference to virtual_network object\n* Site local network when referring to site object\n* All site local networks for sites selected by referring to virtual_site object.",
        "title": "NetworkSiteRefSelector",
        "x-displayname": "Network or Site Reference.",
        "x-ves-oneof-field-ref_or_selector": "[\"site\",\"virtual_network\",\"virtual_site\"]",
        "x-ves-proto-message": "ves.io.schema.NetworkSiteRefSelector",
        "properties": {
          "site": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSiteRefType__ves_io_schema_bgp"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "virtual_network",
              "virtual_site"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "site",
                "field_path": "site",
                "gated_by": {
                  "choice": "ref_or_selector"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "virtual_network": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaNetworkRefType__ves_io_schema_discovery"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for virtual network.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "site",
              "virtual_site"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "virtual_network",
                "field_path": "virtual_network",
                "gated_by": {
                  "choice": "ref_or_selector"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "virtual_site": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaVSiteRefType__ves_io_schema_bgp"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "site",
              "virtual_network"
            ],
            "x-f5xc-references": [
              {
                "resource_kind": "virtual_site",
                "field_path": "virtual_site",
                "gated_by": {
                  "choice": "ref_or_selector"
                },
                "required": false,
                "cardinality": "single"
              }
            ]
          }
        },
        "x-f5xc-description-short": "NetworkSiteRefSelector defines a union of reference to site or reference to virtual_network or reference to virtual_site It is used to determine...",
        "x-f5xc-description-medium": "NetworkSiteRefSelector defines a union of reference to site or reference to virtual_network or reference to virtual_site It is used to determine virtual network using following rules * Direct reference to virtual_network object * Site local network when referring to site object * All site local...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaNetworkSiteRefSelector",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaSiteRefType__ves_io_schema_bgp": {
        "type": "object",
        "description": "This specifies a direct reference to a site configuration object.",
        "title": "SiteRefType",
        "x-displayname": "Site Reference.",
        "x-ves-oneof-field-internet_vip_choice": "[\"disable_internet_vip\",\"enable_internet_vip\"]",
        "x-ves-proto-message": "ves.io.schema.SiteRefType",
        "properties": {
          "disable_internet_vip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_internet_vip"
            ]
          },
          "enable_internet_vip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_internet_vip"
            ]
          },
          "network_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaVirtualNetworkType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "ref": {
            "type": "array",
            "description": "A site direct reference.",
            "title": "ref",
            "maxItems": 1,
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Reference",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "1"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "1"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "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": "Specifies a direct reference to a site configuration object.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaSiteRefType",
          "required_fields": [
            "ref"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"ref\": [\n    {}\n  ]\n}",
          "example_yaml": "ref:\n- {}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Sites are platform-level infrastructure"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaVSiteRefType__ves_io_schema_bgp": {
        "type": "object",
        "description": "A reference to virtual_site object.",
        "title": "VSiteRefType",
        "x-displayname": "Virtual Site.",
        "x-ves-oneof-field-internet_vip_choice": "[\"disable_internet_vip\",\"enable_internet_vip\"]",
        "x-ves-proto-message": "ves.io.schema.VSiteRefType",
        "properties": {
          "disable_internet_vip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "enable_internet_vip"
            ]
          },
          "enable_internet_vip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "disable_internet_vip"
            ]
          },
          "network_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaVirtualNetworkType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "ref": {
            "type": "array",
            "description": "A virtual_site direct reference.",
            "title": "ref",
            "maxItems": 1,
            "items": {
              "$ref": "#/components/schemas/ioschemaObjectRefType"
            },
            "x-displayname": "Reference",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "1"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "1"
            },
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "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 schemaVSiteRefType",
          "required_fields": [
            "ref"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"ref\": [\n    {}\n  ]\n}",
          "example_yaml": "ref:\n- {}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "security",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaVirtualNetworkType": {
        "type": "string",
        "description": "Different types of virtual networks understood by the system\n\nVirtual-network of type VIRTUAL_NETWORK_SITE_LOCAL provides connectivity to public (outside) network.\nThis is an insecure network and is connected to public internet via NAT Gateways/firwalls\nVirtual-network of this type is local to every site. Two virtual networks of this type on different\nsites are neither related nor connected.\n\nConstraints:\nThere can be atmost one virtual network of this type in a given site.\nThis network type is supported on CE sites. This network is created automatically and present on all sites\nVirtual-network of type VIRTUAL_NETWORK_SITE_LOCAL_INSIDE is a private network inside site.\nIt is a secure network and is not connected to public network.\nVirtual-network of this type is local to every site. Two virtual networks of this type on different\nsites are neither related nor connected.\n\nConstraints:\nThere can be atmost one virtual network of this type in a given site.\nThis network type is supported on CE sites. This network is created during provisioning of site\nUser defined per-site virtual network. Scope of this virtual network is limited to the site.\nThis is not yet supported\nVirtual-network of type VIRTUAL_NETWORK_PUBLIC directly connects to the public internet.\nVirtual-network of this type is local to every site. Two virtual networks of this type on different sites are neither related nor connected.\n\nConstraints:\nThere can be atmost one virtual network of this type in a given site.\nThis network type is supported on RE sites only\nIt is an internally created by the system. They must not be created by user\nVirtual Networks with global scope across different sites in F5XC domain.\nAn example global virtual-network called \"AIN Network\" is created for every tenant.\nFor F5 Distributed Cloud fabric\n\nConstraints:\nIt is currently only supported as internally created by the system.\nVK8s service network for a given tenant. Used to advertise a virtual host only to vk8s pods for that tenant\nConstraints:\nIt is an internally created by the system. Must not be created by user\nVER internal network for the site. It can only be used for virtual hosts with SMA_PROXY type proxy\nConstraints:\nIt is an internally created by the system. Must not be created by user\nVirtual-network of type VIRTUAL_NETWORK_SITE_LOCAL_INSIDE_OUTSIDE represents both\nVIRTUAL_NETWORK_SITE_LOCAL and VIRTUAL_NETWORK_SITE_LOCAL_INSIDE\n\nConstraints:\nThis network type is only meaningful in an advertise policy\nWhen virtual-network of type VIRTUAL_NETWORK_IP_AUTO is selected for\nan endpoint, VER will try to determine the network based on the provided\nIP address\n\nConstraints:\nThis network type is only meaningful in an endpoint\n\nVoltADN Private Network is used on F5 Distributed Cloud RE(s) to connect to customer private networks\nThis network is created by opening a support ticket\n\nThis network is per site srv6 network\nVER IP Fabric network for the site.\nThis Virtual network type is used for exposing virtual host on IP Fabric network on the VER site or\nfor endpoint in IP Fabric network\nConstraints:\nIt is an internally created by the system. Must not be created by user\nNetwork internally created for a segment\nConstraints:\nIt is an internally created by the system. Must not be created by user\nVirtual-network of type VIRTUAL_NETWORK_MANAGEMENT is used for management purposes.",
        "title": "VirtualNetworkType",
        "enum": [
          "VIRTUAL_NETWORK_SITE_LOCAL",
          "VIRTUAL_NETWORK_SITE_LOCAL_INSIDE",
          "VIRTUAL_NETWORK_PER_SITE",
          "VIRTUAL_NETWORK_PUBLIC",
          "VIRTUAL_NETWORK_GLOBAL",
          "VIRTUAL_NETWORK_SITE_SERVICE",
          "VIRTUAL_NETWORK_VER_INTERNAL",
          "VIRTUAL_NETWORK_SITE_LOCAL_INSIDE_OUTSIDE",
          "VIRTUAL_NETWORK_IP_AUTO",
          "VIRTUAL_NETWORK_VOLTADN_PRIVATE_NETWORK",
          "VIRTUAL_NETWORK_SRV6_NETWORK",
          "VIRTUAL_NETWORK_IP_FABRIC",
          "VIRTUAL_NETWORK_SEGMENT",
          "VIRTUAL_NETWORK_MANAGEMENT"
        ],
        "default": "VIRTUAL_NETWORK_SITE_LOCAL",
        "x-displayname": "Virtual Network Type.",
        "x-ves-proto-enum": "ves.io.schema.VirtualNetworkType",
        "x-f5xc-description-short": "Different types of virtual networks understood by the system Virtual-network of type VIRTUAL_NETWORK_SITE_LOCAL provides connectivity to public...",
        "x-f5xc-description-medium": "Different types of virtual networks understood by the system Virtual-network of type VIRTUAL_NETWORK_SITE_LOCAL provides connectivity to public (outside) network. This is an insecure network and is connected to public internet via NAT Gateways/firwalls Virtual-network of this type is local to...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaVirtualNetworkType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"VIRTUAL_NETWORK_SITE_LOCAL\"",
          "example_yaml": "VIRTUAL_NETWORK_SITE_LOCAL\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": true
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Virtual network is platform-level infrastructure"
          },
          "classification": {
            "category": "networking",
            "multi_tenant_pattern": "none"
          }
        }
      }
    },
    "responses": {},
    "parameters": {},
    "requestBodies": {}
  }
}
