{
  "openapi": "3.0.3",
  "info": {
    "title": "Billing And Usage",
    "description": "Subscription lifecycle with plan transitions and billing states. Payment method hierarchies supporting primary and secondary configurations. Invoice generation with PDF downloads and custom listing. Resource quotas per namespace with limit definitions and consumption metrics. Contact types for billing notifications and tenant deletion workflows.",
    "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": "Subscription lifecycle with plan transitions and billing states. Payment method hierarchies supporting primary and secondary configurations. Invoice generation with PDF downloads and custom listing. Resource quotas per namespace with limit definitions and consumption metrics. Contact types for billing notifications and tenant deletion workflows.",
    "x-f5xc-summary": "Plan transitions, invoicing, and resource consumption. Namespace-level quota limits and usage tracking.",
    "x-f5xc-cli-domain": "billing_and_usage",
    "externalDocs": {
      "url": "https://docs.cloud.f5.com/docs/how-to/account-mgmt/billing",
      "description": "F5 XC Documentation - Billing and Usage"
    },
    "x-f5xc-api-reference-url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/billing_and_usage/",
    "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": "system",
        "alternatives": [],
        "rationale": "Quotas are platform-level limits"
      },
      "classification": {
        "category": "application",
        "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": "data"
    },
    {
      "name": "namespaces"
    },
    {
      "name": "web"
    }
  ],
  "paths": {
    "/api/data/namespaces/system/billing/usage_details": {
      "post": {
        "summary": "Telemetry Data Metrics.",
        "description": "GET the billing usage details for each feature over the specified duration.",
        "operationId": "ves.io.schema.billing.CustomPublicAPI.BillingUsageDetails",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/billingBillingUsageDetailsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/billingBillingUsageDetailsRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/billing_and_usage/"
        },
        "x-ves-proto-rpc": "ves.io.schema.billing.CustomPublicAPI.BillingUsageDetails",
        "tags": [
          "data"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Usage-detail resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "usage-detail"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "usage-detail"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Billing",
      "x-ves-proto-service": "ves.io.schema.billing.CustomPublicAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/data/namespaces/system/billing/usage_summary": {
      "post": {
        "summary": "Billing Usage Summary.",
        "description": "GET the aggregated billing usage data for each feature/SKU over the specified duration.",
        "operationId": "ves.io.schema.billing.CustomPublicAPI.BillingUsageSummary",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/billingBillingUsageSummaryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/billingBillingUsageSummaryRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/billing_and_usage/"
        },
        "x-ves-proto-rpc": "ves.io.schema.billing.CustomPublicAPI.BillingUsageSummary",
        "tags": [
          "data"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Usage-summary resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "usage-summary"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "usage-summary"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Billing",
      "x-ves-proto-service": "ves.io.schema.billing.CustomPublicAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/usage/invoice_pdf": {
      "get": {
        "summary": "GetInvoicePdf.",
        "description": "Retrieve pdf for a paid invoice by its name.",
        "operationId": "ves.io.schema.usage.invoice.CustomAPI.DownloadInvoicePdf",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoiceDownloadInvoicePdfRsp"
                }
              }
            }
          },
          "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 filter.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          },
          {
            "name": "name",
            "description": "Name of the invoice to be downloaded.",
            "in": "query",
            "required": false,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "invoice-1"
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/billing_and_usage/"
        },
        "x-ves-proto-rpc": "ves.io.schema.usage.invoice.CustomAPI.DownloadInvoicePdf",
        "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": "Invoice",
      "x-ves-proto-service": "ves.io.schema.usage.invoice.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/usage/invoices/custom_list": {
      "get": {
        "summary": "List invoices.",
        "description": "Endpoint to list customer invoices.",
        "operationId": "ves.io.schema.usage.invoice.CustomAPI.ListInvoices",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoiceListInvoicesRsp"
                }
              }
            }
          },
          "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 filter.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          },
          {
            "name": "limit",
            "description": "Maximum number of invoices to return. Invoices are sorted by their issue date.",
            "in": "query",
            "required": false,
            "x-displayname": "Limit",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-f5xc-example": "100"
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/billing_and_usage/"
        },
        "x-ves-proto-rpc": "ves.io.schema.usage.invoice.CustomAPI.ListInvoices",
        "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": "Invoice",
      "x-ves-proto-service": "ves.io.schema.usage.invoice.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/billing/payment_method/{name}/primary": {
      "post": {
        "summary": "Make credit card primary.",
        "description": "Flags a payment method as primary. Nothing changes is the payment method is already primary, if the payment method is secondary then it becomes default and there will be no secondary.",
        "operationId": "ves.io.schema.billing.payment_method.CustomAPI.MakePaymentMethodPrimary",
        "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\nThe namespace in which the payment method object is present.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          },
          {
            "name": "name",
            "description": "Name\nThe name of the payment method object to be made primary.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "payment-method-1"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/payment_methodPaymentMethodPrimaryReq"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/billing_and_usage/"
        },
        "x-ves-proto-rpc": "ves.io.schema.billing.payment_method.CustomAPI.MakePaymentMethodPrimary",
        "tags": [
          "web"
        ],
        "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": [
              "Primary resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "primary"
            ]
          },
          "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": [
            "primary"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Payment Method.",
      "x-ves-proto-service": "ves.io.schema.billing.payment_method.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/billing/payment_method/{name}/secondary": {
      "post": {
        "summary": "Make payment method secondary.",
        "description": "Flags a payment method as secondary. Nothing changes is the payment method is already secondary, if the payment method is primary then it becomes secondary and there will be no primary.",
        "operationId": "ves.io.schema.billing.payment_method.CustomAPI.MakePaymentMethodSecondary",
        "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\nThe namespace in which the payment method object is present.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          },
          {
            "name": "name",
            "description": "Name\nThe name of the payment method object to be made secondary.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "payment-method-1"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/payment_methodPaymentMethodSecondaryReq"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/billing_and_usage/"
        },
        "x-ves-proto-rpc": "ves.io.schema.billing.payment_method.CustomAPI.MakePaymentMethodSecondary",
        "tags": [
          "web"
        ],
        "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": [
              "Secondary resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "secondary"
            ]
          },
          "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": [
            "secondary"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Payment Method.",
      "x-ves-proto-service": "ves.io.schema.billing.payment_method.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/billing/payment_method/{name}/swap-primary": {
      "post": {
        "summary": "Make payment method secondary.",
        "description": "Swaps payment method roles - the payment method used as a parameter will became primary, any other will become secondary. The `name` parameter is ignored.",
        "operationId": "ves.io.schema.billing.payment_method.CustomAPI.SwapPaymentMethodRole",
        "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\nThe namespace in which the payment method object is present.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          },
          {
            "name": "name",
            "description": "Name\nThe name of the payment method object to be updated.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "payment-method-1"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/payment_methodPaymentMethodRoleSwapReq"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/billing_and_usage/"
        },
        "x-ves-proto-rpc": "ves.io.schema.billing.payment_method.CustomAPI.SwapPaymentMethodRole",
        "tags": [
          "web"
        ],
        "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": [
              "Swap-primary resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "swap-primary"
            ]
          },
          "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": [
            "swap-primary"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Payment Method.",
      "x-ves-proto-service": "ves.io.schema.billing.payment_method.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/billing/payment_methods": {
      "post": {
        "summary": "Create payment method specification.",
        "description": "Creates a new payment method with a specific role.",
        "operationId": "ves.io.schema.billing.payment_method.CustomAPI.Create",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payment_methodCreatePaymentMethodResponse"
                }
              }
            }
          },
          "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\nThis namespace specifies the namespace in which the payment method will be created.\nIf not provided, the default 'system' namespace will be used.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/payment_methodCreatePaymentMethodRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/billing_and_usage/"
        },
        "x-ves-proto-rpc": "ves.io.schema.billing.payment_method.CustomAPI.Create",
        "tags": [
          "web"
        ],
        "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": [
              "Payment-method resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "payment-method"
            ]
          },
          "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": [
            "payment-method"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Payment Method.",
      "x-ves-proto-service": "ves.io.schema.billing.payment_method.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/billing/payment_methods/{name}": {
      "delete": {
        "summary": "DELETE the specified payment method.",
        "description": "Remove the specified payment_method.",
        "operationId": "ves.io.schema.billing.payment_method.CustomAPI.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": "system"
          },
          {
            "name": "name",
            "description": "Name\nName of the payment method.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "payment-method-1"
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/billing_and_usage/"
        },
        "x-ves-proto-rpc": "ves.io.schema.billing.payment_method.CustomAPI.Delete",
        "tags": [
          "web"
        ],
        "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": [
              "payment-method",
              "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": [
            "payment-method",
            "contained_resources"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 500,
          "p95_ms": 1500,
          "p99_ms": 4000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Payment Method.",
      "x-ves-proto-service": "ves.io.schema.billing.payment_method.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/no_auth/namespaces/system/billing/plan_transition": {
      "get": {
        "summary": "GetPlanTransition.",
        "description": "API to GET plan transition details by a plan transition request uid returned from InitiatePlanTransition.\nFor now this one returns only current State.",
        "operationId": "ves.io.schema.billing.plan_transition.CustomAPI.GetPlanTransition",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/plan_transitionGetPlanTransitionRsp"
                }
              }
            }
          },
          "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": "id",
            "description": "ID of the plan transition request.",
            "in": "query",
            "required": false,
            "x-displayname": "ID",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "00000000-0000-4000-8000-4304c9d6d1ad"
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/billing_and_usage/"
        },
        "x-ves-proto-rpc": "ves.io.schema.billing.plan_transition.CustomAPI.GetPlanTransition",
        "tags": [
          "namespaces"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [],
          "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-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Plan transition CustomAPI.",
      "x-ves-proto-service": "ves.io.schema.billing.plan_transition.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/billing/plan_transition": {
      "post": {
        "summary": "InitiatePlanTransition.",
        "description": "API to create a plan transition request in db.",
        "operationId": "ves.io.schema.billing.plan_transition.CustomAPI.InitiatePlanTransition",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/plan_transitionInitiatePlanTransitionRsp"
                }
              }
            }
          },
          "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\nThis namespace is not used, all requests are stored under system namespace.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/plan_transitionInitiatePlanTransitionReq"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/billing_and_usage/"
        },
        "x-ves-proto-rpc": "ves.io.schema.billing.plan_transition.CustomAPI.InitiatePlanTransition",
        "tags": [
          "web"
        ],
        "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": [
              "Plan-transition resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "plan-transition"
            ]
          },
          "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": [
            "plan-transition"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Plan transition CustomAPI.",
      "x-ves-proto-service": "ves.io.schema.billing.plan_transition.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/{metadata.namespace}/quotas": {
      "post": {
        "summary": "Create Quota.",
        "description": "Create quota creates a given object from storage backend for metadata.namespace.",
        "operationId": "ves.io.schema.quota.API.Create",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/quotaCreateResponse"
                }
              }
            }
          },
          "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/quotaCreateRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/billing_and_usage/"
        },
        "x-ves-proto-rpc": "ves.io.schema.quota.API.Create",
        "tags": [
          "web"
        ],
        "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": [
              "Quota resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "quota"
            ]
          },
          "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": [
            "quota"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Quota",
      "x-ves-proto-service": "ves.io.schema.quota.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/web/namespaces/{metadata.namespace}/quotas/{metadata.name}": {
      "put": {
        "summary": "Replace Quota.",
        "description": "Replace quota updates a given object from storage backend for metadata.namespace.",
        "operationId": "ves.io.schema.quota.API.Replace",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/quotaReplaceResponse"
                }
              }
            }
          },
          "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/quotaReplaceRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/billing_and_usage/"
        },
        "x-ves-proto-rpc": "ves.io.schema.quota.API.Replace",
        "tags": [
          "web"
        ],
        "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": [
              "quota"
            ]
          },
          "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": [
            "quota"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 800,
          "p95_ms": 2500,
          "p99_ms": 6000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Quota",
      "x-ves-proto-service": "ves.io.schema.quota.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/quota/limits": {
      "get": {
        "summary": "Custom GET Quota Limits.",
        "description": "Custom endpoint to return quota limits.",
        "operationId": "ves.io.schema.quota.CustomAPI.CustomGetQuotaLimits",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/quotaGetQuotaLimitsResponse"
                }
              }
            }
          },
          "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 this item belongs to.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "value"
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/billing_and_usage/"
        },
        "x-ves-proto-rpc": "ves.io.schema.quota.CustomAPI.CustomGetQuotaLimits",
        "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": "Quota",
      "x-ves-proto-service": "ves.io.schema.quota.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/quota/usage": {
      "get": {
        "summary": "GET Quota Usage.",
        "description": "GET allows users to query limits and current usage of resources.",
        "operationId": "ves.io.schema.quota.CustomAPI.GetQuotaUsage",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/quotaGetResponseType"
                }
              }
            }
          },
          "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 tenant this item belongs to.",
            "in": "path",
            "required": true,
            "x-displayname": "Tenant",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "value"
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/billing_and_usage/"
        },
        "x-ves-proto-rpc": "ves.io.schema.quota.CustomAPI.GetQuotaUsage",
        "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": "Quota",
      "x-ves-proto-service": "ves.io.schema.quota.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/quotas": {
      "get": {
        "summary": "List Quota.",
        "description": "List the set of quota in a namespace.",
        "operationId": "ves.io.schema.quota.API.List",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/quotaListResponse"
                }
              }
            }
          },
          "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 quota.",
            "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/billing_and_usage/"
        },
        "x-ves-proto-rpc": "ves.io.schema.quota.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": "Quota",
      "x-ves-proto-service": "ves.io.schema.quota.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/quotas/{name}": {
      "get": {
        "summary": "GET Quota",
        "description": "GET quota reads a given object from storage backend for metadata.namespace.",
        "operationId": "ves.io.schema.quota.API.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/quotaGetResponse"
                }
              }
            }
          },
          "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/billing_and_usage/"
        },
        "x-ves-proto-rpc": "ves.io.schema.quota.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"
        }
      },
      "delete": {
        "summary": "DELETE Quota.",
        "description": "DELETE the specified quota.",
        "operationId": "ves.io.schema.quota.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/quotaDeleteRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/billing_and_usage/"
        },
        "x-ves-proto-rpc": "ves.io.schema.quota.API.Delete",
        "tags": [
          "web"
        ],
        "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": [
              "quota",
              "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": [
            "quota",
            "contained_resources"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 500,
          "p95_ms": 1500,
          "p99_ms": 4000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Quota",
      "x-ves-proto-service": "ves.io.schema.quota.API",
      "x-ves-proto-service-type": "AUTO_CRUD_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/subscriptions/custom_list": {
      "get": {
        "summary": "List Subscriptions.",
        "description": "Endpoint to list subscriptions.",
        "operationId": "ves.io.schema.usage.subscription.CustomAPI.ListSubscriptions",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscriptionListSubscriptionsRsp"
                }
              }
            }
          },
          "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 filter.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          },
          {
            "name": "current",
            "description": "Filter out inactive subscriptions.",
            "in": "query",
            "required": false,
            "x-displayname": "Current",
            "schema": {
              "type": "boolean",
              "format": "boolean"
            }
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/billing_and_usage/"
        },
        "x-ves-proto-rpc": "ves.io.schema.usage.subscription.CustomAPI.ListSubscriptions",
        "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": "Subscription.",
      "x-ves-proto-service": "ves.io.schema.usage.subscription.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/system/addon/subscribe": {
      "post": {
        "summary": "Subscribe to XC addon services.",
        "description": "Subscribe to XC addon services.",
        "operationId": "ves.io.schema.subscription.CustomAPI.Subscribe",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscriptionSubscribeResponse__ves_io_schema_subscription"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/subscriptionSubscribeRequest__ves_io_schema_subscription"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/billing_and_usage/"
        },
        "x-ves-proto-rpc": "ves.io.schema.subscription.CustomAPI.Subscribe",
        "tags": [
          "web"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Subscribe resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "subscribe"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "subscribe"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Subscription API.",
      "x-ves-proto-service": "ves.io.schema.subscription.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/system/addon/unsubscribe": {
      "post": {
        "summary": "Unsubscribe to XC addon services.",
        "description": "Unsubscribe to XC addon services.",
        "operationId": "ves.io.schema.subscription.CustomAPI.Unsubscribe",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscriptionUnsubscribeResponse__ves_io_schema_subscription"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/subscriptionUnsubscribeRequest__ves_io_schema_subscription"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/billing_and_usage/"
        },
        "x-ves-proto-rpc": "ves.io.schema.subscription.CustomAPI.Unsubscribe",
        "tags": [
          "web"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource creation operation",
          "required_fields": [
            "metadata.name",
            "metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Unsubscribe resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "unsubscribe"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "unsubscribe"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Subscription API.",
      "x-ves-proto-service": "ves.io.schema.subscription.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/current_usage": {
      "post": {
        "summary": "List current usage details.",
        "description": "List current usage details per tenant and namespace. Some usage have only sense in the system namespace and this selector has no effect on it.",
        "operationId": "ves.io.schema.usage.CustomCalculatedUsageAPI.ListCurrentUsage",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/usageListCurrentUsageResp"
                }
              }
            }
          },
          "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 be considered.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/usageListCurrentUsageReq"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/billing_and_usage/"
        },
        "x-ves-proto-rpc": "ves.io.schema.usage.CustomCalculatedUsageAPI.ListCurrentUsage",
        "tags": [
          "web"
        ],
        "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": [
              "Current-usage resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "current-usage"
            ]
          },
          "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": [
            "current-usage"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Usage",
      "x-ves-proto-service": "ves.io.schema.usage.CustomCalculatedUsageAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/hourly_usage_details": {
      "post": {
        "summary": "List hourly usage details.",
        "description": "List the usage divided by hour. The usage is hourly aggregated, from the start of UTC hour\nto the end of UTC hour. It is used to see the detailed breakdown of the usage received from ListUsageDetails.",
        "operationId": "ves.io.schema.usage.CustomAggregatedUsageAPI.ListHourlyUsageDetails",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/usageListHourlyUsageDetailsResp"
                }
              }
            }
          },
          "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": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/usageListHourlyUsageDetailsReq"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/billing_and_usage/"
        },
        "x-ves-proto-rpc": "ves.io.schema.usage.CustomAggregatedUsageAPI.ListHourlyUsageDetails",
        "tags": [
          "web"
        ],
        "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": [
              "Hourly-usage-detail resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "hourly-usage-detail"
            ]
          },
          "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": [
            "hourly-usage-detail"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Usage",
      "x-ves-proto-service": "ves.io.schema.usage.CustomAggregatedUsageAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/monthly_usage": {
      "post": {
        "summary": "List monthly usage details.",
        "description": "List monthly usage details per tenant and namespace. Some usage have only sense in the system namespace and this selector has no effect on it.",
        "operationId": "ves.io.schema.usage.CustomCalculatedUsageAPI.ListMonthlyUsage",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/usageListMonthlyUsageResp"
                }
              }
            }
          },
          "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 be considered.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/usageListMonthlyUsageReq"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/billing_and_usage/"
        },
        "x-ves-proto-rpc": "ves.io.schema.usage.CustomCalculatedUsageAPI.ListMonthlyUsage",
        "tags": [
          "web"
        ],
        "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": [
              "Monthly-usage resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "monthly-usage"
            ]
          },
          "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": [
            "monthly-usage"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Usage",
      "x-ves-proto-service": "ves.io.schema.usage.CustomCalculatedUsageAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/usage_details": {
      "post": {
        "summary": "List usage details.",
        "description": "List usage details per tenant and namespace. Some usage have only sense in the system namespace and this selector has no effect on it.",
        "operationId": "ves.io.schema.usage.CustomAggregatedUsageAPI.ListUsageDetails",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/usageListUsageDetailsResp"
                }
              }
            }
          },
          "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 be considered.",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/usageListUsageDetailsReq"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/billing_and_usage/"
        },
        "x-ves-proto-rpc": "ves.io.schema.usage.CustomAggregatedUsageAPI.ListUsageDetails",
        "tags": [
          "web"
        ],
        "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": [
              "Usage-detail resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "usage-detail"
            ]
          },
          "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": [
            "usage-detail"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Usage",
      "x-ves-proto-service": "ves.io.schema.usage.CustomAggregatedUsageAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/system/usage_plans/current": {
      "get": {
        "summary": "GET current usage plan.",
        "description": "Endpoint to GET current usage plan.",
        "operationId": "ves.io.schema.usage.plan.CustomAPI.GetCurrentPlan",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/planLocalizedPlan"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/billing_and_usage/"
        },
        "x-ves-proto-rpc": "ves.io.schema.usage.plan.CustomAPI.GetCurrentPlan",
        "tags": [
          "web"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [],
          "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-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Usage plan.",
      "x-ves-proto-service": "ves.io.schema.usage.plan.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/system/usage_plans/custom_list": {
      "get": {
        "summary": "List Usage Plans.",
        "description": "Endpoint to GET usage plans.",
        "operationId": "ves.io.schema.usage.plan.CustomAPI.ListUsagePlans",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/planListUsagePlansRsp"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/billing_and_usage/"
        },
        "x-ves-proto-rpc": "ves.io.schema.usage.plan.CustomAPI.ListUsagePlans",
        "tags": [
          "web"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Resource retrieval operation",
          "required_fields": [],
          "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-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "Usage plan.",
      "x-ves-proto-service": "ves.io.schema.usage.plan.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    }
  },
  "components": {
    "securitySchemes": {
      "ApiToken": {
        "type": "apiKey",
        "name": "Authorization",
        "in": "header",
        "description": "API Token authentication. Format: 'APIToken <your-token>'"
      },
      "apiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "Authorization",
        "description": "F5 XC API Token (format: APIToken <token>)"
      }
    },
    "schemas": {
      "billingBillingMetricData": {
        "type": "object",
        "description": "Billing Metric Data represents billing metric metadata like unit as well as converted metric value.",
        "title": "Billing Metric Data",
        "x-displayname": "Billing Metric Data.",
        "x-ves-proto-message": "ves.io.schema.billing.BillingMetricData",
        "properties": {
          "unit": {
            "type": "string",
            "description": "Configuration parameter for unit",
            "title": "Unit",
            "x-displayname": "Unit",
            "x-ves-example": "VIPs",
            "x-f5xc-example": "VIPs",
            "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": "Value is derived using division_factor. For eg. If the metric usage is\n20 hours over a time duration of 1 day/24h, then division_factor will be 24 hrs,\nso the billing metric value can be calculated it by dividing the usage value by\nthis factor: 20/24 = 0.83 or if the division_factor is static like 1e12 like in\ncase of bytes, then billing metric value is 100/1e12 (assuming that raw usage is\n100 bytes and billing unit is in TB)",
            "title": "Value",
            "x-displayname": "Value",
            "x-ves-example": "0.83",
            "x-f5xc-example": "0.83",
            "x-f5xc-description-short": "Value is derived using division_factor. For eg.",
            "x-f5xc-description-medium": "Value is derived using division_factor. For eg. If the metric usage is 20 hours over a time duration of 1 day/24h, then division_factor will be 24 hrs, so the billing metric value can be calculated it by dividing the usage value by this factor: 20/24 = 0.83 or if the division_factor is static...",
            "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"
          }
        },
        "x-f5xc-description-short": "Billing Metric Data represents billing metric metadata like unit as well as converted metric value.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for billingBillingMetricData",
          "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": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "billingBillingUsageDetailsRequest": {
        "type": "object",
        "description": "Request to GET billing usage details for the given tenant.",
        "title": "Billing Usage Details Request",
        "x-displayname": "Billing Usage Details Request.",
        "x-ves-proto-message": "ves.io.schema.billing.BillingUsageDetailsRequest",
        "properties": {
          "end_time": {
            "type": "string",
            "description": "End time of metric collection from which data will be considered to build graph.\nFormat: unix_timestamp|RFC 3339\n\nOptional: If not specified, then the end_time will be evaluated to start_time+1h\nIf start_time is not specified, then the end_time will be evaluated to <current time>",
            "title": "End time",
            "x-displayname": "End Time",
            "x-ves-example": "1570197600.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-example": "1570197600",
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-description-short": "End time of metric collection from which data will be considered to build graph.",
            "x-f5xc-description-medium": "End time of metric collection from which data will be considered to build graph. Format: unix_timestamp|RFC 3339 Optional: If not specified, then the end_time will be evaluated to start_time+1h If start_time is not specified, then the end_time will be evaluated to <current time>.",
            "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
            }
          },
          "filters": {
            "type": "array",
            "description": "List of usage_type queries and the corresponding object/namespace filters.",
            "title": "Name",
            "items": {
              "$ref": "#/components/schemas/billingUsageDataFilter"
            },
            "x-displayname": "Usage Data Filter.",
            "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 usage_type queries and the corresponding object/namespace filters.",
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "start_time": {
            "type": "string",
            "description": "Start time of metric collection from which data will be considered to build graph.\nFormat: unix_timestamp|RFC 3339\n\nOptional: If not specified, then the start_time will be evaluated to end_time-1h\nIf end_time is not specified, then the start_time will be evaluated to <current time>-1h.",
            "title": "Start time",
            "x-displayname": "Start Time.",
            "x-ves-example": "1570194000.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-example": "1570194000",
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-description-short": "Start time of metric collection from which data will be considered to build graph.",
            "x-f5xc-description-medium": "Start time of metric collection from which data will be considered to build graph. Format: unix_timestamp|RFC 3339 Optional: If not specified, then the start_time will be evaluated to end_time-1h If end_time is not specified, then the start_time will be evaluated to <current time>-1h.",
            "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
            }
          },
          "step": {
            "type": "string",
            "description": "Step is the resolution width, which determines the number of the data points [x-axis (time)] to be returned in the response.\nThe timestamps in the response will be t1=start_time, t2=t1+step, ... Tn=tn-1+step, where tn <= end_time.\nFormat: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days\n\nOptional: If not specified, then step size is evaluated to <end_time - start_time>",
            "title": "Step",
            "x-displayname": "Step",
            "x-ves-example": "5m",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_step": "true"
            },
            "x-f5xc-example": "5m",
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_step": "true"
            },
            "x-f5xc-description-short": "Step is the resolution width, which determines the number of the data points [x-axis (time)] to be returned in the response.",
            "x-f5xc-description-medium": "Step is the resolution width, which determines the number of the data points [x-axis (time)] to be returned in the response. The timestamps in the response will be t1=start_time, t2=t1+step, ... Tn=tn-1+step, where tn <= end_time.",
            "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": "Request to GET billing usage details for the given tenant.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for billingBillingUsageDetailsRequest",
          "required_fields": [
            "filters"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"filters\": [\n    {}\n  ]\n}",
          "example_yaml": "filters:\n- {}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "billingBillingUsageDetailsResponse": {
        "type": "object",
        "description": "Billing Usage Response.",
        "title": "Billing Usage Response",
        "x-displayname": "Billing Usage Response.",
        "x-ves-proto-message": "ves.io.schema.billing.BillingUsageDetailsResponse",
        "properties": {
          "step": {
            "type": "string",
            "description": "Actual step size used in the response. It could be higher than the requested step due to metric rollups and the query duration.\nFormat: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days.",
            "title": "step",
            "x-displayname": "Step",
            "x-ves-example": "30m",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.time_interval": "true"
            },
            "x-f5xc-example": "30m",
            "x-validation-rules": {
              "ves.io.schema.rules.string.time_interval": "true"
            },
            "x-f5xc-description-short": "Actual step size used in the response. It could be higher than the requested step due to metric rollups and the query duration.",
            "x-f5xc-description-medium": "Actual step size used in the response. It could be higher than the requested step due to metric rollups and the query duration. Format: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days.",
            "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
            }
          },
          "usage_data": {
            "type": "array",
            "description": "Data contains time-series data for the billing usage.",
            "title": "Telemetry Data",
            "items": {
              "$ref": "#/components/schemas/billingUsageData"
            },
            "x-displayname": "Telemetry Data.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Data contains time-series data for the billing usage.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for billingBillingUsageDetailsResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "billingBillingUsageSummaryRequest": {
        "type": "object",
        "description": "Time interval to GET the billing usage summary.",
        "title": "Billing Usage Summary Request",
        "x-displayname": "Billing Usage Summary Request.",
        "x-ves-proto-message": "ves.io.schema.billing.BillingUsageSummaryRequest",
        "properties": {
          "end_time": {
            "type": "string",
            "description": "Fetch alerts whose timestamp <= end_time\nformat: unix_timestamp|RFC 3339\n\nOptional: If not specified, then the end_time will be evaluated to start_time + 6 hours\nIf start_time is not specified, then the end_time will be evaluated to <current time>",
            "title": "end_time",
            "x-displayname": "End Time",
            "x-ves-example": "2019-09-24T12:30:11.733Z.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-example": "2019-09-24T12:30:11.733Z",
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-description-short": "Fetch alerts whose timestamp <= end_time format: unix_timestamp|RFC 3339 Optional: If not specified, then the end_time will be evaluated to...",
            "x-f5xc-description-medium": "Fetch alerts whose timestamp <= end_time format: unix_timestamp|RFC 3339 Optional: If not specified, then the end_time will be evaluated to start_time + 6 hours If start_time is not specified, then the end_time will be evaluated to <current time>.",
            "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
            }
          },
          "start_time": {
            "type": "string",
            "description": "Fetch billing usage summary for timestamp >= start_time\nformat: unix_timestamp|RFC 3339\n\nOptional: If not specified, then the start_time will be evaluated to end_time - 6 hours\nIf end_time is not specified, then the start_time will be evaluated to <current time> - 6 hours.",
            "title": "start_time",
            "x-displayname": "Start Time.",
            "x-ves-example": "2019-09-23T12:30:11.733Z.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-example": "2019-09-23T12:30:11.733Z",
            "x-validation-rules": {
              "ves.io.schema.rules.string.query_time": "true"
            },
            "x-f5xc-description-short": "Fetch billing usage summary for timestamp >= start_time format: unix_timestamp|RFC 3339 Optional: If not specified, then the start_time will be...",
            "x-f5xc-description-medium": "Fetch billing usage summary for timestamp >= start_time format: unix_timestamp|RFC 3339 Optional: If not specified, then the start_time will be evaluated to end_time - 6 hours If end_time is not specified, then the start_time will be evaluated to <current time> - 6 hours.",
            "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": "Time interval to GET the billing usage summary.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for billingBillingUsageSummaryRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "billingBillingUsageSummaryResponse": {
        "type": "object",
        "description": "Contains list of usage summary items.",
        "title": "Billing Usage Summary Response",
        "x-displayname": "Billing Usage Summary Response.",
        "x-ves-proto-message": "ves.io.schema.billing.BillingUsageSummaryResponse",
        "properties": {
          "usage_summary_items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/billingUsageSummaryItem"
            },
            "description": "Configuration parameter for usage summary items",
            "x-f5xc-description-short": "Configuration parameter for usage summary items.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for billingBillingUsageSummaryResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "billingLabelFilter": {
        "type": "object",
        "description": "X-example: {\"label\":LABEL_OBJECT_NAME,\"op\":EQ,\"value\":\"CE-01\"}\nMetrics used in the billing usage are tagged with labels listed in the enum Label.\nLabel Filter is used to filter the timeseries that match the specified label key/value\nand the operator.",
        "title": "Label Filter",
        "x-displayname": "Label Filter.",
        "x-ves-proto-message": "ves.io.schema.billing.LabelFilter",
        "properties": {
          "label": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemabillingLabel"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "op": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaMetricLabelOp"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "value": {
            "type": "string",
            "description": "Value of the label.",
            "title": "Value",
            "x-displayname": "Value",
            "x-ves-example": "Ce01",
            "x-f5xc-example": "ce01",
            "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"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for billingLabelFilter",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "label",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "billingUsageData": {
        "type": "object",
        "description": "Usage data contains the usage type and the corresponding metric values.",
        "title": "Usage Data",
        "x-displayname": "Usage Data.",
        "x-ves-proto-message": "ves.io.schema.billing.UsageData",
        "properties": {
          "metric_values": {
            "type": "array",
            "description": "List of metric values.",
            "title": "Value",
            "items": {
              "$ref": "#/components/schemas/ioschemaMetricValue"
            },
            "x-displayname": "Value",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "title": "x-displayName: \"Name\"\nx-example: \"RE – Container – Large (1 vCPU) – Count\"",
            "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])?$"
          },
          "namespace": {
            "type": "string",
            "description": "Name of the data field.",
            "title": "x-displayName: \"Namespace\"\nx-example: \"{system, default\"}\"\nName of the data field",
            "x-displayname": "Namespace",
            "x-ves-example": "{system, default\"}",
            "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])?$"
          },
          "obj_name": {
            "type": "string",
            "description": "Name of the data field.",
            "title": "x-displayName: \"Object Name\"\nx-example: \"{site-1, vh-1\"}\"\nName of the data field",
            "x-displayname": "Object Name.",
            "x-ves-example": "{site-1, vh-1\"}",
            "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
            }
          },
          "unit": {
            "type": "string",
            "description": "Name of the quantity unit.",
            "title": "Unit",
            "x-displayname": "Unit",
            "x-ves-example": "MB",
            "x-f5xc-example": "MB",
            "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
            }
          },
          "usage_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemabillingUsageType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Usage data contains the usage type and the corresponding metric values.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for billingUsageData",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "billingUsageDataFilter": {
        "type": "object",
        "description": "Usage Data Filter represents the usage type query and the corresponding filters\nlike object, namespace.",
        "title": "Usage Data Filter",
        "x-displayname": "Usage Data Filter.",
        "x-ves-proto-message": "ves.io.schema.billing.UsageDataFilter",
        "properties": {
          "label_filters": {
            "type": "array",
            "description": "List of label filter expressions of the form \"label key\" QueryOp \"value\" related to the usage_type.\nResponse will only contain data that matches all the conditions specified in the label_filter. Filters\ncorresponding to objects with default names like \"CE Mesh Node - Medium\" will be ignored.\n\nOptional: If not specified, glr status data for all global log receiver objects will be returned in the response.",
            "title": "label_filter",
            "maxItems": 100,
            "items": {
              "$ref": "#/components/schemas/billingLabelFilter"
            },
            "x-displayname": "Label Filter.",
            "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-description-short": "List of label filter expressions of the form \"label key\" QueryOp \"value\" related to the usage_type.",
            "x-f5xc-description-medium": "List of label filter expressions of the form \"label key\" QueryOp \"value\" related to the usage_type. Response will only contain data that matches all the conditions specified in the label_filter. Filters corresponding to objects with default names like \"CE Mesh Node - Medium\" will be ignored.",
            "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
            }
          },
          "usage_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemabillingUsageType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Usage Data Filter represents the usage type query and the corresponding filters like object, namespace.",
        "x-f5xc-description-medium": "Usage Data Filter represents the usage type query and the corresponding filters like object, namespace.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for billingUsageDataFilter",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "billingUsageMetricData": {
        "type": "object",
        "description": "Usage Metric Data represents usage metric metadata like unit and the corresponding actual metric value consumption.",
        "title": "Usage Metric Data",
        "x-displayname": "Usage Metric Data.",
        "x-ves-proto-message": "ves.io.schema.billing.UsageMetricData",
        "properties": {
          "metric_value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ioschemaMetricValue"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for metric value.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "unit": {
            "type": "string",
            "description": "Configuration parameter for unit",
            "title": "Unit",
            "x-displayname": "Unit",
            "x-ves-example": "Hour",
            "x-f5xc-example": "hour",
            "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": "Usage Metric Data represents usage metric metadata like unit and the corresponding actual metric value consumption.",
        "x-f5xc-description-medium": "Usage Metric Data represents usage metric metadata like unit and the corresponding actual metric value consumption.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for billingUsageMetricData",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "billingUsageSummaryItem": {
        "type": "object",
        "description": "Usage Summary Item represents the usage details for a usage type like Public Load Balancers,\nfor a given service like App Stack.",
        "title": "Usage Summary Item",
        "x-displayname": "Usage Summary Item.",
        "x-ves-proto-message": "ves.io.schema.billing.UsageSummaryItem",
        "properties": {
          "billing_metric_data": {
            "allOf": [
              {
                "$ref": "#/components/schemas/billingBillingMetricData"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Human-readable name for the resource",
            "title": "Name",
            "x-displayname": "Name",
            "x-ves-example": "Anycast Public Virtual IP.",
            "x-f5xc-example": "Anycast Public Virtual IP",
            "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])?$"
          },
          "service": {
            "type": "string",
            "description": "Service to which the usage summary item is associated.",
            "title": "Service",
            "x-displayname": "Service",
            "x-ves-example": "F5xc-securemesh-advanced.",
            "x-f5xc-example": "f5xc-securemesh-advanced",
            "x-f5xc-description-short": "Service to which the usage summary item is associated.",
            "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
            }
          },
          "usage_metric_data": {
            "allOf": [
              {
                "$ref": "#/components/schemas/billingUsageMetricData"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "usage_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemabillingUsageType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Usage Summary Item represents the usage details for a usage type like Public Load Balancers, for a given service like App Stack.",
        "x-f5xc-description-medium": "Usage Summary Item represents the usage details for a usage type like Public Load Balancers, for a given service like App Stack.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for billingUsageSummaryItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "ioschemaMetricLabelOp": {
        "type": "string",
        "description": "The operator to use when filtering metrics based on label values.",
        "title": "Metric Label Operator",
        "enum": [
          "EQ",
          "NEQ"
        ],
        "default": "EQ",
        "x-displayname": "Metric Label Operator.",
        "x-ves-proto-enum": "ves.io.schema.MetricLabelOp",
        "x-f5xc-description-short": "The operator to use when filtering metrics based on label values.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for ioschemaMetricLabelOp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"EQ\"",
          "example_yaml": "EQ\n..."
        },
        "x-f5xc-cli-domain": "label",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "ioschemaMetricValue": {
        "type": "object",
        "description": "Metric data contains timestamp and the value.",
        "title": "Metric Value",
        "x-displayname": "Metric Value.",
        "x-ves-proto-message": "ves.io.schema.MetricValue",
        "properties": {
          "timestamp": {
            "type": "number",
            "description": "Timestamp",
            "title": "Timestamp",
            "format": "double",
            "x-displayname": "Timestamp",
            "x-ves-example": "1570007981.",
            "x-f5xc-example": "1570007981",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "trend_value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaTrendValue"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for trend value.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "value": {
            "type": "string",
            "description": "Configuration parameter for value",
            "title": "Value",
            "x-displayname": "Value",
            "x-ves-example": "15",
            "x-f5xc-example": "15",
            "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"
          }
        },
        "x-f5xc-description-short": "Metric data contains timestamp and the value.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for ioschemaMetricValue",
          "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": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaTrendSentiment": {
        "type": "string",
        "description": "Trend sentiment\n\nIndicates trend sentiment is positive\nIndicates trend sentiment is negative.",
        "title": "Trend Sentiment",
        "enum": [
          "TREND_SENTIMENT_NONE",
          "TREND_SENTIMENT_POSITIVE",
          "TREND_SENTIMENT_NEGATIVE"
        ],
        "default": "TREND_SENTIMENT_NONE",
        "x-displayname": "Trend Sentiment.",
        "x-ves-proto-enum": "ves.io.schema.TrendSentiment",
        "x-f5xc-description-short": "Trend sentiment Indicates trend sentiment is positive Indicates trend sentiment is negative.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaTrendSentiment",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"TREND_SENTIMENT_NONE\"",
          "example_yaml": "TREND_SENTIMENT_NONE\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaTrendValue": {
        "type": "object",
        "description": "Trend value contains trend value, trend sentiment and trend calculation description and window size.",
        "title": "Trend Value",
        "x-displayname": "Trend Value.",
        "x-ves-proto-message": "ves.io.schema.TrendValue",
        "properties": {
          "description": {
            "type": "string",
            "description": "Description of the method used to calculate trend.",
            "title": "Description",
            "x-displayname": "Description.",
            "x-ves-example": "Trend was calculated by comparing the avg of window size intervals of end-start Time and last window time interval.",
            "x-f5xc-example": "Trend was calculated by comparing the avg of window size intervals of end-start Time and last window time interval",
            "x-f5xc-description-short": "Description of the method used to calculate trend.",
            "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"
          },
          "previous_value": {
            "type": "string",
            "description": "Configuration parameter for previous value",
            "title": "Previous Value",
            "x-displayname": "Previous Value.",
            "x-ves-example": "200.00",
            "x-f5xc-example": "200.00",
            "x-f5xc-description-short": "Configuration parameter for previous 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
            }
          },
          "sentiment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaTrendSentiment"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "value": {
            "type": "string",
            "description": "Configuration parameter for value",
            "title": "Value",
            "x-displayname": "Value",
            "x-ves-example": "-15",
            "x-f5xc-example": "-15",
            "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"
          }
        },
        "x-f5xc-description-short": "Trend value contains trend value, trend sentiment and trend calculation description and window size.",
        "x-f5xc-description-medium": "Trend value contains trend value, trend sentiment and trend calculation description and window size.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaTrendValue",
          "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": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemabillingLabel": {
        "type": "string",
        "description": "Metrics used to construct the billing usage are tagged with these labels and therefore\nthe metrics can be sliced and diced based on one or more labels.\n\nIndicates the field not being set\nIdentifies a object\nIdentifies a namespace.",
        "title": "Label",
        "enum": [
          "LABEL_NONE",
          "LABEL_OBJECT_NAME",
          "LABEL_NAMESPACE"
        ],
        "default": "LABEL_NONE",
        "x-displayname": "Label",
        "x-ves-proto-enum": "ves.io.schema.billing.Label",
        "x-f5xc-description-short": "Metrics used to construct the billing usage are tagged with these labels and therefore the metrics can be sliced and diced based on one or more...",
        "x-f5xc-description-medium": "Metrics used to construct the billing usage are tagged with these labels and therefore the metrics can be sliced and diced based on one or more labels. Indicates the field not being set Identifies a object Identifies a namespace.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemabillingLabel",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"LABEL_NONE\"",
          "example_yaml": "LABEL_NONE\n..."
        },
        "x-f5xc-cli-domain": "label",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemabillingUsageType": {
        "type": "string",
        "description": "List of usage type\n\nTenant Info\nRE Container Flavor Large Usage\nRE Container Flavor Medium Usage\nRE Container Flavor Tiny Usage\nPublic IP Usage\nCE Mesh Node Small Usage\nCE Mesh Node Medium Usage\nCE Mesh Node Large Usage\nCE Stack Node Small Usage\nCE Stack Node Medium Usage\nCE Stack Node Large Usage\nDNS LoadBalancer Usage\nDNS LoadBalancer Healthcheck Usage\nDNS Zone Usage\nCE to RE traffic usage\nRE API sec good requests\nCE API sec good requests\nSynthetic monitor invocations usage\nPublic LoadBalancer usage\nRE app fw usage\nCE app fw usage\nTenant plan usage\nTenant logins count\nAPI Discovery LoadBalancer usage\nAPI protection good requests\nTenant object usage\nFast ACL IP prefix usage\nGood requests to origin usage\nTenant add on service info\nClient side defense transactions\nRE WAF requests\nLMA region usage\nGLR sent logs\nGLR sent log bytes\nRE rate limiting good requests\nPublic RE CDN data transfer usage North America\nPublic RE CDN data transfer usage Europe\nPublic RE CDN data transfer usage Asia\nPublic RE CDN data transfer usage South America\nPublic RE CDN request usage North America\nPublic RE CDN request usage Europe\nPublic RE CDN request usage Asia\nPublic RE CDN request usage South America\nDNSSEC Zone Usage\nAdvanced DNS LoadBalancer Usage\nDNS LoadBalancer CNAME pool health check usage\nDNS LoadBalancer CNAME pool priority algorithm usage.",
        "title": "UsageType",
        "enum": [
          "TENANT_INFO",
          "RE_CONTAINER_FLAVOR_LARGE_USAGE",
          "RE_CONTAINER_FLAVOR_MEDIUM_USAGE",
          "RE_CONTAINER_FLAVOR_TINY_USAGE",
          "PUBLIC_IP_USAGE",
          "CE_MESH_NODE_SMALL_USAGE",
          "CE_MESH_NODE_MEDIUM_USAGE",
          "CE_MESH_NODE_LARGE_USAGE",
          "CE_STACK_NODE_SMALL_USAGE",
          "CE_STACK_NODE_MEDIUM_USAGE",
          "CE_STACK_NODE_LARGE_USAGE",
          "DNS_LOAD_BALANCER_USAGE",
          "DNS_LOAD_BALANCER_HEALTHCHECK_USAGE",
          "DNS_ZONE_USAGE",
          "CE_TO_RE_TRAFFIC_USAGE",
          "RE_API_SEC_GOOD_REQUESTS",
          "CE_API_SEC_GOOD_REQUESTS",
          "SYNTHETIC_MONITOR_INVOCATIONS_USAGE",
          "PUBLIC_LOAD_BALANCER_USAGE",
          "RE_APP_FW_USAGE",
          "CE_APP_FW_USAGE",
          "TENANT_PLAN_USAGE",
          "TENANT_LOGINS_COUNT",
          "API_DISCOVERY_LOAD_BALANCER_USAGE",
          "API_PROTECTIONS_GOOD_REQUESTS",
          "TENANT_OBJECT_USAGE",
          "FAST_ACL_IP_PREFIX_USAGE",
          "GOOD_REQUESTS_TO_ORIGIN_USAGE",
          "TENANT_ADDON_SERVICE_INFO",
          "CLIENT_SIDE_DEFENSE_TRANSACTIONS",
          "RE_WAF_REQUESTS",
          "LMA_REGION_USAGE",
          "GLR_SENT_LOGS",
          "GLR_SENT_LOGS_BYTES",
          "RE_RLIM_GOOD_REQUESTS",
          "PUBLIC_RE_CDN_DATA_TRANSFER_USAGE_NA",
          "PUBLIC_RE_CDN_DATA_TRANSFER_USAGE_EU",
          "PUBLIC_RE_CDN_DATA_TRANSFER_USAGE_AS",
          "PUBLIC_RE_CDN_DATA_TRANSFER_USAGE_SA",
          "PUBLIC_RE_CDN_REQUEST_USAGE_NA",
          "PUBLIC_RE_CDN_REQUEST_USAGE_EU",
          "PUBLIC_RE_CDN_REQUEST_USAGE_AS",
          "PUBLIC_RE_CDN_REQUEST_USAGE_SA",
          "DNSSEC_ZONE_USAGE",
          "ADVANCED_DNS_LOAD_BALANCER_USAGE",
          "DNS_LOAD_BALANCER_CNAME_POOL_HEALTH_CHECK_USAGE",
          "DNS_LOAD_BALANCER_CNAME_POOL_PRIORITY_ALGORITHM_USAGE"
        ],
        "default": "TENANT_INFO",
        "x-displayname": "UsageType",
        "x-ves-proto-enum": "ves.io.schema.billing.UsageType",
        "x-f5xc-description-short": "List of usage type Tenant Info RE Container Flavor Large Usage RE Container Flavor Medium Usage RE Container Flavor Tiny Usage Public IP Usage CE...",
        "x-f5xc-description-medium": "List of usage type Tenant Info RE Container Flavor Large Usage RE Container Flavor Medium Usage RE Container Flavor Tiny Usage Public IP Usage CE Mesh Node Small Usage CE Mesh Node Medium Usage CE Mesh Node Large Usage CE Stack Node Small Usage CE Stack Node Medium Usage CE Stack Node Large...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemabillingUsageType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"TENANT_INFO\"",
          "example_yaml": "TENANT_INFO\n..."
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "invoiceDownloadInvoicePdfRsp": {
        "type": "object",
        "description": "Response for GetInvoicePdf rpc method.",
        "title": "GetInvoicePdfRsp",
        "x-displayname": "GetInvoicePdfRsp.",
        "x-ves-proto-message": "ves.io.schema.usage.invoice.DownloadInvoicePdfRsp",
        "properties": {
          "pdf": {
            "type": "string",
            "description": "Base 64 encoded invoice as a PDF document.",
            "title": "PDF",
            "format": "byte",
            "x-displayname": "PDF",
            "x-f5xc-description-short": "Base 64 encoded invoice as a PDF document.",
            "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-minimum-configuration": {
          "description": "Minimum configuration for invoiceDownloadInvoicePdfRsp",
          "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": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "invoiceInvoiceStatus": {
        "type": "string",
        "description": "Invoice status\n\nUnknown, undefined status\nInvoice is just issued\nInvoice is pending, also known as running invoice\nInvoice is paid\nInvoice is refunded\nCancelled invoice (before being due)\nSet when current date is past due date, clears when the invoice gets paid.",
        "title": "Invoice status",
        "enum": [
          "STATUS_UNKNOWN",
          "STATUS_ISSUED",
          "STATUS_PENDING",
          "STATUS_PAID",
          "STATUS_REFUNDED",
          "STATUS_CANCELLED",
          "OVERDUE"
        ],
        "default": "STATUS_UNKNOWN",
        "x-displayname": "Invoice status.",
        "x-ves-proto-enum": "ves.io.schema.usage.invoice.InvoiceStatus",
        "x-f5xc-description-short": "Invoice status Unknown, undefined status Invoice is just issued Invoice is pending, also known as running invoice Invoice is paid Invoice is...",
        "x-f5xc-description-medium": "Invoice status Unknown, undefined status Invoice is just issued Invoice is pending, also known as running invoice Invoice is paid Invoice is refunded Cancelled invoice (before being due) Set when current date is past due date, clears when the invoice gets paid.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for invoiceInvoiceStatus",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"STATUS_UNKNOWN\"",
          "example_yaml": "STATUS_UNKNOWN\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "invoiceInvoiceType": {
        "type": "object",
        "description": "A single invoice representation.",
        "title": "Invoice",
        "x-displayname": "Invoice",
        "x-ves-proto-message": "ves.io.schema.usage.invoice.InvoiceType",
        "properties": {
          "active": {
            "type": "boolean",
            "description": "Indicate whether an invoice is active or not. Active invoices are not finalised and their value can change. Inactive invoices are final and their value cannot change.",
            "title": "Invoice active flag",
            "format": "boolean",
            "x-displayname": "Active",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Indicate whether an invoice is active or not. Active invoices are not finalised and their value can change.",
            "x-f5xc-description-medium": "Indicate whether an invoice is active or not. Active invoices are not finalised and their value can change. Inactive invoices are final and their value cannot change.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "amount": {
            "type": "string",
            "description": "Invoice amount as cents.",
            "title": "Amount",
            "format": "int64",
            "x-displayname": "Amount",
            "x-ves-example": "100",
            "x-f5xc-example": "100",
            "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
            }
          },
          "currency": {
            "type": "string",
            "description": "Currency the amount is in.",
            "title": "Currency",
            "x-displayname": "Currency",
            "x-ves-example": "USD",
            "x-f5xc-example": "USD",
            "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
            }
          },
          "name": {
            "type": "string",
            "description": "Name of the invoice.",
            "title": "Name",
            "x-displayname": "Name",
            "x-ves-example": "Invoice-abc-1.",
            "x-f5xc-example": "invoice-abc-1",
            "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])?$"
          },
          "period_end": {
            "type": "string",
            "description": "Invoice period end.",
            "title": "Period end",
            "format": "date-time",
            "x-displayname": "Period end.",
            "x-ves-example": "2020-05-20T12:32:51.341959216Z.",
            "x-f5xc-example": "2020-05-20T12:32:51.341959216Z",
            "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
            }
          },
          "period_start": {
            "type": "string",
            "description": "Invoice period start.",
            "title": "Period start",
            "format": "date-time",
            "x-displayname": "Period start.",
            "x-ves-example": "2020-04-20T12:32:51.341959216Z.",
            "x-f5xc-example": "2020-04-20T12:32:51.341959216Z",
            "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/invoiceInvoiceStatus"
              }
            ],
            "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-minimum-configuration": {
          "description": "Minimum configuration for invoiceInvoiceType",
          "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": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "invoiceListInvoicesRsp": {
        "type": "object",
        "description": "Response to list customer's invoices.",
        "title": "List invoice response",
        "x-displayname": "List invoice response.",
        "x-ves-proto-message": "ves.io.schema.usage.invoice.ListInvoicesRsp",
        "properties": {
          "invoices": {
            "type": "array",
            "description": "List of invoices as per customer request.",
            "title": "Invoices",
            "items": {
              "$ref": "#/components/schemas/invoiceInvoiceType"
            },
            "x-displayname": "Invoices",
            "x-f5xc-description-short": "List of invoices as per customer request.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for invoiceListInvoicesRsp",
          "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": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "contactContactType": {
        "type": "string",
        "description": "Determines the contact type\n\nIndicates snail mail address (used for correspondence)\nIndicates billing address (this address will appear on invoices)\nIndicates contact used for a payment method (this address is used when charging a payment method)",
        "title": "Contact Type",
        "enum": [
          "MAILING",
          "BILLING",
          "PAYMENT"
        ],
        "default": "MAILING",
        "x-displayname": "Contact Type.",
        "x-ves-proto-enum": "ves.io.schema.contact.ContactType",
        "x-f5xc-description-short": "Determines the contact type Indicates snail mail address (used for correspondence) Indicates billing address (this address will appear on...",
        "x-f5xc-description-medium": "Determines the contact type Indicates snail mail address (used for correspondence) Indicates billing address (this address will appear on invoices) Indicates contact used for a payment method (this address is used when charging a payment method).",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for contactContactType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"MAILING\"",
          "example_yaml": "MAILING\n..."
        },
        "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": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "contactGlobalSpecType": {
        "type": "object",
        "description": "Instance of one single contact that can be used to communicate with customers.\nDepending on contact type we use these details to send general communication (regular, physical mail) or invoices.",
        "title": "Contact",
        "x-displayname": "Contact",
        "x-ves-proto-message": "ves.io.schema.contact.GlobalSpecType",
        "properties": {
          "address1": {
            "type": "string",
            "description": "Network address or location",
            "title": "address1",
            "x-displayname": "Address Line 1.",
            "x-ves-example": "1234 Main road.",
            "x-f5xc-example": "1234 Main road",
            "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
            }
          },
          "address2": {
            "type": "string",
            "description": "Network address or location",
            "title": "address2",
            "x-displayname": "Address Line 2.",
            "x-ves-example": "P.O BOX 56.",
            "x-f5xc-example": "P.O BOX 56",
            "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
            }
          },
          "city": {
            "type": "string",
            "description": "Configuration parameter for city",
            "title": "city",
            "x-displayname": "City",
            "x-ves-example": "Sunnyvale",
            "x-f5xc-example": "Sunnyvale",
            "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
            }
          },
          "contact_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/contactContactType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "country": {
            "type": "string",
            "description": "Configuration parameter for country",
            "title": "country",
            "x-displayname": "Country",
            "x-ves-example": "US",
            "x-f5xc-example": "US",
            "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
            }
          },
          "county": {
            "type": "string",
            "description": "Configuration parameter for county",
            "title": "county",
            "x-displayname": "County",
            "x-ves-example": "Santa Clara.",
            "x-f5xc-example": "Santa Clara",
            "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
            }
          },
          "phone_number": {
            "type": "string",
            "description": "Configuration parameter for phone number",
            "title": "phone_number",
            "x-displayname": "Phone Number.",
            "x-ves-example": "+11234567890.",
            "x-f5xc-example": "+11234567890",
            "x-f5xc-description-short": "Configuration parameter for phone number.",
            "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
            }
          },
          "state": {
            "type": "string",
            "description": "Current state of the resource",
            "title": "state",
            "x-displayname": "State",
            "x-ves-example": "California.",
            "x-f5xc-example": "California",
            "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
            }
          },
          "state_code": {
            "type": "string",
            "description": "Configuration parameter for state code",
            "title": "state code",
            "x-displayname": "State Code.",
            "x-ves-example": "CA",
            "x-f5xc-example": "CA",
            "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
            }
          },
          "zip_code": {
            "type": "string",
            "description": "IP address configuration",
            "title": "zip_code",
            "x-displayname": "ZIP code",
            "x-ves-example": "95054",
            "x-f5xc-example": "95054",
            "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": "Instance of one single contact that can be used to communicate with customers.",
        "x-f5xc-description-medium": "Instance of one single contact that can be used to communicate with customers. Depending on contact type we use these details to send general communication (regular, physical mail) or invoices.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for contactGlobalSpecType",
          "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": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "payment_methodCreatePaymentMethodRequest": {
        "type": "object",
        "description": "This is the input message of the 'Create' RPC.",
        "title": "CreateRequest is used to create an instance of payment_method",
        "x-displayname": "Create Request.",
        "x-ves-proto-message": "ves.io.schema.billing.payment_method.CreatePaymentMethodRequest",
        "properties": {
          "contact": {
            "allOf": [
              {
                "$ref": "#/components/schemas/contactGlobalSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "namespace": {
            "type": "string",
            "description": "This namespace specifies the namespace in which the payment method will be created.\nIf not provided, the default 'system' namespace will be used.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.const": "system"
            },
            "x-f5xc-example": "system",
            "x-validation-rules": {
              "ves.io.schema.rules.string.const": "system"
            },
            "x-f5xc-description-short": "Namespace specifies the namespace in which the payment method will be created. If not provided, the default 'system' namespace will be used.",
            "x-f5xc-description-medium": "Namespace specifies the namespace in which the payment method will be created. If not provided, the default 'system' namespace will be used.",
            "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])?$"
          },
          "role": {
            "allOf": [
              {
                "$ref": "#/components/schemas/payment_methodPaymentMethodRole"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "token": {
            "type": "string",
            "description": "Token associated with this payment method. This token needs to be obtained from a designated payment method provider e.g. Stripe.",
            "title": "Token",
            "x-displayname": "Token",
            "x-ves-example": "Tok-123456.",
            "x-f5xc-example": "example",
            "x-f5xc-description-short": "Token associated with this payment method. This token needs to be obtained from a designated payment method provider e.g.",
            "x-f5xc-description-medium": "Token associated with this payment method. This token needs to be obtained from a designated payment method provider e.g. Stripe.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "security",
              "maxLength": 1024,
              "minLength": 20,
              "metadata": {
                "source": "inferred",
                "confidence": 0.75,
                "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 payment_methodCreatePaymentMethodRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "payment_methodCreatePaymentMethodResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.billing.payment_method.CreatePaymentMethodResponse",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the newly created payment method object.",
            "title": "Name",
            "x-displayname": "Name",
            "x-ves-example": "Payment-method-1.",
            "x-f5xc-example": "payment-method-1",
            "x-f5xc-description-short": "Name of the newly created payment method 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-minimum-configuration": {
          "description": "Minimum configuration for payment_methodCreatePaymentMethodResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "payment_methodPaymentMethodPrimaryReq": {
        "type": "object",
        "description": "Changes a payment method role to primary.",
        "title": "Change payment method role request",
        "x-displayname": "Payment method primary.",
        "x-ves-proto-message": "ves.io.schema.billing.payment_method.PaymentMethodPrimaryReq",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the payment method object to be made primary.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Payment-method-1.",
            "x-f5xc-example": "payment-method-1",
            "x-f5xc-description-short": "The name of the payment method object to be made primary.",
            "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 in which the payment method object is present.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.const": "system"
            },
            "x-f5xc-example": "system",
            "x-validation-rules": {
              "ves.io.schema.rules.string.const": "system"
            },
            "x-f5xc-description-short": "The namespace in which the payment method 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-description-short": "Changes a payment method role to primary.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for payment_methodPaymentMethodPrimaryReq",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "payment_methodPaymentMethodRole": {
        "type": "string",
        "description": "Defines if a payment method is used as a primary or backup source of fund.\n\nUnknown payment method role\nPrimary payment method role. Always used when attempting to charge for F5 Distributed Cloud's services.\nSecondary payment method role. Used when primary payment method failed.\nNormal payment method is a card that has no role as such.",
        "title": "Payment method role",
        "enum": [
          "PAYMENT_METHOD_ROLE_UNKNOWN",
          "PAYMENT_METHOD_ROLE_PRIMARY",
          "PAYMENT_METHOD_ROLE_SECONDARY",
          "PAYMENT_METHOD_ROLE_NORMAL"
        ],
        "default": "PAYMENT_METHOD_ROLE_UNKNOWN",
        "x-displayname": "Payment method role.",
        "x-ves-proto-enum": "ves.io.schema.billing.payment_method.PaymentMethodRole",
        "x-f5xc-description-short": "Defines if a payment method is used as a primary or backup source of fund. Unknown payment method role Primary payment method role.",
        "x-f5xc-description-medium": "Defines if a payment method is used as a primary or backup source of fund. Unknown payment method role Primary payment method role. Always used when attempting to charge for F5 Distributed Cloud's services.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for payment_methodPaymentMethodRole",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"PAYMENT_METHOD_ROLE_UNKNOWN\"",
          "example_yaml": "PAYMENT_METHOD_ROLE_UNKNOWN\n..."
        },
        "x-f5xc-cli-domain": "tenant_and_identity",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "payment_methodPaymentMethodRoleSwapReq": {
        "type": "object",
        "description": "Changes a payment method role (from/to primary or backup)",
        "title": "Change payment method role request",
        "x-displayname": "Payment method role swap.",
        "x-ves-proto-message": "ves.io.schema.billing.payment_method.PaymentMethodRoleSwapReq",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the payment method object to be updated.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Payment-method-1.",
            "x-f5xc-example": "payment-method-1",
            "x-f5xc-description-short": "The name of the payment method object to be updated.",
            "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 in which the payment method object is present.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.const": "system"
            },
            "x-f5xc-example": "system",
            "x-validation-rules": {
              "ves.io.schema.rules.string.const": "system"
            },
            "x-f5xc-description-short": "The namespace in which the payment method 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-description-short": "Changes a payment method role (from/to primary or backup).",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for payment_methodPaymentMethodRoleSwapReq",
          "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": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "payment_methodPaymentMethodSecondaryReq": {
        "type": "object",
        "description": "Changes a payment method role to secondary.",
        "title": "Change payment method role request",
        "x-displayname": "Payment method secondary.",
        "x-ves-proto-message": "ves.io.schema.billing.payment_method.PaymentMethodSecondaryReq",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the payment method object to be made secondary.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Payment-method-1.",
            "x-f5xc-example": "payment-method-1",
            "x-f5xc-description-short": "The name of the payment method object to be made secondary.",
            "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 in which the payment method object is present.",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.const": "system"
            },
            "x-f5xc-example": "system",
            "x-validation-rules": {
              "ves.io.schema.rules.string.const": "system"
            },
            "x-f5xc-description-short": "The namespace in which the payment method 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-description-short": "Changes a payment method role to secondary.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for payment_methodPaymentMethodSecondaryReq",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "plan_transitionGetPlanTransitionRsp": {
        "type": "object",
        "description": "Request body of GetPlanTransition custom API.",
        "title": "GetPlanTransitionRsp",
        "x-displayname": "GetPlanTransitionRsp.",
        "x-ves-proto-message": "ves.io.schema.billing.plan_transition.GetPlanTransitionRsp",
        "properties": {
          "state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/plan_transitionState"
              }
            ],
            "x-f5xc-example": "running",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Request body of GetPlanTransition custom API.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for plan_transitionGetPlanTransitionRsp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "plan_transitionInitiatePlanTransitionReq": {
        "type": "object",
        "description": "Request body of InitiatePlanTransition custom API.",
        "title": "InitiatePlanTransitionReq",
        "x-displayname": "InitiatePlanTransitionReq.",
        "x-ves-proto-message": "ves.io.schema.billing.plan_transition.InitiatePlanTransitionReq",
        "properties": {
          "namespace": {
            "type": "string",
            "description": "This namespace is not used, all requests are stored under system namespace.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.const": "system"
            },
            "x-f5xc-example": "system",
            "x-validation-rules": {
              "ves.io.schema.rules.string.const": "system"
            },
            "x-f5xc-description-short": "Namespace is not used, all requests are stored under system 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])?$"
          },
          "new_plan": {
            "type": "string",
            "description": "New plan template name tenant want to move to.",
            "title": "New plan",
            "x-displayname": "New Plan",
            "x-ves-example": "Plan-1",
            "x-f5xc-example": "plan-1",
            "x-f5xc-description-short": "New plan template name tenant want to move to.",
            "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
            }
          },
          "payload": {
            "allOf": [
              {
                "$ref": "#/components/schemas/plan_transitionTransitionPayload"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Request body of InitiatePlanTransition custom API.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for plan_transitionInitiatePlanTransitionReq",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "plan_transitionInitiatePlanTransitionRsp": {
        "type": "object",
        "description": "Response body of InitiatePlanTransition custom API.",
        "title": "InitiatePlanTransitionRsp",
        "x-displayname": "InitiatePlanTransitionRsp.",
        "x-ves-proto-message": "ves.io.schema.billing.plan_transition.InitiatePlanTransitionRsp",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID of the newly created plan transition request.",
            "title": "id",
            "x-displayname": "ID",
            "x-ves-example": "00000000-0000-4000-8000-4304c9d6d1ad.",
            "x-f5xc-example": "00000000-0000-4000-8000-4304c9d6d1ad",
            "x-f5xc-description-short": "ID of the newly created plan transition request.",
            "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
            }
          },
          "requires_manual_approval": {
            "type": "boolean",
            "description": "Flag to specify whether the request requires manual approval.",
            "title": "requires_manual_approval",
            "format": "boolean",
            "x-displayname": "Requires_manual_approval.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "Flag to specify whether the request requires manual approval.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Response body of InitiatePlanTransition custom API.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for plan_transitionInitiatePlanTransitionRsp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "plan_transitionState": {
        "type": "string",
        "description": "State of the plan transition FSM\n\n- STATE_UNSPECIFIED: Zero value for this state. Should be considered as an invalid state. User has to always explicitly\nspecify which other state should be.\n- STATE_CREATING: Initial state after plan transition object creation.\n- STATE_FAILED: Some step(-s) failed during plan transition execution.\n- STATE_FINISHED: All steps were successfully done during plan transition execution.\n- STATE_WAITING_FOR_APPROVAL: Request is awaiting for manual approval by SRE.",
        "title": "State",
        "enum": [
          "STATE_UNSPECIFIED",
          "STATE_CREATING",
          "STATE_FAILED",
          "STATE_FINISHED",
          "STATE_WAITING_FOR_APPROVAL"
        ],
        "default": "STATE_UNSPECIFIED",
        "x-displayname": "State",
        "x-ves-proto-enum": "ves.io.schema.billing.plan_transition.State",
        "x-f5xc-description-short": "State of the plan transition FSM - STATE_UNSPECIFIED: Zero value for this state.",
        "x-f5xc-description-medium": "State of the plan transition FSM - STATE_UNSPECIFIED: Zero value for this state. Should be considered as an invalid state. User has to always explicitly specify which other state should be. - STATE_CREATING: Initial state after plan transition object creation. - STATE_FAILED: Some step(-s)...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for plan_transitionState",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"STATE_UNSPECIFIED\"",
          "example_yaml": "STATE_UNSPECIFIED\n..."
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "plan_transitionTransitionPayload": {
        "type": "object",
        "description": "Payload which is required to execute transition from the current tenant's plan to a given new_plan.",
        "title": "TransitionPayload",
        "x-displayname": "TransitionPayload.",
        "x-ves-proto-message": "ves.io.schema.billing.plan_transition.TransitionPayload",
        "properties": {
          "billing_address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemacontactGlobalSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "billing_provider_account_id": {
            "type": "string",
            "description": "ID of the billing provider account created to verify the billing info provided with this object.\nThe ID is then used to ensure no more duplicate billing account is created.\nNote: this is set by the backend during the creation of plan_transition object. Anything passed from UI will be ignored.",
            "title": "billing_provider_account_id",
            "x-displayname": "Billing provider account ID.",
            "x-ves-example": "00000000-0000-4000-8000-8d4d83a4c67f.",
            "x-f5xc-example": "00000000-0000-4000-8000-8d4d83a4c67f",
            "x-f5xc-description-short": "ID of the billing provider account created to verify the billing info provided with this object.",
            "x-f5xc-description-medium": "ID of the billing provider account created to verify the billing info provided with this object. The ID is then used to ensure no more duplicate billing account is created.",
            "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"
          },
          "create_support_ticket": {
            "type": "boolean",
            "description": "If set to true, a support ticket will be created to provide the plan transition request.",
            "title": "create_support_ticket",
            "format": "boolean",
            "x-displayname": "Create Support Ticket.",
            "x-f5xc-description-short": "If set to true, a support ticket will be created to provide the plan transition request.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "deletion_feedback": {
            "type": "string",
            "description": "Feedback from the customer related to reason of account deletion.",
            "title": "Feedback",
            "x-displayname": "Feedback",
            "x-ves-example": "Customer given feedback.",
            "x-f5xc-example": "customer given feedback",
            "x-f5xc-description-short": "Feedback from the customer related to reason of account deletion.",
            "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
            }
          },
          "deletion_reason": {
            "allOf": [
              {
                "$ref": "#/components/schemas/tenantDeletionReason"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for deletion reason.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "domain": {
            "type": "string",
            "description": "Domain for enterprise tenants.",
            "title": "payment_provider_token",
            "x-displayname": "Payment Provider Token.",
            "x-ves-example": "Domain1",
            "x-f5xc-example": "domain1",
            "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"
          },
          "payment_address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemacontactGlobalSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "payment_provider_token": {
            "type": "string",
            "description": "Payment provider token (for credit card details)",
            "title": "payment_provider_token",
            "x-displayname": "Payment Provider Token.",
            "x-ves-example": "Tok-123456.",
            "x-f5xc-example": "example",
            "x-f5xc-description-short": "Payment provider token (for credit card details).",
            "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
            }
          },
          "subscribe_addon_services": {
            "type": "array",
            "description": "List of addon services that needs to be subscribed/enabled part of this plan transition.",
            "title": "subscribe_addon_services",
            "items": {
              "type": "string"
            },
            "x-displayname": "Subscribe Addon Services.",
            "x-ves-example": "['service1','service2']",
            "x-f5xc-example": "['service1','service2']",
            "x-f5xc-description-short": "List of addon services that needs to be subscribed/enabled part of this plan transition.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "support_ticket_info": {
            "type": "string",
            "description": "Additional information user want to record part of the support ticket.",
            "title": "support_ticket_info",
            "x-displayname": "Support Ticket Additional Info.",
            "x-ves-example": "User comment.",
            "x-f5xc-example": "user comment",
            "x-f5xc-description-short": "Additional information user want to record part of the support ticket.",
            "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
            }
          },
          "tp_subscription_id": {
            "type": "string",
            "description": "ID of the third party subscription ID created.\nNote: this is set by the backend as part of the notifiers run as the plan_transition object is created.",
            "title": "tp_subscription_id",
            "x-displayname": "Third party subscription ID.",
            "x-ves-example": "00000000-0000-4000-8000-298dab645fd8.",
            "x-f5xc-example": "00000000-0000-4000-8000-298dab645fd8",
            "x-f5xc-description-short": "ID of the third party subscription ID created.",
            "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"
          },
          "unsubscribe_addon_services": {
            "type": "array",
            "description": "List of addon services that needs to be unsubscribed/removed part of this plan transition.",
            "title": "unsubscribe_addon_services",
            "items": {
              "type": "string"
            },
            "x-displayname": "Unsubscribe Addon Services.",
            "x-ves-example": "['service3','service4']",
            "x-f5xc-example": "['service3','service4']",
            "x-f5xc-description-short": "List of addon services that needs to be unsubscribed/removed part of this plan transition.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Payload which is required to execute transition from the current tenant's plan to a given new_plan.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for plan_transitionTransitionPayload",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemacontactGlobalSpecType": {
        "type": "object",
        "description": "Instance of one single contact that can be used to communicate with customers.\nDepending on contact type we use these details to send general communication (regular, physical mail) or invoices.",
        "title": "Contact",
        "x-displayname": "Contact",
        "x-ves-proto-message": "ves.io.schema.contact.GlobalSpecType",
        "properties": {
          "address1": {
            "type": "string",
            "description": "Network address or location",
            "title": "address1",
            "x-displayname": "Address Line 1.",
            "x-ves-example": "1234 Main road.",
            "x-f5xc-example": "1234 Main road",
            "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
            }
          },
          "address2": {
            "type": "string",
            "description": "Network address or location",
            "title": "address2",
            "x-displayname": "Address Line 2.",
            "x-ves-example": "P.O BOX 56.",
            "x-f5xc-example": "P.O BOX 56",
            "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
            }
          },
          "city": {
            "type": "string",
            "description": "Configuration parameter for city",
            "title": "city",
            "x-displayname": "City",
            "x-ves-example": "Sunnyvale",
            "x-f5xc-example": "Sunnyvale",
            "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
            }
          },
          "contact_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/contactContactType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "country": {
            "type": "string",
            "description": "Configuration parameter for country",
            "title": "country",
            "x-displayname": "Country",
            "x-ves-example": "US",
            "x-f5xc-example": "US",
            "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
            }
          },
          "county": {
            "type": "string",
            "description": "Configuration parameter for county",
            "title": "county",
            "x-displayname": "County",
            "x-ves-example": "Santa Clara.",
            "x-f5xc-example": "Santa Clara",
            "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
            }
          },
          "phone_number": {
            "type": "string",
            "description": "Configuration parameter for phone number",
            "title": "phone_number",
            "x-displayname": "Phone Number.",
            "x-ves-example": "+11234567890.",
            "x-f5xc-example": "+11234567890",
            "x-f5xc-description-short": "Configuration parameter for phone number.",
            "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
            }
          },
          "state": {
            "type": "string",
            "description": "Current state of the resource",
            "title": "state",
            "x-displayname": "State",
            "x-ves-example": "California.",
            "x-f5xc-example": "California",
            "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
            }
          },
          "state_code": {
            "type": "string",
            "description": "Configuration parameter for state code",
            "title": "state code",
            "x-displayname": "State Code.",
            "x-ves-example": "CA",
            "x-f5xc-example": "CA",
            "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
            }
          },
          "zip_code": {
            "type": "string",
            "description": "IP address configuration",
            "title": "zip_code",
            "x-displayname": "ZIP code",
            "x-ves-example": "95054",
            "x-f5xc-example": "95054",
            "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": "Instance of one single contact that can be used to communicate with customers.",
        "x-f5xc-description-medium": "Instance of one single contact that can be used to communicate with customers. Depending on contact type we use these details to send general communication (regular, physical mail) or invoices.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemacontactGlobalSpecType",
          "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": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "tenantDeletionReason": {
        "type": "string",
        "description": "List of available reason for account deletion.\n\n- REASON_UNKNOWN: Unknown reason\n\nUnknown reason\n- REASON_SWITCH_TO_FREE_PLAN: Switch to free plan\n\nSwitch to free plan\n- REASON_NO_LONGER_NEEDED: No longer needed\n\nNo longer needed\n- REASON_NOT_JUSTIFY_COSTS: Too expensive\n\nToo expensive\n- REASON_DIFFICULT_TO_USE: Difficult to use\n\nDifficult to use.",
        "title": "DeletionReason",
        "enum": [
          "REASON_UNKNOWN",
          "REASON_SWITCH_TO_FREE_PLAN",
          "REASON_NO_LONGER_NEEDED",
          "REASON_NOT_JUSTIFY_COSTS",
          "REASON_DIFFICULT_TO_USE"
        ],
        "default": "REASON_UNKNOWN",
        "x-displayname": "DeletionReason.",
        "x-ves-proto-enum": "ves.io.schema.tenant.DeletionReason",
        "x-f5xc-description-short": "List of available reason for account deletion. - REASON_UNKNOWN: Unknown reason Unknown reason - REASON_SWITCH_TO_FREE_PLAN: Switch to free plan...",
        "x-f5xc-description-medium": "List of available reason for account deletion. - REASON_UNKNOWN: Unknown reason Unknown reason - REASON_SWITCH_TO_FREE_PLAN: Switch to free plan Switch to free plan - REASON_NO_LONGER_NEEDED: No longer needed No longer needed - REASON_NOT_JUSTIFY_COSTS: Too expensive Too expensive ...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for tenantDeletionReason",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"REASON_UNKNOWN\"",
          "example_yaml": "REASON_UNKNOWN\n..."
        },
        "x-f5xc-cli-domain": "tenant_and_identity",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Tenant object is platform-level administration"
          },
          "classification": {
            "category": "infrastructure",
            "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": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "quotaCreateRequest": {
        "type": "object",
        "description": "This is the input message of the 'Create' RPC.",
        "title": "CreateRequest is used to create an instance of quota",
        "x-displayname": "Create Request.",
        "x-ves-proto-message": "ves.io.schema.quota.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/schemaquotaCreateSpecType"
              }
            ],
            "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 quotaCreateRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "quotaCreateResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.quota.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/schemaquotaGetSpecType"
              }
            ],
            "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 quotaCreateResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "quotaDeleteRequest": {
        "type": "object",
        "description": "This is the input message of the 'DELETE' RPC.",
        "title": "DeleteRequest is used to delete a quota",
        "x-displayname": "DELETE Request.",
        "x-ves-proto-message": "ves.io.schema.quota.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 quotaDeleteRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "quotaGetQuotaLimitsResponse": {
        "type": "object",
        "description": "Map of quotas that are assigned for the current tenant and namespace.",
        "title": "GetQuotaLimitsResponse",
        "x-displayname": "GET Quotas Limits Response.",
        "x-ves-proto-message": "ves.io.schema.quota.GetQuotaLimitsResponse",
        "properties": {
          "api_limits": {
            "type": "object",
            "description": "APILimits object.\nDeprecated by 'APIs'",
            "title": "APILimits object",
            "x-displayname": "API Limits.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "apis": {
            "type": "object",
            "description": "Configured rate limits for APIs.",
            "title": "apis",
            "x-displayname": "APIs",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "float_quota_usage": {
            "type": "object",
            "description": "FloatQuotaUsage object.\nDeprecated by 'resources'",
            "title": "FloatQuotaUsage object",
            "x-displayname": "Float Quota Usage.",
            "x-f5xc-description-short": "FloatQuotaUsage object. Deprecated by 'resources'",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "objects": {
            "type": "object",
            "description": "Configured limits for object instances.",
            "title": "objects",
            "x-displayname": "Object limits.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "quota_usage": {
            "type": "object",
            "description": "QuotaUsage object.\nDeprecated by 'objects'",
            "title": "QuotaUsage object",
            "x-displayname": "Qouta Usage.",
            "x-f5xc-description-short": "QuotaUsage object. Deprecated by 'objects'",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resources": {
            "type": "object",
            "description": "Configured limits for resources if relevant.",
            "title": "resources",
            "x-displayname": "Resource limits.",
            "x-f5xc-description-short": "Configured limits for resources if relevant.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Map of quotas that are assigned for the current tenant and namespace.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for quotaGetQuotaLimitsResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "quotaGetResponse": {
        "type": "object",
        "description": "This is the output message of the 'GET' RPC.",
        "title": "GetResponse is the shape of a read quota",
        "x-displayname": "GET Response.",
        "x-ves-proto-message": "ves.io.schema.quota.GetResponse",
        "properties": {
          "create_form": {
            "allOf": [
              {
                "$ref": "#/components/schemas/quotaCreateRequest"
              }
            ],
            "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/quotaReplaceRequest"
              }
            ],
            "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/schemaquotaGetSpecType"
              }
            ],
            "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/quotaStatusObject"
            },
            "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 quotaGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "quotaGetResponseType": {
        "type": "object",
        "description": "User\": {limit: {maximum: 10}, usage: {number: 8}}, \"virtual_host\":{limit: {maximum: 12}, usage: {number: 6}}, \"domain\": {limit: {maximum: 7}, usage: {number: 5}}}\"\nMap of quotas that are assigned for the current tenant and namespace.",
        "title": "Get response",
        "x-displayname": "Quotas GET Response.",
        "x-ves-proto-message": "ves.io.schema.quota.GetResponseType",
        "properties": {
          "api_limits": {
            "type": "object",
            "description": "APILimits object.\nDeprecated by 'APIs'",
            "title": "APILimits object",
            "x-displayname": "API Limits.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "apis": {
            "type": "object",
            "description": "Configured rate limits for APIs.",
            "title": "apis",
            "x-displayname": "APIs",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "float_quota_usage": {
            "type": "object",
            "description": "UsageDataInFloat object.\nDeprecated by 'resources'",
            "title": "UsageDataInFloat object",
            "x-displayname": "Usage Data in float.",
            "x-f5xc-description-short": "UsageDataInFloat object. Deprecated by 'resources'",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "objects": {
            "type": "object",
            "description": "Configured limits for object instances and current usage.",
            "title": "objects",
            "x-displayname": "Object limits and usage.",
            "x-f5xc-description-short": "Configured limits for object instances and current usage.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "quota_usage": {
            "type": "object",
            "description": "UsageData object.\nDeprecated by 'objects'",
            "title": "UsageData object",
            "x-displayname": "Usage Data.",
            "x-f5xc-description-short": "UsageData object. Deprecated by 'objects'",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resources": {
            "type": "object",
            "description": "Configured limits for resources and current usage if relevant.",
            "title": "resources",
            "x-displayname": "Resource limits and usage.",
            "x-f5xc-description-short": "Configured limits for resources and current usage if relevant.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-example": "{",
        "x-f5xc-description-short": "User\": {limit: {maximum: 10}, usage: {number: 8}}, \"virtual_host\":{limit: {maximum: 12}, usage: {number: 6}}, \"domain\": {limit: {maximum: 7}...",
        "x-f5xc-description-medium": "User\": {limit: {maximum: 10}, usage: {number: 8}}, \"virtual_host\":{limit: {maximum: 12}, usage: {number: 6}}, \"domain\": {limit: {maximum: 7}, usage: {number: 5}}}\" Map of quotas that are assigned for the current tenant and namespace.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for quotaGetResponseType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "quotaListResponse": {
        "type": "object",
        "description": "This is the output message of 'List' RPC.",
        "title": "ListResponse is the collection of quota",
        "x-displayname": "List Response.",
        "x-ves-proto-message": "ves.io.schema.quota.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/quotaListResponseItem"
            },
            "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 quotaListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "quotaListResponseItem": {
        "type": "object",
        "description": "By default a summary of quota 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 quota",
        "x-displayname": "List Item",
        "x-ves-proto-message": "ves.io.schema.quota.ListResponseItem",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "The set of annotations present on this quota.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of annotations present on this quota.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "The description set for this quota.",
            "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 quota is administratively disabled.",
            "title": "disabled",
            "format": "boolean",
            "x-displayname": "Disabled",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Value of true indicates quota is administratively disabled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "get_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaquotaGetSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "The set of labels present on this quota.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "The set of labels present on this quota.",
            "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 quota.",
            "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/quotaStatusObject"
            },
            "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 quota.",
            "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 quota 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 quota 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 quotaListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "quotaReplaceRequest": {
        "type": "object",
        "description": "This is the input message of the 'Replace' RPC.",
        "title": "ReplaceRequest is used to replace contents of a quota",
        "x-displayname": "Replace Request.",
        "x-ves-proto-message": "ves.io.schema.quota.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/schemaquotaReplaceSpecType"
              }
            ],
            "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 quotaReplaceRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "quotaReplaceResponse": {
        "type": "object",
        "x-ves-proto-message": "ves.io.schema.quota.ReplaceResponse",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for quotaReplaceResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "quotaStatusObject": {
        "type": "object",
        "title": "Most recently observed status of object",
        "x-ves-displayorder": "1,2,3",
        "x-ves-proto-message": "ves.io.schema.quota.StatusObject",
        "properties": {
          "conditions": {
            "type": "array",
            "description": "Conditions reported by various component of the system.",
            "title": "conditions",
            "items": {
              "$ref": "#/components/schemas/schemaConditionType"
            },
            "x-displayname": "Conditions.",
            "x-f5xc-description-short": "Conditions reported by various component of the system.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaStatusMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "object_refs": {
            "type": "array",
            "description": "Reference to object for current status.",
            "title": "object_refs",
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Config Object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for quotaStatusObject",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "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": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "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": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "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": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "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": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "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": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "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": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "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": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "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": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "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": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "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": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "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": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "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": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "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": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "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": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaquotaCreateSpecType": {
        "type": "object",
        "description": "Create quota creates a given object from storage backend for metadata.namespace.",
        "title": "Create quota",
        "x-displayname": "Create Quota.",
        "x-ves-proto-message": "ves.io.schema.quota.CreateSpecType",
        "properties": {
          "api_limits": {
            "type": "object",
            "description": "API Limits defines ratelimit parameters for an API at the stdlib service\nThe key of the api_limits map is rpc FQN e.g. \"VES.I/o.schema.advertise_policy.api.create\"",
            "x-displayname": "API Limits.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "512",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.keys.string.pattern": "^[a-zA-Z][a-zA-Z0-9-._]*[a-zA-Z0-9]$"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "512",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.keys.string.pattern": "^[a-zA-Z][a-zA-Z0-9-._]*[a-zA-Z0-9]$"
            },
            "x-f5xc-description-short": "API Limits defines ratelimit parameters for an API at the stdlib service The key of the api_limits map is rpc FQN e.g...",
            "x-f5xc-description-medium": "API Limits defines ratelimit parameters for an API at the stdlib service The key of the api_limits map is rpc FQN e.g. \"VES.I/o.schema.advertise_policy.api.create\".",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "object_limits": {
            "type": "object",
            "description": "Object Limits define maximum number of instances that can be present per object kind for the tenant\nThe key of the object_limits map is object kind e.g. \"virtual_host\"",
            "x-displayname": "Object Limits.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "512",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.keys.string.pattern": "^[a-zA-Z][a-zA-Z0-9-._]*[a-zA-Z0-9]$"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "512",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.keys.string.pattern": "^[a-zA-Z][a-zA-Z0-9-._]*[a-zA-Z0-9]$"
            },
            "x-f5xc-description-short": "Object Limits define maximum number of instances that can be present per object kind for the tenant The key of the object_limits map is object...",
            "x-f5xc-description-medium": "Object Limits define maximum number of instances that can be present per object kind for the tenant The key of the object_limits map is object kind e.g. \"virtual_host\".",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resource_limits": {
            "type": "object",
            "description": "Resource Limits define maximum value of resources in the appropriate units that can be present. The key of\nthe resource limits is the resource name.",
            "x-displayname": "Resource Limits.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "512",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.keys.string.pattern": "^[a-zA-Z][a-zA-Z0-9-._]*[a-zA-Z0-9]$"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "512",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.keys.string.pattern": "^[a-zA-Z][a-zA-Z0-9-._]*[a-zA-Z0-9]$"
            },
            "x-f5xc-description-short": "Resource Limits define maximum value of resources in the appropriate units that can be present.",
            "x-f5xc-description-medium": "Resource Limits define maximum value of resources in the appropriate units that can be present. The key of the resource limits is the resource name.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Create quota creates a given object from storage backend for metadata.namespace.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaquotaCreateSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaquotaGetSpecType": {
        "type": "object",
        "description": "GET quota reads a given object from storage backend for metadata.namespace.",
        "title": "Get quota",
        "x-displayname": "GET Quota",
        "x-ves-proto-message": "ves.io.schema.quota.GetSpecType",
        "properties": {
          "api_limits": {
            "type": "object",
            "description": "API Limits defines ratelimit parameters for an API at the stdlib service\nThe key of the api_limits map is rpc FQN e.g. \"VES.I/o.schema.advertise_policy.api.create\"",
            "x-displayname": "API Limits.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "512",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.keys.string.pattern": "^[a-zA-Z][a-zA-Z0-9-._]*[a-zA-Z0-9]$"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "512",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.keys.string.pattern": "^[a-zA-Z][a-zA-Z0-9-._]*[a-zA-Z0-9]$"
            },
            "x-f5xc-description-short": "API Limits defines ratelimit parameters for an API at the stdlib service The key of the api_limits map is rpc FQN e.g...",
            "x-f5xc-description-medium": "API Limits defines ratelimit parameters for an API at the stdlib service The key of the api_limits map is rpc FQN e.g. \"VES.I/o.schema.advertise_policy.api.create\".",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "object_limits": {
            "type": "object",
            "description": "Object Limits define maximum number of instances that can be present per object kind for the tenant\nThe key of the object_limits map is object kind e.g. \"virtual_host\"",
            "x-displayname": "Object Limits.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "512",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.keys.string.pattern": "^[a-zA-Z][a-zA-Z0-9-._]*[a-zA-Z0-9]$"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "512",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.keys.string.pattern": "^[a-zA-Z][a-zA-Z0-9-._]*[a-zA-Z0-9]$"
            },
            "x-f5xc-description-short": "Object Limits define maximum number of instances that can be present per object kind for the tenant The key of the object_limits map is object...",
            "x-f5xc-description-medium": "Object Limits define maximum number of instances that can be present per object kind for the tenant The key of the object_limits map is object kind e.g. \"virtual_host\".",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resource_limits": {
            "type": "object",
            "description": "Resource Limits define maximum value of resources in the appropriate units that can be present. The key of\nthe resource limits is the resource name.",
            "x-displayname": "Resource Limits.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "512",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.keys.string.pattern": "^[a-zA-Z][a-zA-Z0-9-._]*[a-zA-Z0-9]$"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "512",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.keys.string.pattern": "^[a-zA-Z][a-zA-Z0-9-._]*[a-zA-Z0-9]$"
            },
            "x-f5xc-description-short": "Resource Limits define maximum value of resources in the appropriate units that can be present.",
            "x-f5xc-description-medium": "Resource Limits define maximum value of resources in the appropriate units that can be present. The key of the resource limits is the resource name.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "GET quota reads a given object from storage backend for metadata.namespace.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaquotaGetSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaquotaReplaceSpecType": {
        "type": "object",
        "description": "Replace quota updates a given object from storage backend for metadata.namespace.",
        "title": "Replace quota",
        "x-displayname": "Replace Quota.",
        "x-ves-proto-message": "ves.io.schema.quota.ReplaceSpecType",
        "properties": {
          "api_limits": {
            "type": "object",
            "description": "API Limits defines ratelimit parameters for an API at the stdlib service\nThe key of the api_limits map is rpc FQN e.g. \"VES.I/o.schema.advertise_policy.api.create\"",
            "x-displayname": "API Limits.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "512",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.keys.string.pattern": "^[a-zA-Z][a-zA-Z0-9-._]*[a-zA-Z0-9]$"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "512",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.keys.string.pattern": "^[a-zA-Z][a-zA-Z0-9-._]*[a-zA-Z0-9]$"
            },
            "x-f5xc-description-short": "API Limits defines ratelimit parameters for an API at the stdlib service The key of the api_limits map is rpc FQN e.g...",
            "x-f5xc-description-medium": "API Limits defines ratelimit parameters for an API at the stdlib service The key of the api_limits map is rpc FQN e.g. \"VES.I/o.schema.advertise_policy.api.create\".",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "object_limits": {
            "type": "object",
            "description": "Object Limits define maximum number of instances that can be present per object kind for the tenant\nThe key of the object_limits map is object kind e.g. \"virtual_host\"",
            "x-displayname": "Object Limits.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "512",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.keys.string.pattern": "^[a-zA-Z][a-zA-Z0-9-._]*[a-zA-Z0-9]$"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "512",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.keys.string.pattern": "^[a-zA-Z][a-zA-Z0-9-._]*[a-zA-Z0-9]$"
            },
            "x-f5xc-description-short": "Object Limits define maximum number of instances that can be present per object kind for the tenant The key of the object_limits map is object...",
            "x-f5xc-description-medium": "Object Limits define maximum number of instances that can be present per object kind for the tenant The key of the object_limits map is object kind e.g. \"virtual_host\".",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resource_limits": {
            "type": "object",
            "description": "Resource Limits define maximum value of resources in the appropriate units that can be present. The key of\nthe resource limits is the resource name.",
            "x-displayname": "Resource Limits.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "512",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.keys.string.pattern": "^[a-zA-Z][a-zA-Z0-9-._]*[a-zA-Z0-9]$"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "512",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.keys.string.pattern": "^[a-zA-Z][a-zA-Z0-9-._]*[a-zA-Z0-9]$"
            },
            "x-f5xc-description-short": "Resource Limits define maximum value of resources in the appropriate units that can be present.",
            "x-f5xc-description-medium": "Resource Limits define maximum value of resources in the appropriate units that can be present. The key of the resource limits is the resource name.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Replace quota updates a given object from storage backend for metadata.namespace.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaquotaReplaceSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "subscriptionListSubscriptionsRsp": {
        "type": "object",
        "description": "Response to call to GET list of tenant subscriptions.",
        "title": "List subscription response",
        "x-displayname": "List subscription response.",
        "x-ves-proto-message": "ves.io.schema.usage.subscription.ListSubscriptionsRsp",
        "properties": {
          "subscriptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/subscriptionSubscriptionType"
            },
            "description": "IP address configuration",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Response to call to GET list of tenant subscriptions.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for subscriptionListSubscriptionsRsp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Subscriptions are platform-level billing"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "subscriptionPeriod": {
        "type": "object",
        "description": "Response to call to GET list of tenant subscriptions.",
        "title": "List subscription response",
        "x-displayname": "List subscription response.",
        "x-ves-proto-message": "ves.io.schema.usage.subscription.Period",
        "properties": {
          "closed_invoice": {
            "type": "array",
            "description": "Link to the closed invoice.",
            "title": "Closed invoices",
            "items": {
              "type": "string"
            },
            "x-displayname": "Closed invoices.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "end_date": {
            "type": "string",
            "description": "Kast day of the last billing_period in external provider.",
            "title": "End date",
            "format": "date-time",
            "x-displayname": "End date",
            "x-ves-example": "2020-05-20T12:32:51.341959216Z.",
            "x-f5xc-example": "2020-05-20T12:32:51.341959216Z",
            "x-f5xc-description-short": "Kast day of the last billing_period in external provider.",
            "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
            }
          },
          "internal_end_date": {
            "type": "string",
            "description": "Internal end date that serves as source of truth.",
            "title": "Internal end date",
            "format": "date-time",
            "x-displayname": "Internal end date.",
            "x-ves-example": "2020-05-20T12:32:51.341959216Z.",
            "x-f5xc-example": "2020-05-20T12:32:51.341959216Z",
            "x-f5xc-description-short": "Internal end date that serves as source of truth.",
            "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
            }
          },
          "internal_start_date": {
            "type": "string",
            "description": "Internal start date that serves as source of truth.",
            "title": "Internal start date",
            "format": "date-time",
            "x-displayname": "Internal start date.",
            "x-ves-example": "2020-05-20T12:32:51.341959216Z.",
            "x-f5xc-example": "2020-05-20T12:32:51.341959216Z",
            "x-f5xc-description-short": "Internal start date that serves as source of truth.",
            "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
            }
          },
          "invoices": {
            "type": "array",
            "description": "Link to all of the invoices for this period.",
            "title": "Invoices",
            "items": {
              "type": "string"
            },
            "x-displayname": "Invoices",
            "x-f5xc-description-short": "Link to all of the invoices for this period.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "pending_invoice": {
            "type": "array",
            "description": "Link to the pending invoice.",
            "title": "Open invoices",
            "items": {
              "type": "string"
            },
            "x-displayname": "Open invoices.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "start_date": {
            "type": "string",
            "description": "The first day of the last billing_period in external provider.",
            "title": "Start date",
            "format": "date-time",
            "x-displayname": "Start date.",
            "x-ves-example": "2020-05-20T12:32:51.341959216Z.",
            "x-f5xc-example": "2020-05-20T12:32:51.341959216Z",
            "x-f5xc-description-short": "The first day of the last billing_period in external provider.",
            "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
            }
          },
          "trial": {
            "type": "boolean",
            "description": "Flag shows if this billing time frame is part of trial period.",
            "title": "Trial",
            "format": "boolean",
            "x-displayname": "Trial",
            "x-f5xc-description-short": "Flag shows if this billing time frame is part of trial period.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "uid": {
            "type": "string",
            "description": "Unique identifier of this time frame.",
            "title": "UUID",
            "x-displayname": "UUID",
            "x-ves-example": "00000000-0000-4000-8000-c698bccc2be4.",
            "x-f5xc-example": "00000000-0000-4000-8000-c698bccc2be4",
            "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": "Response to call to GET list of tenant subscriptions.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for subscriptionPeriod",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Subscriptions are platform-level billing"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "subscriptionSubscriptionType": {
        "type": "object",
        "description": "Tenant subscription to the services record.",
        "title": "Subscription record",
        "x-displayname": "Subscription.",
        "x-ves-proto-message": "ves.io.schema.usage.subscription.SubscriptionType",
        "properties": {
          "cancellation_date": {
            "type": "string",
            "description": "Date when subscription become cancelled.",
            "title": "Cancellation date",
            "format": "date-time",
            "x-displayname": "Cancellation date.",
            "x-ves-example": "2020-04-20T12:32:51.341959216Z.",
            "x-f5xc-example": "2020-04-20T12:32:51.341959216Z",
            "x-f5xc-description-short": "Date when subscription become cancelled.",
            "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
            }
          },
          "cancelled": {
            "type": "boolean",
            "description": "Flag shows if this subscription is already cancelled.",
            "title": "Cancelled",
            "format": "boolean",
            "x-displayname": "Cancelled",
            "x-f5xc-description-short": "Flag shows if this subscription is already cancelled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "current": {
            "type": "boolean",
            "description": "Flag shows if this subscription is currently active.",
            "title": "Current",
            "format": "boolean",
            "x-displayname": "Current",
            "x-f5xc-description-short": "Flag shows if this subscription is currently active.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "last_billing_period_end_date": {
            "type": "string",
            "description": "The last day of the last billing_period.",
            "title": "Billing period end date",
            "format": "date-time",
            "x-displayname": "Billing period end date.",
            "x-ves-example": "2020-05-20T12:32:51.341959216Z.",
            "x-f5xc-example": "2020-05-20T12:32:51.341959216Z",
            "x-f5xc-description-short": "The last day of the last billing_period.",
            "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
            }
          },
          "last_billing_period_start_date": {
            "type": "string",
            "description": "The first day of the last billing_period.",
            "title": "Billing period start date",
            "format": "date-time",
            "x-displayname": "Billing period start date.",
            "x-ves-example": "2020-04-20T12:32:51.341959216Z.",
            "x-f5xc-example": "2020-04-20T12:32:51.341959216Z",
            "x-f5xc-description-short": "The first day of the last billing_period.",
            "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 the subscription (internal name, not human readable), a subscription has no human readable name.",
            "title": "Name",
            "x-displayname": "Name",
            "x-ves-example": "Sub-name-00000000-0000-4000-8000-727ea87b3b37.",
            "x-f5xc-example": "sub-name-00000000-0000-4000-8000-727ea87b3b37",
            "x-f5xc-description-short": "Name of the subscription (internal name, not human readable), a subscription has no human readable name.",
            "x-f5xc-description-medium": "Name of the subscription (internal name, not human readable), a subscription has no human readable 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])?$"
          },
          "plan_name": {
            "type": "string",
            "description": "Plan name",
            "title": "Plan name",
            "x-displayname": "Plan name",
            "x-ves-example": "Teams plan.",
            "x-f5xc-example": "Teams plan",
            "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
            }
          },
          "plan_object_name": {
            "type": "string",
            "description": "Plan object name.",
            "title": "Plan object name",
            "x-displayname": "Plan object name.",
            "x-ves-example": "Plan-00000000-0000-4000-8000-204b781243ce.",
            "x-f5xc-example": "plan-00000000-0000-4000-8000-204b781243ce",
            "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
            }
          },
          "previous_billing_periods": {
            "type": "array",
            "description": "List of the previous billing periods.",
            "title": "Previous billing periods",
            "items": {
              "$ref": "#/components/schemas/subscriptionPeriod"
            },
            "x-displayname": "Previous billing periods.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "start_date": {
            "type": "string",
            "description": "Date when subscription become active.",
            "title": "Start date",
            "format": "date-time",
            "x-displayname": "Start date.",
            "x-ves-example": "2020-04-20T12:32:51.341959216Z.",
            "x-f5xc-example": "2020-04-20T12:32:51.341959216Z",
            "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": "Tenant subscription to the services record.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for subscriptionSubscriptionType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Subscriptions are platform-level billing"
          },
          "classification": {
            "category": "application",
            "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": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "subscriptionSubscribeRequest__ves_io_schema_subscription": {
        "type": "object",
        "description": "Request to subscribe to one of addon services.",
        "title": "SubscribeRequest",
        "x-displayname": "Subscribe request.",
        "x-ves-oneof-field-addon_choice": "[\"f5xc_appstack_standard\",\"f5xc_big_ip_irule_standard\",\"f5xc_bigip_utilities_standard\",\"f5xc_content_delivery_network_advanced\",\"f5xc_content_delivery_network_standard\",\"f5xc_delegated_access_standard\",\"f5xc_securemesh_advanced\",\"f5xc_securemesh_standard\",\"f5xc_site_management_standard\",\"f5xc_synthetic_monitoring_standard\",\"f5xc_waap_advanced\",\"f5xc_waap_standard\",\"f5xc_web_app_scanning_standard\"]",
        "x-ves-proto-message": "ves.io.schema.subscription.SubscribeRequest",
        "properties": {
          "f5xc_appstack_standard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for f5xc appstack standard.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "f5xc_big_ip_irule_standard",
              "f5xc_bigip_utilities_standard",
              "f5xc_content_delivery_network_advanced",
              "f5xc_content_delivery_network_standard",
              "f5xc_delegated_access_standard",
              "f5xc_securemesh_advanced",
              "f5xc_securemesh_standard",
              "f5xc_site_management_standard",
              "f5xc_synthetic_monitoring_standard",
              "f5xc_waap_advanced",
              "f5xc_waap_standard",
              "f5xc_web_app_scanning_standard"
            ]
          },
          "f5xc_big_ip_irule_standard": {
            "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": [
              "f5xc_appstack_standard",
              "f5xc_bigip_utilities_standard",
              "f5xc_content_delivery_network_advanced",
              "f5xc_content_delivery_network_standard",
              "f5xc_delegated_access_standard",
              "f5xc_securemesh_advanced",
              "f5xc_securemesh_standard",
              "f5xc_site_management_standard",
              "f5xc_synthetic_monitoring_standard",
              "f5xc_waap_advanced",
              "f5xc_waap_standard",
              "f5xc_web_app_scanning_standard"
            ]
          },
          "f5xc_bigip_utilities_standard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "f5xc_appstack_standard",
              "f5xc_big_ip_irule_standard",
              "f5xc_content_delivery_network_advanced",
              "f5xc_content_delivery_network_standard",
              "f5xc_delegated_access_standard",
              "f5xc_securemesh_advanced",
              "f5xc_securemesh_standard",
              "f5xc_site_management_standard",
              "f5xc_synthetic_monitoring_standard",
              "f5xc_waap_advanced",
              "f5xc_waap_standard",
              "f5xc_web_app_scanning_standard"
            ]
          },
          "f5xc_content_delivery_network_advanced": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for f5xc content delivery network advanced.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "f5xc_appstack_standard",
              "f5xc_big_ip_irule_standard",
              "f5xc_bigip_utilities_standard",
              "f5xc_content_delivery_network_standard",
              "f5xc_delegated_access_standard",
              "f5xc_securemesh_advanced",
              "f5xc_securemesh_standard",
              "f5xc_site_management_standard",
              "f5xc_synthetic_monitoring_standard",
              "f5xc_waap_advanced",
              "f5xc_waap_standard",
              "f5xc_web_app_scanning_standard"
            ]
          },
          "f5xc_content_delivery_network_standard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for f5xc content delivery network standard.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "f5xc_appstack_standard",
              "f5xc_big_ip_irule_standard",
              "f5xc_bigip_utilities_standard",
              "f5xc_content_delivery_network_advanced",
              "f5xc_delegated_access_standard",
              "f5xc_securemesh_advanced",
              "f5xc_securemesh_standard",
              "f5xc_site_management_standard",
              "f5xc_synthetic_monitoring_standard",
              "f5xc_waap_advanced",
              "f5xc_waap_standard",
              "f5xc_web_app_scanning_standard"
            ]
          },
          "f5xc_delegated_access_standard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for f5xc delegated access standard.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "f5xc_appstack_standard",
              "f5xc_big_ip_irule_standard",
              "f5xc_bigip_utilities_standard",
              "f5xc_content_delivery_network_advanced",
              "f5xc_content_delivery_network_standard",
              "f5xc_securemesh_advanced",
              "f5xc_securemesh_standard",
              "f5xc_site_management_standard",
              "f5xc_synthetic_monitoring_standard",
              "f5xc_waap_advanced",
              "f5xc_waap_standard",
              "f5xc_web_app_scanning_standard"
            ]
          },
          "f5xc_securemesh_advanced": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "f5xc_appstack_standard",
              "f5xc_big_ip_irule_standard",
              "f5xc_bigip_utilities_standard",
              "f5xc_content_delivery_network_advanced",
              "f5xc_content_delivery_network_standard",
              "f5xc_delegated_access_standard",
              "f5xc_securemesh_standard",
              "f5xc_site_management_standard",
              "f5xc_synthetic_monitoring_standard",
              "f5xc_waap_advanced",
              "f5xc_waap_standard",
              "f5xc_web_app_scanning_standard"
            ]
          },
          "f5xc_securemesh_standard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "f5xc_appstack_standard",
              "f5xc_big_ip_irule_standard",
              "f5xc_bigip_utilities_standard",
              "f5xc_content_delivery_network_advanced",
              "f5xc_content_delivery_network_standard",
              "f5xc_delegated_access_standard",
              "f5xc_securemesh_advanced",
              "f5xc_site_management_standard",
              "f5xc_synthetic_monitoring_standard",
              "f5xc_waap_advanced",
              "f5xc_waap_standard",
              "f5xc_web_app_scanning_standard"
            ]
          },
          "f5xc_site_management_standard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "f5xc_appstack_standard",
              "f5xc_big_ip_irule_standard",
              "f5xc_bigip_utilities_standard",
              "f5xc_content_delivery_network_advanced",
              "f5xc_content_delivery_network_standard",
              "f5xc_delegated_access_standard",
              "f5xc_securemesh_advanced",
              "f5xc_securemesh_standard",
              "f5xc_synthetic_monitoring_standard",
              "f5xc_waap_advanced",
              "f5xc_waap_standard",
              "f5xc_web_app_scanning_standard"
            ]
          },
          "f5xc_synthetic_monitoring_standard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for f5xc synthetic monitoring standard.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "f5xc_appstack_standard",
              "f5xc_big_ip_irule_standard",
              "f5xc_bigip_utilities_standard",
              "f5xc_content_delivery_network_advanced",
              "f5xc_content_delivery_network_standard",
              "f5xc_delegated_access_standard",
              "f5xc_securemesh_advanced",
              "f5xc_securemesh_standard",
              "f5xc_site_management_standard",
              "f5xc_waap_advanced",
              "f5xc_waap_standard",
              "f5xc_web_app_scanning_standard"
            ]
          },
          "f5xc_waap_advanced": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for f5xc waap advanced.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "f5xc_appstack_standard",
              "f5xc_big_ip_irule_standard",
              "f5xc_bigip_utilities_standard",
              "f5xc_content_delivery_network_advanced",
              "f5xc_content_delivery_network_standard",
              "f5xc_delegated_access_standard",
              "f5xc_securemesh_advanced",
              "f5xc_securemesh_standard",
              "f5xc_site_management_standard",
              "f5xc_synthetic_monitoring_standard",
              "f5xc_waap_standard",
              "f5xc_web_app_scanning_standard"
            ]
          },
          "f5xc_waap_standard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for f5xc waap standard.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "f5xc_appstack_standard",
              "f5xc_big_ip_irule_standard",
              "f5xc_bigip_utilities_standard",
              "f5xc_content_delivery_network_advanced",
              "f5xc_content_delivery_network_standard",
              "f5xc_delegated_access_standard",
              "f5xc_securemesh_advanced",
              "f5xc_securemesh_standard",
              "f5xc_site_management_standard",
              "f5xc_synthetic_monitoring_standard",
              "f5xc_waap_advanced",
              "f5xc_web_app_scanning_standard"
            ]
          },
          "f5xc_web_app_scanning_standard": {
            "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": [
              "f5xc_appstack_standard",
              "f5xc_big_ip_irule_standard",
              "f5xc_bigip_utilities_standard",
              "f5xc_content_delivery_network_advanced",
              "f5xc_content_delivery_network_standard",
              "f5xc_delegated_access_standard",
              "f5xc_securemesh_advanced",
              "f5xc_securemesh_standard",
              "f5xc_site_management_standard",
              "f5xc_synthetic_monitoring_standard",
              "f5xc_waap_advanced",
              "f5xc_waap_standard"
            ]
          }
        },
        "x-f5xc-description-short": "Request to subscribe to one of addon services.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for subscriptionSubscribeRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Subscriptions are platform-level billing"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "subscriptionSubscribeResponse__ves_io_schema_subscription": {
        "type": "object",
        "description": "Response for subscribe.",
        "title": "SubscribeResponse",
        "x-displayname": "Subscribe response.",
        "x-ves-proto-message": "ves.io.schema.subscription.SubscribeResponse",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for subscriptionSubscribeResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Subscriptions are platform-level billing"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "subscriptionUnsubscribeRequest__ves_io_schema_subscription": {
        "type": "object",
        "description": "Request to unsubscribe to one of addon services.",
        "title": "UnsubscribeRequest",
        "x-displayname": "Unsubscribe request.",
        "x-ves-oneof-field-addon_choice": "[\"f5xc_appstack_standard\",\"f5xc_big_ip_irule_standard\",\"f5xc_bigip_utilities_standard\",\"f5xc_content_delivery_network_advanced\",\"f5xc_content_delivery_network_standard\",\"f5xc_delegated_access_standard\",\"f5xc_securemesh_advanced\",\"f5xc_securemesh_standard\",\"f5xc_site_management_standard\",\"f5xc_synthetic_monitoring_standard\",\"f5xc_waap_advanced\",\"f5xc_waap_standard\",\"f5xc_web_app_scanning_standard\"]",
        "x-ves-proto-message": "ves.io.schema.subscription.UnsubscribeRequest",
        "properties": {
          "f5xc_appstack_standard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for f5xc appstack standard.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "f5xc_big_ip_irule_standard",
              "f5xc_bigip_utilities_standard",
              "f5xc_content_delivery_network_advanced",
              "f5xc_content_delivery_network_standard",
              "f5xc_delegated_access_standard",
              "f5xc_securemesh_advanced",
              "f5xc_securemesh_standard",
              "f5xc_site_management_standard",
              "f5xc_synthetic_monitoring_standard",
              "f5xc_waap_advanced",
              "f5xc_waap_standard",
              "f5xc_web_app_scanning_standard"
            ]
          },
          "f5xc_big_ip_irule_standard": {
            "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": [
              "f5xc_appstack_standard",
              "f5xc_bigip_utilities_standard",
              "f5xc_content_delivery_network_advanced",
              "f5xc_content_delivery_network_standard",
              "f5xc_delegated_access_standard",
              "f5xc_securemesh_advanced",
              "f5xc_securemesh_standard",
              "f5xc_site_management_standard",
              "f5xc_synthetic_monitoring_standard",
              "f5xc_waap_advanced",
              "f5xc_waap_standard",
              "f5xc_web_app_scanning_standard"
            ]
          },
          "f5xc_bigip_utilities_standard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "f5xc_appstack_standard",
              "f5xc_big_ip_irule_standard",
              "f5xc_content_delivery_network_advanced",
              "f5xc_content_delivery_network_standard",
              "f5xc_delegated_access_standard",
              "f5xc_securemesh_advanced",
              "f5xc_securemesh_standard",
              "f5xc_site_management_standard",
              "f5xc_synthetic_monitoring_standard",
              "f5xc_waap_advanced",
              "f5xc_waap_standard",
              "f5xc_web_app_scanning_standard"
            ]
          },
          "f5xc_content_delivery_network_advanced": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for f5xc content delivery network advanced.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "f5xc_appstack_standard",
              "f5xc_big_ip_irule_standard",
              "f5xc_bigip_utilities_standard",
              "f5xc_content_delivery_network_standard",
              "f5xc_delegated_access_standard",
              "f5xc_securemesh_advanced",
              "f5xc_securemesh_standard",
              "f5xc_site_management_standard",
              "f5xc_synthetic_monitoring_standard",
              "f5xc_waap_advanced",
              "f5xc_waap_standard",
              "f5xc_web_app_scanning_standard"
            ]
          },
          "f5xc_content_delivery_network_standard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for f5xc content delivery network standard.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "f5xc_appstack_standard",
              "f5xc_big_ip_irule_standard",
              "f5xc_bigip_utilities_standard",
              "f5xc_content_delivery_network_advanced",
              "f5xc_delegated_access_standard",
              "f5xc_securemesh_advanced",
              "f5xc_securemesh_standard",
              "f5xc_site_management_standard",
              "f5xc_synthetic_monitoring_standard",
              "f5xc_waap_advanced",
              "f5xc_waap_standard",
              "f5xc_web_app_scanning_standard"
            ]
          },
          "f5xc_delegated_access_standard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for f5xc delegated access standard.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "f5xc_appstack_standard",
              "f5xc_big_ip_irule_standard",
              "f5xc_bigip_utilities_standard",
              "f5xc_content_delivery_network_advanced",
              "f5xc_content_delivery_network_standard",
              "f5xc_securemesh_advanced",
              "f5xc_securemesh_standard",
              "f5xc_site_management_standard",
              "f5xc_synthetic_monitoring_standard",
              "f5xc_waap_advanced",
              "f5xc_waap_standard",
              "f5xc_web_app_scanning_standard"
            ]
          },
          "f5xc_securemesh_advanced": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "f5xc_appstack_standard",
              "f5xc_big_ip_irule_standard",
              "f5xc_bigip_utilities_standard",
              "f5xc_content_delivery_network_advanced",
              "f5xc_content_delivery_network_standard",
              "f5xc_delegated_access_standard",
              "f5xc_securemesh_standard",
              "f5xc_site_management_standard",
              "f5xc_synthetic_monitoring_standard",
              "f5xc_waap_advanced",
              "f5xc_waap_standard",
              "f5xc_web_app_scanning_standard"
            ]
          },
          "f5xc_securemesh_standard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "f5xc_appstack_standard",
              "f5xc_big_ip_irule_standard",
              "f5xc_bigip_utilities_standard",
              "f5xc_content_delivery_network_advanced",
              "f5xc_content_delivery_network_standard",
              "f5xc_delegated_access_standard",
              "f5xc_securemesh_advanced",
              "f5xc_site_management_standard",
              "f5xc_synthetic_monitoring_standard",
              "f5xc_waap_advanced",
              "f5xc_waap_standard",
              "f5xc_web_app_scanning_standard"
            ]
          },
          "f5xc_site_management_standard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "f5xc_appstack_standard",
              "f5xc_big_ip_irule_standard",
              "f5xc_bigip_utilities_standard",
              "f5xc_content_delivery_network_advanced",
              "f5xc_content_delivery_network_standard",
              "f5xc_delegated_access_standard",
              "f5xc_securemesh_advanced",
              "f5xc_securemesh_standard",
              "f5xc_synthetic_monitoring_standard",
              "f5xc_waap_advanced",
              "f5xc_waap_standard",
              "f5xc_web_app_scanning_standard"
            ]
          },
          "f5xc_synthetic_monitoring_standard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for f5xc synthetic monitoring standard.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "f5xc_appstack_standard",
              "f5xc_big_ip_irule_standard",
              "f5xc_bigip_utilities_standard",
              "f5xc_content_delivery_network_advanced",
              "f5xc_content_delivery_network_standard",
              "f5xc_delegated_access_standard",
              "f5xc_securemesh_advanced",
              "f5xc_securemesh_standard",
              "f5xc_site_management_standard",
              "f5xc_waap_advanced",
              "f5xc_waap_standard",
              "f5xc_web_app_scanning_standard"
            ]
          },
          "f5xc_waap_advanced": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for f5xc waap advanced.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "f5xc_appstack_standard",
              "f5xc_big_ip_irule_standard",
              "f5xc_bigip_utilities_standard",
              "f5xc_content_delivery_network_advanced",
              "f5xc_content_delivery_network_standard",
              "f5xc_delegated_access_standard",
              "f5xc_securemesh_advanced",
              "f5xc_securemesh_standard",
              "f5xc_site_management_standard",
              "f5xc_synthetic_monitoring_standard",
              "f5xc_waap_standard",
              "f5xc_web_app_scanning_standard"
            ]
          },
          "f5xc_waap_standard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for f5xc waap standard.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "f5xc_appstack_standard",
              "f5xc_big_ip_irule_standard",
              "f5xc_bigip_utilities_standard",
              "f5xc_content_delivery_network_advanced",
              "f5xc_content_delivery_network_standard",
              "f5xc_delegated_access_standard",
              "f5xc_securemesh_advanced",
              "f5xc_securemesh_standard",
              "f5xc_site_management_standard",
              "f5xc_synthetic_monitoring_standard",
              "f5xc_waap_advanced",
              "f5xc_web_app_scanning_standard"
            ]
          },
          "f5xc_web_app_scanning_standard": {
            "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": [
              "f5xc_appstack_standard",
              "f5xc_big_ip_irule_standard",
              "f5xc_bigip_utilities_standard",
              "f5xc_content_delivery_network_advanced",
              "f5xc_content_delivery_network_standard",
              "f5xc_delegated_access_standard",
              "f5xc_securemesh_advanced",
              "f5xc_securemesh_standard",
              "f5xc_site_management_standard",
              "f5xc_synthetic_monitoring_standard",
              "f5xc_waap_advanced",
              "f5xc_waap_standard"
            ]
          }
        },
        "x-f5xc-description-short": "Request to unsubscribe to one of addon services.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for subscriptionUnsubscribeRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Subscriptions are platform-level billing"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "subscriptionUnsubscribeResponse__ves_io_schema_subscription": {
        "type": "object",
        "description": "Response for unsubscribe.",
        "title": "UnsubscribeResponse",
        "x-displayname": "Unsubscribe response.",
        "x-ves-proto-message": "ves.io.schema.subscription.UnsubscribeResponse",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for subscriptionUnsubscribeResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Subscriptions are platform-level billing"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemausageStatusType": {
        "type": "string",
        "description": "All possible usage line statuses\n\n- STATUS_UNKNOWN: No value defined\n- STATUS_NO_DATA: No data\n- STATUS_NOT_MEASURED: No measured\n- STATUS_ACTIVE: Active.",
        "title": "Status type",
        "enum": [
          "STATUS_UNKNOWN",
          "STATUS_NO_DATA",
          "STATUS_NOT_MEASURED",
          "STATUS_ACTIVE"
        ],
        "default": "STATUS_UNKNOWN",
        "x-displayname": "Status type.",
        "x-ves-proto-enum": "ves.io.schema.usage.StatusType",
        "x-f5xc-description-short": "All possible usage line statuses - STATUS_UNKNOWN: No value defined - STATUS_NO_DATA: No data - STATUS_NOT_MEASURED: No measured - STATUS_ACTIVE...",
        "x-f5xc-description-medium": "All possible usage line statuses - STATUS_UNKNOWN: No value defined - STATUS_NO_DATA: No data - STATUS_NOT_MEASURED: No measured - STATUS_ACTIVE: Active.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemausageStatusType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"STATUS_UNKNOWN\"",
          "example_yaml": "STATUS_UNKNOWN\n..."
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "usageCalculatedUsageItem": {
        "type": "object",
        "description": "One line of usage, including pricing details.",
        "title": "CalculatedUsageItem",
        "x-displayname": "Usage item.",
        "x-ves-proto-message": "ves.io.schema.usage.CalculatedUsageItem",
        "properties": {
          "amount": {
            "type": "string",
            "description": "Cost as hundredths of currency.",
            "title": "Amount",
            "format": "int64",
            "x-displayname": "Amount",
            "x-ves-example": "1234",
            "x-f5xc-example": "1234",
            "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
            }
          },
          "currency_code": {
            "type": "string",
            "description": "ISO currency code.",
            "title": "Currency code",
            "x-displayname": "Currency code.",
            "x-ves-example": "USD",
            "x-f5xc-example": "USD",
            "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
            }
          },
          "end_timestamp": {
            "type": "string",
            "description": "End of the time unit.",
            "title": "Timestamp end",
            "format": "date-time",
            "x-displayname": "End",
            "x-ves-example": "2020-04-20T12:32:51.341959216Z.",
            "x-f5xc-example": "2020-04-20T12:32:51.341959216Z",
            "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
            }
          },
          "fixed": {
            "type": "boolean",
            "description": "Means that this data came not from usage (reserved flag for support/discount/onboarding fees)",
            "title": "Fixed",
            "format": "boolean",
            "x-displayname": "Fixes",
            "x-f5xc-description-short": "Means that this data came not from usage (reserved flag for support/discount/onboarding fees).",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "metric_labels": {
            "type": "array",
            "description": "ID of the corresponding aggregated_usage metric labels from which this calculated usage item is assembled.",
            "title": "Metric labels",
            "items": {
              "type": "string"
            },
            "x-displayname": "Metric labels.",
            "x-ves-example": "['container-usage-large', 'container-usage-medium']",
            "x-f5xc-example": "['container-usage-large', 'container-usage-medium']",
            "x-f5xc-description-short": "ID of the corresponding aggregated_usage metric labels from which this calculated usage item is assembled.",
            "x-f5xc-description-medium": "ID of the corresponding aggregated_usage metric labels from which this calculated usage item is assembled.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "quantity": {
            "type": "number",
            "description": "Quantity incurred.",
            "title": "Quantity",
            "format": "double",
            "x-displayname": "Quantity",
            "x-ves-example": "100",
            "x-f5xc-example": "100",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "quantity_billable": {
            "type": "string",
            "description": "Quantity which is used to calculate the amount. Rounded from quantity as the following:\n* after converting quantity from unit_code to unit_code of this addon_id, if the value < 1, then\nquantity_billable is rounded to 1\n* after converting quantity from unit_code to unit_code of this addon_id, if the value > 1, then\nquantity_billable is rounded down to the nearest value.",
            "title": "Quantity billable",
            "format": "int64",
            "x-displayname": "Quantity billable.",
            "x-f5xc-example": "115",
            "x-f5xc-description-short": "Quantity which is used to calculate the amount.",
            "x-f5xc-description-medium": "Quantity which is used to calculate the amount. Rounded from quantity as the following: * after converting quantity from unit_code to unit_code of this addon_id, if the value < 1, then quantity_billable is rounded to 1 * after converting quantity from unit_code to unit_code of this addon_id, if...",
            "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
            }
          },
          "start_timestamp": {
            "type": "string",
            "description": "Beginning of the time unit.",
            "title": "Timestamp start",
            "format": "date-time",
            "x-displayname": "Start",
            "x-ves-example": "2020-04-20T12:32:51.341959216Z.",
            "x-f5xc-example": "2020-04-20T12:32:51.341959216Z",
            "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/schemausageStatusType"
              }
            ],
            "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"
          },
          "unit_name": {
            "type": "string",
            "description": "Name of the quantity unit.",
            "title": "Unit name",
            "x-displayname": "Unit name",
            "x-ves-example": "MB",
            "x-f5xc-example": "MB",
            "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
            }
          },
          "unit_name_billable": {
            "type": "string",
            "description": "Unit name a quantity_billable is provided in.",
            "title": "Unit name billable",
            "x-displayname": "Unit name billable.",
            "x-f5xc-example": "GB",
            "x-f5xc-description-short": "Unit name a quantity_billable is provided 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
            }
          },
          "usage_type": {
            "type": "string",
            "description": "Type of the resource.",
            "title": "Usage type",
            "x-displayname": "Usage type.",
            "x-ves-example": "ADN App Mgmt - Customer Edge Large Containers.",
            "x-f5xc-example": "ADN App Mgmt - Customer Edge Large Containers",
            "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": "One line of usage, including pricing details.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for usageCalculatedUsageItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "usageCoupon": {
        "type": "object",
        "description": "Coupon details, discount type, amount and name.",
        "title": "Coupon",
        "x-displayname": "Coupon",
        "x-ves-proto-message": "ves.io.schema.usage.Coupon",
        "properties": {
          "discount_amount": {
            "type": "integer",
            "description": "[x-required]\nIf discount_type is fixed_amount, discount_amount is in cents\nIf discount_type is percentage, discount_amount is in percentages of 0.01% precision (12.35% equals to 1235)",
            "title": "Discount amount",
            "format": "int32",
            "x-displayname": "Discount amount.",
            "x-ves-example": "1234",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "1234",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "[x-required] If discount_type is fixed_amount, discount_amount is in cents If discount_type is percentage, discount_amount is in percentages of...",
            "x-f5xc-description-medium": "[x-required] If discount_type is fixed_amount, discount_amount is in cents If discount_type is percentage, discount_amount is in percentages of 0.01% precision (12.35% equals to 1235).",
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "discount_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/usageDiscountType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "title": {
            "type": "string",
            "description": "Title (or name) of the coupon.",
            "title": "Title",
            "x-displayname": "Title",
            "x-ves-example": "Coupon 1",
            "x-f5xc-example": "Coupon 1",
            "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"
          }
        },
        "x-f5xc-description-short": "Coupon details, discount type, amount and name.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for usageCoupon",
          "required_fields": [
            "discount_amount"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"discount_amount\": 0\n}",
          "example_yaml": "discount_amount: 0"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "usageDiscountType": {
        "type": "string",
        "description": "Indicates what type of discount is applied for a coupon: fixed price or percentage.\n\nUnknown\nThe specified amount will be given as discount.\nThe specified percentage will be given as discount.",
        "title": "Discount type",
        "enum": [
          "DISCOUNT_TYPE_UNKNOWN",
          "DISCOUNT_TYPE_FIXED_AMOUNT",
          "DISCOUNT_TYPE_PERCENTAGE"
        ],
        "default": "DISCOUNT_TYPE_UNKNOWN",
        "x-displayname": "Discount type.",
        "x-ves-proto-enum": "ves.io.schema.usage.DiscountType",
        "x-f5xc-description-short": "Indicates what type of discount is applied for a coupon: fixed price or percentage.",
        "x-f5xc-description-medium": "Indicates what type of discount is applied for a coupon: fixed price or percentage. Unknown The specified amount will be given as discount. The specified percentage will be given as discount.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for usageDiscountType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"DISCOUNT_TYPE_UNKNOWN\"",
          "example_yaml": "DISCOUNT_TYPE_UNKNOWN\n..."
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "usageHourlyItem": {
        "type": "object",
        "description": "One line of usage by an hour. One hour as the least resolution.",
        "title": "Hourly usage item",
        "x-displayname": "Hourly usage item.",
        "x-ves-proto-message": "ves.io.schema.usage.HourlyItem",
        "properties": {
          "container": {
            "type": "string",
            "description": "Container name if this item correspond to the container usage. Otherwise it's empty.",
            "title": "Container",
            "x-displayname": "Container",
            "x-ves-example": "Pa4-deployment1-abcd12.",
            "x-f5xc-example": "pa4-deployment1-abcd12",
            "x-f5xc-description-short": "Container name if this item correspond to the container usage. Otherwise it's empty.",
            "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
            }
          },
          "deployment": {
            "type": "string",
            "description": "[x-required]\nDeployment name if this item correspond to the container usage. Otherwise it's empty.",
            "title": "Deployment",
            "x-displayname": "Deployment.",
            "x-ves-example": "Pa4-deployment1.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "pa4-deployment1",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "[x-required] Deployment name if this item correspond to the container usage. Otherwise it's empty.",
            "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
            }
          },
          "end_timestamp": {
            "type": "string",
            "description": "End of the time unit.",
            "title": "Timestamp end",
            "format": "date-time",
            "x-displayname": "End",
            "x-ves-example": "2020-04-20T12:32:51.341959216Z.",
            "x-f5xc-example": "2020-04-20T12:32:51.341959216Z",
            "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
            }
          },
          "quantity": {
            "type": "number",
            "description": "Quantity incurred.",
            "title": "Quantity",
            "format": "double",
            "x-displayname": "Quantity",
            "x-ves-example": "100",
            "x-f5xc-example": "100",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "start_timestamp": {
            "type": "string",
            "description": "Beginning of the time unit.",
            "title": "Timestamp start",
            "format": "date-time",
            "x-displayname": "Start",
            "x-ves-example": "2020-04-20T12:32:51.341959216Z.",
            "x-f5xc-example": "2020-04-20T12:32:51.341959216Z",
            "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
            }
          },
          "unit_name": {
            "type": "string",
            "description": "Name of the quantity unit.",
            "title": "Unit name",
            "x-displayname": "Unit name",
            "x-ves-example": "MB",
            "x-f5xc-example": "MB",
            "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": "One line of usage by an hour. One hour as the least resolution.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for usageHourlyItem",
          "required_fields": [
            "deployment"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"deployment\": \"pa4-deployment1\"\n}",
          "example_yaml": "deployment: pa4-deployment1"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "usageListCurrentUsageReq": {
        "type": "object",
        "description": "Request message to GET current usage details.",
        "title": "List current usage details request",
        "x-displayname": "List current usage details request.",
        "x-ves-proto-message": "ves.io.schema.usage.ListCurrentUsageReq",
        "properties": {
          "from": {
            "type": "string",
            "description": "Indicates the \"from\" part of the request.",
            "title": "Timestamp from",
            "format": "date-time",
            "x-displayname": "From",
            "x-ves-example": "2020-04-20T12:32:51.341959216Z.",
            "x-f5xc-example": "2020-04-20T12:32:51.341959216Z",
            "x-f5xc-description-short": "Indicates the \"from\" part of the request.",
            "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
            }
          },
          "namespace": {
            "type": "string",
            "description": "Namespace to be considered.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.const": "system"
            },
            "x-f5xc-example": "system",
            "x-validation-rules": {
              "ves.io.schema.rules.string.const": "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])?$"
          },
          "to": {
            "type": "string",
            "description": "Indicates the \"to\" part of the request.",
            "title": "Timestamp to",
            "format": "date-time",
            "x-displayname": "To",
            "x-ves-example": "2020-04-20T12:32:51.341959216Z.",
            "x-f5xc-example": "2020-04-20T12:32:51.341959216Z",
            "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": "Request message to GET current usage details.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for usageListCurrentUsageReq",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "usageListCurrentUsageResp": {
        "type": "object",
        "description": "Response message to GET current usage details.",
        "title": "List current usage details response",
        "x-displayname": "List current usage details response.",
        "x-ves-proto-message": "ves.io.schema.usage.ListCurrentUsageResp",
        "properties": {
          "coupons": {
            "type": "array",
            "description": "All used coupons.",
            "title": "Coupons",
            "items": {
              "$ref": "#/components/schemas/usageCoupon"
            },
            "x-displayname": "Coupons",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "discount": {
            "type": "string",
            "description": "Discount as hundredths of currency.",
            "title": "Discount",
            "format": "int64",
            "x-displayname": "Discount",
            "x-ves-example": "12345",
            "x-f5xc-example": "12345",
            "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
            }
          },
          "total_cost": {
            "type": "string",
            "description": "Total cost as hundredths of currency.",
            "title": "Total cost",
            "format": "int64",
            "x-displayname": "Total cost.",
            "x-ves-example": "12345",
            "x-f5xc-example": "12345",
            "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
            }
          },
          "usage_items": {
            "type": "array",
            "description": "Collection of usage items, lines of response.",
            "title": "Usage items",
            "items": {
              "$ref": "#/components/schemas/usageCalculatedUsageItem"
            },
            "x-displayname": "Usage items.",
            "x-f5xc-description-short": "Collection of usage items, lines of response.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Response message to GET current usage details.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for usageListCurrentUsageResp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "usageListHourlyUsageDetailsReq": {
        "type": "object",
        "description": "Request body for ListHourlyUsageDetails rpc method.",
        "title": "ListHourlyUsageDetailsReq",
        "x-displayname": "List Hourly Usage Details Request.",
        "x-ves-proto-message": "ves.io.schema.usage.ListHourlyUsageDetailsReq",
        "properties": {
          "namespace": {
            "type": "string",
            "description": "Namespace",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.const": "system"
            },
            "x-f5xc-example": "system",
            "x-validation-rules": {
              "ves.io.schema.rules.string.const": "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])?$"
          },
          "query": {
            "type": "string",
            "description": "Encoded query which is passed as is to barracute daemon.",
            "title": "query",
            "x-displayname": "Query",
            "x-ves-example": "{'MetricLabel':'label'}",
            "x-f5xc-example": "{'MetricLabel':'label'}",
            "x-f5xc-description-short": "Encoded query which is passed as is to barracute daemon.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "content",
              "maxLength": 1024,
              "minLength": 0,
              "metadata": {
                "source": "inferred",
                "confidence": 0.75,
                "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": "Request body for ListHourlyUsageDetails rpc method.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for usageListHourlyUsageDetailsReq",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "usageListHourlyUsageDetailsResp": {
        "type": "object",
        "description": "Response body for ListHourlyUsageDetails rpc method.",
        "title": "List Hourly Usage Details Response",
        "x-displayname": "List Hourly Usage Details Response.",
        "x-ves-proto-message": "ves.io.schema.usage.ListHourlyUsageDetailsResp",
        "properties": {
          "hourly_usage_items": {
            "type": "array",
            "description": "Array of usage by hour in the period from the query.",
            "title": "Usage items",
            "items": {
              "$ref": "#/components/schemas/usageHourlyItem"
            },
            "x-displayname": "Usage items.",
            "x-f5xc-description-short": "Array of usage by hour in the period from the query.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Response body for ListHourlyUsageDetails rpc method.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for usageListHourlyUsageDetailsResp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "usageListMonthlyUsageReq": {
        "type": "object",
        "description": "Request message to GET mon thly usage details.",
        "title": "List monthly usage details request",
        "x-displayname": "List monthly usage details request.",
        "x-ves-proto-message": "ves.io.schema.usage.ListMonthlyUsageReq",
        "properties": {
          "namespace": {
            "type": "string",
            "description": "Namespace to be considered.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.const": "system"
            },
            "x-f5xc-example": "system",
            "x-validation-rules": {
              "ves.io.schema.rules.string.const": "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])?$"
          }
        },
        "x-f5xc-description-short": "Request message to GET mon thly usage details.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for usageListMonthlyUsageReq",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "usageListMonthlyUsageResp": {
        "type": "object",
        "description": "Response message to GET monthly usage details.",
        "title": "List monthly usage details response",
        "x-displayname": "List monthly usage details response.",
        "x-ves-proto-message": "ves.io.schema.usage.ListMonthlyUsageResp",
        "properties": {
          "monthly_usage_items": {
            "type": "array",
            "description": "Collection of usage items, lines of response.",
            "title": "Usage items",
            "items": {
              "$ref": "#/components/schemas/usageMonthlyUsageType"
            },
            "x-displayname": "Usage items.",
            "x-f5xc-description-short": "Collection of usage items, lines of response.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Response message to GET monthly usage details.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for usageListMonthlyUsageResp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "usageListUsageDetailsReq": {
        "type": "object",
        "description": "Request message to GET usage details.",
        "title": "List usage details request",
        "x-displayname": "List usage details request.",
        "x-ves-proto-message": "ves.io.schema.usage.ListUsageDetailsReq",
        "properties": {
          "from": {
            "type": "string",
            "description": "Indicates the \"from\" part of the request.",
            "title": "Timestamp from",
            "format": "date-time",
            "x-displayname": "From",
            "x-ves-example": "2020-04-20T12:32:51.341959216Z.",
            "x-f5xc-example": "2020-04-20T12:32:51.341959216Z",
            "x-f5xc-description-short": "Indicates the \"from\" part of the request.",
            "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
            }
          },
          "namespace": {
            "type": "string",
            "description": "Namespace to be considered.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.const": "system"
            },
            "x-f5xc-example": "system",
            "x-validation-rules": {
              "ves.io.schema.rules.string.const": "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])?$"
          },
          "to": {
            "type": "string",
            "description": "Indicates the \"to\" part of the request.",
            "title": "Timestamp to",
            "format": "date-time",
            "x-displayname": "To",
            "x-ves-example": "2020-04-20T12:32:51.341959216Z.",
            "x-f5xc-example": "2020-04-20T12:32:51.341959216Z",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for usageListUsageDetailsReq",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "usageListUsageDetailsResp": {
        "type": "object",
        "description": "Response message to GET usage details.",
        "title": "List usage details response",
        "x-displayname": "List usage details response.",
        "x-ves-proto-message": "ves.io.schema.usage.ListUsageDetailsResp",
        "properties": {
          "usage_items": {
            "type": "array",
            "description": "Collection of usage items, lines of response.",
            "title": "Usage items",
            "items": {
              "$ref": "#/components/schemas/usageUsageItem"
            },
            "x-displayname": "Usage items.",
            "x-f5xc-description-short": "Collection of usage items, lines of response.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for usageListUsageDetailsResp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "usageMonthlyUsageType": {
        "type": "object",
        "description": "One line of usage, including pricing details.",
        "title": "MonthlyUsageType",
        "x-displayname": "Usage item.",
        "x-ves-proto-message": "ves.io.schema.usage.MonthlyUsageType",
        "properties": {
          "amount": {
            "type": "string",
            "description": "Cost as hundredths of currency.",
            "title": "Amount",
            "format": "int64",
            "x-displayname": "Amount",
            "x-ves-example": "1234",
            "x-f5xc-example": "1234",
            "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
            }
          },
          "currency_code": {
            "type": "string",
            "description": "ISO currency code.",
            "title": "Currency code",
            "x-displayname": "Currency code.",
            "x-ves-example": "USD",
            "x-f5xc-example": "USD",
            "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
            }
          },
          "end_timestamp": {
            "type": "string",
            "description": "End of the time unit.",
            "title": "Timestamp end",
            "format": "date-time",
            "x-displayname": "End",
            "x-ves-example": "2020-04-20T12:32:51.341959216Z.",
            "x-f5xc-example": "2020-04-20T12:32:51.341959216Z",
            "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
            }
          },
          "start_timestamp": {
            "type": "string",
            "description": "Beginning of the time unit.",
            "title": "Timestamp start",
            "format": "date-time",
            "x-displayname": "Start",
            "x-ves-example": "2020-04-20T12:32:51.341959216Z.",
            "x-f5xc-example": "2020-04-20T12:32:51.341959216Z",
            "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": "One line of usage, including pricing details.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for usageMonthlyUsageType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "usageUsageItem": {
        "type": "object",
        "description": "Usage item represents a line in a usage report, including quantity and resource incurring usage.",
        "title": "Usage item",
        "x-displayname": "Usage item.",
        "x-ves-proto-message": "ves.io.schema.usage.UsageItem",
        "properties": {
          "end_timestamp": {
            "type": "string",
            "description": "End of the time unit.",
            "title": "Timestamp end",
            "format": "date-time",
            "x-displayname": "End",
            "x-ves-example": "2020-04-20T12:32:51.341959216Z.",
            "x-f5xc-example": "2020-04-20T12:32:51.341959216Z",
            "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
            }
          },
          "hourly_breakdown": {
            "type": "array",
            "description": "An array of HourlyItem with usage per hour. The sum of these items will result into the parent's object `quantity`\nDeprecated: use /hourly_usage_details along with hourly_breakdown_query.",
            "title": "Hourly breakdown",
            "items": {
              "$ref": "#/components/schemas/usageHourlyItem"
            },
            "x-displayname": "Hourly breakdown.",
            "x-f5xc-description-short": "Array of HourlyItem with usage per hour.",
            "x-f5xc-description-medium": "Array of HourlyItem with usage per hour. The sum of these items will result into the parent's object Deprecated: use /hourly_usage_details along with hourly_breakdown_query.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "hourly_breakdown_query": {
            "type": "string",
            "description": "[x-required]\nA base64 encoded JSON which should be passed as is to /hourly_usage_details\nto GET hourly items for this aggregated usage.",
            "title": "Hourly breakdown query",
            "x-displayname": "Hourly breakdown query.",
            "x-ves-example": "{'MetricLabel':'label'}",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "{'MetricLabel':'label'}",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "[x-required] A base64 encoded JSON which should be passed as is to /hourly_usage_details to GET hourly items for this aggregated usage.",
            "x-f5xc-description-medium": "[x-required] A base64 encoded JSON which should be passed as is to /hourly_usage_details to GET hourly items for this aggregated usage.",
            "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
            }
          },
          "metric_label": {
            "type": "string",
            "description": "[x-required]\nID of the usage type. As Usage type is shown for user and is a subject of frequent changes,\nthis metric_label should be static and should be usage for mapping between calculated usage and aggregated_usage.",
            "title": "Metric label",
            "x-displayname": "Metric label.",
            "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-medium": "[x-required] ID of the usage type. As Usage type is shown for user and is a subject of frequent changes, this metric_label should be static and should be usage for mapping between calculated usage and aggregated_usage.",
            "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
            }
          },
          "namespace": {
            "type": "string",
            "description": "Namespace where the usage occurred.",
            "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])?$"
          },
          "object_name": {
            "type": "string",
            "description": "Name of the object where the usage occurred.",
            "title": "Object name",
            "x-displayname": "Object name.",
            "x-ves-example": "Pa4-resource1.",
            "x-f5xc-example": "pa4-resource1",
            "x-f5xc-description-short": "Name of the object where the usage occurred.",
            "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
            }
          },
          "quantity": {
            "type": "number",
            "description": "Quantity incurred.",
            "title": "Quantity",
            "format": "double",
            "x-displayname": "Quantity",
            "x-ves-example": "100",
            "x-f5xc-example": "100",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "start_timestamp": {
            "type": "string",
            "description": "Beginning of the time unit.",
            "title": "Timestamp start",
            "format": "date-time",
            "x-displayname": "Start",
            "x-ves-example": "2020-04-20T12:32:51.341959216Z.",
            "x-f5xc-example": "2020-04-20T12:32:51.341959216Z",
            "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
            }
          },
          "unit_name": {
            "type": "string",
            "description": "Name of the quantity unit.",
            "title": "Unit name",
            "x-displayname": "Unit name",
            "x-ves-example": "MB",
            "x-f5xc-example": "MB",
            "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
            }
          },
          "usage_type": {
            "type": "string",
            "description": "Type of the resource.",
            "title": "Usage type",
            "x-displayname": "Usage type.",
            "x-ves-example": "ADN App Mgmt - Customer Edge Large Containers.",
            "x-f5xc-example": "ADN App Mgmt - Customer Edge Large Containers",
            "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": "Usage item represents a line in a usage report, including quantity and resource incurring usage.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for usageUsageItem",
          "required_fields": [
            "hourly_breakdown_query",
            "metric_label"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"hourly_breakdown_query\": \"{'MetricLabel':'label'}\",\n  \"metric_label\": \"value\"\n}",
          "example_yaml": "hourly_breakdown_query: '{''MetricLabel'':''label''}'\nmetric_label: value"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "planAddonServiceDetails": {
        "type": "object",
        "description": "Details about addon service.",
        "title": "Addon Service Details",
        "x-displayname": "Addon Service Details.",
        "x-ves-proto-message": "ves.io.schema.usage.plan.AddonServiceDetails",
        "properties": {
          "display_name": {
            "type": "string",
            "description": "Human readable name of addon.",
            "title": "Display name",
            "x-displayname": "Display name.",
            "x-ves-example": "Transfer from RE to CE.",
            "x-f5xc-example": "Transfer from RE to CE",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "display",
              "maxLength": 1024,
              "minLength": 1,
              "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
            }
          },
          "name": {
            "type": "string",
            "description": "Name of the addon feature.",
            "title": "Name",
            "x-displayname": "Name",
            "x-ves-example": "RE-2-CE-v1.",
            "x-f5xc-example": "re-2-ce-v1",
            "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-minimum-configuration": {
          "description": "Minimum configuration for planAddonServiceDetails",
          "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": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "planListUsagePlansRsp": {
        "type": "object",
        "description": "Response with the usage plans info.",
        "title": "Usage Plans Response",
        "x-displayname": "UsagePlansRsp.",
        "x-ves-proto-message": "ves.io.schema.usage.plan.ListUsagePlansRsp",
        "properties": {
          "usage_plans": {
            "type": "array",
            "description": "Collection of available plans.",
            "title": "Usage plans",
            "items": {
              "$ref": "#/components/schemas/planLocalizedPlan"
            },
            "x-displayname": "Usage plans.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for planListUsagePlansRsp",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "planLocalizedPlan": {
        "type": "object",
        "description": "Localized info of usage plan.",
        "title": "LocalizedUsagePlan",
        "x-displayname": "LocalizedUsagePlan.",
        "x-ves-proto-message": "ves.io.schema.usage.plan.LocalizedPlan",
        "properties": {
          "locale": {
            "type": "string",
            "description": "Locale in the ISO dashed format.",
            "title": "Locale",
            "x-displayname": "Locale",
            "x-ves-example": "En-us",
            "x-f5xc-example": "en-us",
            "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
            }
          },
          "plans": {
            "type": "array",
            "description": "Collection of currently publicly available plans.",
            "title": "Plans",
            "items": {
              "$ref": "#/components/schemas/planPlanInternal"
            },
            "x-displayname": "Plans",
            "x-f5xc-description-short": "Collection of currently publicly available plans.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for planLocalizedPlan",
          "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": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "planPeriodUnitType": {
        "type": "string",
        "description": "Temporal period type\n\n- PERIOD_UNKNOWN: unknown, undefined period of time\n- PERIOD_DAY: Day\n- PERIOD_WEEK: Week\n- PERIOD_MONTH: Month\n- PERIOD_YEAR: Year.",
        "title": "Period type",
        "enum": [
          "PERIOD_UNKNOWN",
          "PERIOD_DAY",
          "PERIOD_WEEK",
          "PERIOD_MONTH",
          "PERIOD_YEAR"
        ],
        "default": "PERIOD_UNKNOWN",
        "x-displayname": "Period type.",
        "x-ves-proto-enum": "ves.io.schema.usage.plan.PeriodUnitType",
        "x-f5xc-description-short": "Temporal period type - PERIOD_UNKNOWN: unknown, undefined period of time - PERIOD_DAY: Day - PERIOD_WEEK: Week - PERIOD_MONTH: Month ...",
        "x-f5xc-description-medium": "Temporal period type - PERIOD_UNKNOWN: unknown, undefined period of time - PERIOD_DAY: Day - PERIOD_WEEK: Week - PERIOD_MONTH: Month - PERIOD_YEAR: Year.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for planPeriodUnitType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"PERIOD_UNKNOWN\"",
          "example_yaml": "PERIOD_UNKNOWN\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "planPlanInternal": {
        "type": "object",
        "description": "Structure that holds all data needed to choose usage plan.",
        "title": "PlanInternal",
        "x-displayname": "PlanInternal.",
        "x-ves-proto-message": "ves.io.schema.usage.plan.PlanInternal",
        "properties": {
          "allowed_addon_services": {
            "type": "array",
            "description": "List of addon services that can be subscribed part of current plan.",
            "items": {
              "$ref": "#/components/schemas/planAddonServiceDetails"
            },
            "x-displayname": "Allowed Addon Services.",
            "x-f5xc-description-short": "List of addon services that can be subscribed part of current plan.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "billing_disabled": {
            "type": "boolean",
            "description": "If true then there's no automatic billing.",
            "title": "Billing disabled",
            "format": "boolean",
            "x-displayname": "Billing disabled.",
            "x-f5xc-description-short": "If true then there's no automatic billing.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "current": {
            "type": "boolean",
            "description": "True if plan is active. Note that customers are only allowed to current plans.",
            "title": "Current",
            "format": "boolean",
            "x-displayname": "Current",
            "x-f5xc-description-short": "True if plan is active. Note that customers are only allowed to current plans.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "default_quota": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaquotaGlobalSpecType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for default quota.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "Description of the plan as mark-down text.",
            "title": "Description",
            "x-displayname": "Description.",
            "x-ves-example": "###Free plan, includes x y z *Free item 1 *Free item 2 ##Self-support only.",
            "x-f5xc-example": "###Free plan, includes x y z *Free item 1 *Free item 2 ##Self-support only",
            "x-f5xc-description-short": "Description of the plan as mark-down text.",
            "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"
          },
          "flat_price": {
            "type": "integer",
            "description": "Flat fee of the plan in cents.",
            "title": "Flat price",
            "format": "int32",
            "x-displayname": "Flat price.",
            "x-ves-example": "100",
            "x-f5xc-example": "100",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "included_addon_services": {
            "type": "array",
            "description": "List of addon services that are available part of current plan.",
            "items": {
              "$ref": "#/components/schemas/planAddonServiceDetails"
            },
            "x-displayname": "Included Addon Services.",
            "x-f5xc-description-short": "List of addon services that are available part of current plan.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Name of the plan, the name is not guaranteed to be human readable.",
            "title": "Name",
            "x-displayname": "Name",
            "x-ves-example": "Free-p25-v2.",
            "x-f5xc-example": "free-p25-v2",
            "x-f5xc-description-short": "Name of the plan, the name is not guaranteed to be human readable.",
            "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])?$"
          },
          "renewal_period_unit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/planPeriodUnitType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for renewal period unit.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/planPlanState"
              }
            ],
            "x-f5xc-example": "running",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "subtitle": {
            "type": "string",
            "description": "Optional second line of the title of the plan, human readable.",
            "title": "Sub-Title",
            "x-displayname": "Sub-title",
            "x-ves-example": "Our free plan.",
            "x-f5xc-example": "Our free plan",
            "x-f5xc-description-short": "Optional second line of the title of the plan, human readable.",
            "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
            }
          },
          "tenant_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaTenantType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "title": {
            "type": "string",
            "description": "Title of the plan, human readable.",
            "title": "Title",
            "x-displayname": "Title",
            "x-ves-example": "Free",
            "x-f5xc-example": "Free",
            "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"
          },
          "transition_flow": {
            "allOf": [
              {
                "$ref": "#/components/schemas/planUsagePlanTransitionFlow"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for transition flow.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "trial_period": {
            "type": "integer",
            "description": "Trial period associated with this plan. Different pricing conditions are in place during the trial period - flat fee my not apply, or similar.",
            "title": "Trial period",
            "format": "int32",
            "x-displayname": "Trial period.",
            "x-ves-example": "3",
            "x-f5xc-example": "3",
            "x-f5xc-description-short": "Trial period associated with this plan. Different pricing conditions are in place during the trial period - flat fee my not apply, or similar.",
            "x-f5xc-description-medium": "Trial period associated with this plan. Different pricing conditions are in place during the trial period - flat fee my not apply, or similar.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "trial_period_unit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/planPeriodUnitType"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for trial period unit.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "usage_plan_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaPlanType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Structure that holds all data needed to choose usage plan.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for planPlanInternal",
          "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": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "planPlanState": {
        "type": "string",
        "description": "State of the\n\n- STATE_UNSPECIFIED: zero value\n- STATE_READY: the plan is in default state\n- STATE_TRANSITION_PENDING: the plan is in the state of plan transitioning. If the plan has current flag equals to true and in\nTRANSITION_PENDING then tenant moves to another plan which is in state TRANSITION_PENDING.\nAt the same moment in time no more than 2 plans should have TRANSITION_PENDING state.",
        "title": "PlanTransitionState",
        "enum": [
          "STATE_UNSPECIFIED",
          "STATE_READY",
          "STATE_TRANSITION_PENDING"
        ],
        "default": "STATE_UNSPECIFIED",
        "x-displayname": "PlanTransitionState.",
        "x-ves-proto-enum": "ves.io.schema.usage.plan.PlanState",
        "x-f5xc-description-short": "State of the - STATE_UNSPECIFIED: zero value - STATE_READY: the plan is in default state - STATE_TRANSITION_PENDING: the plan is in the state of...",
        "x-f5xc-description-medium": "State of the - STATE_UNSPECIFIED: zero value - STATE_READY: the plan is in default state - STATE_TRANSITION_PENDING: the plan is in the state of plan transitioning. If the plan has current flag equals to true and in TRANSITION_PENDING then tenant moves to another plan which is in state...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for planPlanState",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"STATE_UNSPECIFIED\"",
          "example_yaml": "STATE_UNSPECIFIED\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "planPlanTransitionMethod": {
        "type": "string",
        "description": "Transitioning method which UI should show to the customer to properly execute the transition between\n\n- TRANSITION_METHOD_UNSPECIFIED: Zero value\n- TRANSITION_METHOD_SUPPORT: The transition should be done via a support request, the current behaviour for any transition\n- TRANSITION_METHOD_WIZARD: The transition should be done via a custom Wizard. Fields which should be\nprovided will be guided by PlanTransitionRequiredField\n- TRANSITION_METHOD_RECREATE: The transition should be done via logging the user out, deleting the current tenant and creating a new one.",
        "title": "PlanTransitionMethod",
        "enum": [
          "TRANSITION_METHOD_UNSPECIFIED",
          "TRANSITION_METHOD_SUPPORT",
          "TRANSITION_METHOD_WIZARD",
          "TRANSITION_METHOD_RECREATE"
        ],
        "default": "TRANSITION_METHOD_UNSPECIFIED",
        "x-displayname": "PlanTransitionMethod.",
        "x-ves-proto-enum": "ves.io.schema.usage.plan.PlanTransitionMethod",
        "x-f5xc-description-short": "Transitioning method which UI should show to the customer to properly execute the transition between - TRANSITION_METHOD_UNSPECIFIED: Zero value ...",
        "x-f5xc-description-medium": "Transitioning method which UI should show to the customer to properly execute the transition between - TRANSITION_METHOD_UNSPECIFIED: Zero value - TRANSITION_METHOD_SUPPORT: The transition should be done via a support request, the current behaviour for any transition - TRANSITION_METHOD_WIZARD...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for planPlanTransitionMethod",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"TRANSITION_METHOD_UNSPECIFIED\"",
          "example_yaml": "TRANSITION_METHOD_UNSPECIFIED\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "planPlanTransitionRequiredField": {
        "type": "string",
        "description": "Fields which UI should provide to the backend to properly execute the transition between plans\n\n- TRANSITION_REQUIRED_FIELD_UNSPECIFIED: Zero value\n- TRANSITION_REQUIRED_FIELD_PAYMENT_TOKEN: Stripe token after user enters CC info and we submit it to stripe\n- TRANSITION_REQUIRED_FIELD_DOMAIN: Domain for team/organization plans which will be used for keycloak realm\n- TRANSITION_REQUIRED_FIELD_CONTACTS: Contacts is billing contacts.",
        "title": "PlanTransitionRequiredField",
        "enum": [
          "TRANSITION_REQUIRED_FIELD_UNSPECIFIED",
          "TRANSITION_REQUIRED_FIELD_PAYMENT_TOKEN",
          "TRANSITION_REQUIRED_FIELD_DOMAIN",
          "TRANSITION_REQUIRED_FIELD_CONTACTS"
        ],
        "default": "TRANSITION_REQUIRED_FIELD_UNSPECIFIED",
        "x-displayname": "PlanTransitionRequiredField.",
        "x-ves-proto-enum": "ves.io.schema.usage.plan.PlanTransitionRequiredField",
        "x-f5xc-description-short": "Fields which UI should provide to the backend to properly execute the transition between plans - TRANSITION_REQUIRED_FIELD_UNSPECIFIED: Zero value...",
        "x-f5xc-description-medium": "Fields which UI should provide to the backend to properly execute the transition between plans - TRANSITION_REQUIRED_FIELD_UNSPECIFIED: Zero value - TRANSITION_REQUIRED_FIELD_PAYMENT_TOKEN: Stripe token after user enters CC info and we submit it to stripe - TRANSITION_REQUIRED_FIELD_DOMAIN...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for planPlanTransitionRequiredField",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"TRANSITION_REQUIRED_FIELD_UNSPECIFIED\"",
          "example_yaml": "TRANSITION_REQUIRED_FIELD_UNSPECIFIED\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "planUsagePlanTransitionFlow": {
        "type": "object",
        "description": "Details for transition flow. Is used as part of UsagePlanInternal.",
        "title": "UsagePlanTransitionFlow",
        "x-displayname": "UsagePlanTransitionFlow.",
        "x-ves-proto-message": "ves.io.schema.usage.plan.UsagePlanTransitionFlow",
        "properties": {
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/planPlanTransitionMethod"
              }
            ],
            "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
            }
          },
          "required_fields": {
            "type": "array",
            "description": "Mandatory information to migrate onto this plan.",
            "title": "Required fields",
            "items": {
              "$ref": "#/components/schemas/planPlanTransitionRequiredField"
            },
            "x-displayname": "Required fields.",
            "x-f5xc-description-short": "Mandatory information to migrate onto this plan.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "requires_manual_approval": {
            "type": "boolean",
            "description": "If true then any migration onto this plan must be approved by the billing department.",
            "title": "Manual approval",
            "format": "boolean",
            "x-displayname": "Manual approval.",
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-description-short": "If true then any migration onto this plan must be approved by the billing department.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Details for transition flow. Is used as part of UsagePlanInternal.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for planUsagePlanTransitionFlow",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "statistics",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaPlanType": {
        "type": "string",
        "description": "PlanType is the type of billing plan for the customer.",
        "title": "PlanType",
        "enum": [
          "FREE",
          "INDIVIDUAL",
          "TEAM",
          "ORGANIZATION",
          "PLAN_TYPE_UNSPECIFIED"
        ],
        "default": "FREE",
        "x-displayname": "Plan Type",
        "x-ves-proto-enum": "ves.io.schema.PlanType",
        "x-f5xc-description-short": "PlanType is the type of billing plan for the customer.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaPlanType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"FREE\"",
          "example_yaml": "FREE\n..."
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaTenantType": {
        "type": "string",
        "description": "TenantType is the type of the customer\n\nUNKNOWN indicates the field not being set\nFREEMIUM are customer that don't have their domain\nENTERPRiISE customer have their domain.",
        "title": "TenantType",
        "enum": [
          "UNKNOWN",
          "FREEMIUM",
          "ENTERPRISE"
        ],
        "default": "UNKNOWN",
        "x-displayname": "Tenant type.",
        "x-ves-proto-enum": "ves.io.schema.TenantType",
        "x-f5xc-description-short": "TenantType is the type of the customer UNKNOWN indicates the field not being set FREEMIUM are customer that don't have their domain ENTERPRiISE...",
        "x-f5xc-description-medium": "TenantType is the type of the customer UNKNOWN indicates the field not being set FREEMIUM are customer that don't have their domain ENTERPRiISE customer have their domain.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaTenantType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"UNKNOWN\"",
          "example_yaml": "UNKNOWN\n..."
        },
        "x-f5xc-cli-domain": "tenant_and_identity",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Tenant object is platform-level administration"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaquotaGlobalSpecType": {
        "type": "object",
        "description": "GlobalSpecType defines the shape of the object in database as present in Global Controller.",
        "title": "GlobalSpecType",
        "x-displayname": "Global Spec.",
        "x-ves-proto-message": "ves.io.schema.quota.GlobalSpecType",
        "properties": {
          "api_limits": {
            "type": "object",
            "description": "API Limits defines ratelimit parameters for an API at the stdlib service\nThe key of the api_limits map is rpc FQN e.g. \"VES.I/o.schema.advertise_policy.api.create\"",
            "title": "api_limits",
            "x-displayname": "API Limits.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "512",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.keys.string.pattern": "^[a-zA-Z][a-zA-Z0-9-._]*[a-zA-Z0-9]$"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "512",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.keys.string.pattern": "^[a-zA-Z][a-zA-Z0-9-._]*[a-zA-Z0-9]$"
            },
            "x-f5xc-description-short": "API Limits defines ratelimit parameters for an API at the stdlib service The key of the api_limits map is rpc FQN e.g...",
            "x-f5xc-description-medium": "API Limits defines ratelimit parameters for an API at the stdlib service The key of the api_limits map is rpc FQN e.g. \"VES.I/o.schema.advertise_policy.api.create\".",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "apigw_limits": {
            "type": "object",
            "description": "API Gateway Limits defines rate limit value parameters for an API at a service level (prism, sentinel, etc)\nThe key of the apigw_limits map is rpc FQN e.g. \"VES.I/o.schema.advertise_policy.api.create\"",
            "title": "apigw_limits",
            "x-displayname": "API Gateway Limits.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "512",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.keys.string.pattern": "^[a-zA-Z][a-zA-Z0-9-._]*[a-zA-Z0-9]$"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "512",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.keys.string.pattern": "^[a-zA-Z][a-zA-Z0-9-._]*[a-zA-Z0-9]$"
            },
            "x-f5xc-description-short": "API Gateway Limits defines rate limit value parameters for an API at a service level (prism, sentinel, etc) The key of the apigw_limits map is rpc...",
            "x-f5xc-description-medium": "API Gateway Limits defines rate limit value parameters for an API at a service level (prism, sentinel, etc) The key of the apigw_limits map is rpc FQN e.g. \"VES.I/o.schema.advertise_policy.api.create\".",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "object_limits": {
            "type": "object",
            "description": "Object Limits define maximum number of instances that can be present per object kind for the tenant\nThe key of the object_limits map is object kind e.g. \"virtual_host\"",
            "title": "object_limits",
            "x-displayname": "Object Limits.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "512",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.keys.string.pattern": "^[a-zA-Z][a-zA-Z0-9-._]*[a-zA-Z0-9]$"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "512",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.keys.string.pattern": "^[a-zA-Z][a-zA-Z0-9-._]*[a-zA-Z0-9]$"
            },
            "x-f5xc-description-short": "Object Limits define maximum number of instances that can be present per object kind for the tenant The key of the object_limits map is object...",
            "x-f5xc-description-medium": "Object Limits define maximum number of instances that can be present per object kind for the tenant The key of the object_limits map is object kind e.g. \"virtual_host\".",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "resource_limits": {
            "type": "object",
            "description": "Resource Limits define maximum value of resources in the appropriate units that can be present. The key of\nthe resource limits is the resource name.",
            "title": "resource_limits",
            "x-displayname": "Resource Limits.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "512",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.keys.string.pattern": "^[a-zA-Z][a-zA-Z0-9-._]*[a-zA-Z0-9]$"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "512",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.keys.string.pattern": "^[a-zA-Z][a-zA-Z0-9-._]*[a-zA-Z0-9]$"
            },
            "x-f5xc-description-short": "Resource Limits define maximum value of resources in the appropriate units that can be present.",
            "x-f5xc-description-medium": "Resource Limits define maximum value of resources in the appropriate units that can be present. The key of the resource limits is the resource name.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "GlobalSpecType defines the shape of the object in database as present in Global Controller.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaquotaGlobalSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "billing_and_usage",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Quotas are platform-level limits"
          },
          "classification": {
            "category": "application",
            "multi_tenant_pattern": "none"
          }
        }
      }
    },
    "responses": {},
    "parameters": {},
    "requestBodies": {}
  }
}
