{
  "openapi": "3.0.3",
  "info": {
    "title": "Authentication",
    "description": "Identity and access management providing APIs for configuring identity providers, access policies, and user credentials. Supports MFA, identity provider integration, and lifecycle operations for credential management across distributed deployments.",
    "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": "Identity and access management providing APIs for configuring identity providers, access policies, and user credentials. Supports MFA, identity provider integration, and lifecycle operations for credential management across distributed deployments.",
    "x-f5xc-summary": "Identity management with provider integration, access policies, and credential lifecycle control.",
    "x-f5xc-cli-domain": "authentication",
    "externalDocs": {
      "url": "https://docs.cloud.f5.com/docs/how-to/user-mgmt",
      "description": "F5 XC Documentation - Tenant and Identity"
    },
    "x-f5xc-api-reference-url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/tenant_and_identity/",
    "x-f5xc-best-practices": {
      "common_errors": [
        {
          "code": 401,
          "message": "Token expired",
          "resolution": "Refresh token or re-authenticate",
          "prevention": "Implement automatic token refresh"
        },
        {
          "code": 403,
          "message": "Insufficient permissions",
          "resolution": "Request additional role assignments",
          "prevention": "Verify permissions before operations"
        }
      ],
      "security_notes": [
        "Use short-lived tokens with refresh capability",
        "Enable MFA for administrative access",
        "Implement least privilege access policies"
      ],
      "performance_tips": [
        "Cache authentication tokens appropriately",
        "Use service accounts for automation",
        "Implement token pooling for high-volume scenarios"
      ]
    },
    "x-f5xc-guided-workflows": [
      {
        "id": "create_and_use_api_token",
        "name": "Create and Use an API Token",
        "description": "Create an API token in the console via guided browser automation, then call the F5 XC API with it",
        "complexity": "low",
        "estimated_steps": 3,
        "prerequisites": [
          "Logged in to the F5 XC console",
          "User role: admin (access to Personal Management > Credentials)"
        ],
        "steps": [
          {
            "order": 1,
            "action": "create_api_token",
            "name": "Create API Token",
            "description": "In Administration > Personal Management > Credentials, click Add Credentials, set Credential Type to API Token, enter a Credential Name and Expiry Date, then Generate",
            "resource": "api_credential",
            "required_fields": [
              "credential_name",
              "credential_type",
              "expiry_date"
            ],
            "tips": [
              "Set Credential Type to API Token. The default is API Certificate, which produces a P12 file, not a bearer token.",
              "The token string is shown only once on the reveal panel. Capture it immediately, before dismissing the panel."
            ]
          },
          {
            "order": 2,
            "action": "capture_token",
            "name": "Capture the Generated Token",
            "description": "Read the one-time token value from the reveal panel",
            "depends_on": [
              1
            ],
            "verification": [
              "Token value captured before the reveal panel is dismissed"
            ]
          },
          {
            "order": 3,
            "action": "call_api_with_token",
            "name": "Call the F5 XC API with the Token",
            "description": "Use the captured token in an XC-API call with header Authorization APIToken to confirm it works, for example list namespaces",
            "depends_on": [
              2
            ],
            "verification": [
              "XC-API GET /api/web/namespaces returns HTTP 200 with the tenant namespaces"
            ]
          }
        ]
      }
    ],
    "x-f5xc-namespace-profile": {
      "constraint": {
        "allowed": [
          "system"
        ],
        "enforced": false
      },
      "recommendation": {
        "primary": "system",
        "alternatives": [],
        "rationale": "API credentials are platform-level identity"
      },
      "classification": {
        "category": "identity",
        "multi_tenant_pattern": "none"
      }
    }
  },
  "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": "web"
    }
  ],
  "paths": {
    "/api/web/namespaces/system/bulk_revoke/api_credentials": {
      "post": {
        "summary": "Bulk Revoke API credentials.",
        "description": "It is used to revoke multiple API credentials. This API would disable the credentials and mark them for deletion.\nThe actual removal of objects would be done in the background.\nDepending upon if user is admin or not, following behaviour is supported:-\n* for admins : user has the access to DELETE their own as well as credentials created by others\n* for non-admins: user can only DELETE their own credentials.",
        "operationId": "ves.io.schema.api_credential.CustomAPI.BulkRevoke",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_credentialBulkRevokeResponse"
                }
              }
            }
          },
          "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/api_credentialBulkRevokeRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/tenant_and_identity/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_credential.CustomAPI.BulkRevoke",
        "tags": [
          "web"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "API credential for programmatic access",
          "required_fields": [
            "metadata.name",
            "metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Api-credential resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "api-credential"
            ]
          },
          "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": "high",
            "resource_usage": "high"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "api-credential"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API/Service Credentials.",
      "x-ves-proto-service": "ves.io.schema.api_credential.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/system/bulk_revoke/service_credentials": {
      "post": {
        "summary": "Bulk Revoke service credential.",
        "description": "It is used to revoke multiple service credentials. This API would disable the credentials and mark them for deletion.\nThe actual removal of objects would be done in the background. Only admins are allowed to access this API.",
        "operationId": "ves.io.schema.api_credential.CustomAPI.BulkRevokeServiceCredentials",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_credentialBulkRevokeResponse"
                }
              }
            }
          },
          "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/api_credentialBulkRevokeRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/tenant_and_identity/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_credential.CustomAPI.BulkRevokeServiceCredentials",
        "tags": [
          "web"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Service credential for API authentication",
          "required_fields": [
            "metadata.name",
            "metadata.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Service-credential resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "service-credential"
            ]
          },
          "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": "high",
            "resource_usage": "high"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "service-credential"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API/Service Credentials.",
      "x-ves-proto-service": "ves.io.schema.api_credential.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/activate/api_credentials": {
      "post": {
        "summary": "Activate API credential.",
        "description": "For API credential activation/deactivation.",
        "operationId": "ves.io.schema.api_credential.CustomAPI.Activate",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_credentialStatusResponse"
                }
              }
            }
          },
          "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\n\nx-required\nValue of namespace is always \"system\".",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/api_credentialGetRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/tenant_and_identity/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_credential.CustomAPI.Activate",
        "tags": [
          "web"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "API credential for programmatic access",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Api-credential resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "api-credential"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "api-credential"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API/Service Credentials.",
      "x-ves-proto-service": "ves.io.schema.api_credential.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/activate/service_credentials": {
      "post": {
        "summary": "Activate API service credential.",
        "description": "For Service credential activation/deactivation.",
        "operationId": "ves.io.schema.api_credential.CustomAPI.ActivateServiceCredentials",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_credentialStatusResponse"
                }
              }
            }
          },
          "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\n\nx-required\nValue of namespace is always \"system\".",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/api_credentialGetRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/tenant_and_identity/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_credential.CustomAPI.ActivateServiceCredentials",
        "tags": [
          "web"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Service credential for API authentication",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Service-credential resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "service-credential"
            ]
          },
          "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": [
            "service-credential"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API/Service Credentials.",
      "x-ves-proto-service": "ves.io.schema.api_credential.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/api_credentials": {
      "get": {
        "summary": "List API Credentials.",
        "description": "Returns list of API credential of all types created by the user.\nQuery will look into tenants system namespace.",
        "operationId": "ves.io.schema.api_credential.CustomAPI.List",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_credentialListResponse"
                }
              }
            }
          },
          "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\nValue of namespace is always \"system\".",
            "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/tenant_and_identity/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_credential.CustomAPI.List",
        "tags": [
          "web"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "API credential for programmatic access",
          "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"
        }
      },
      "post": {
        "summary": "Create API Credentials.",
        "description": "User can request 3 types of credential for themselves.\nAPI_TOKEN, API_CERTIFICATE and KUBE_CONFIG.\n\nAn API_TOKEN is an easy to use secret that can be send part of HTTP request header Authorization: APIToken <value>\nin the create request expiry can be set additionally. F5XC also supports renew and revoke of API_TOKENs.\nAn API_CERTIFICATE is a password protected P12 certificate bundle document and can be used as client certificate.\nWhen sending create request, user can request with an expiry and password. F5XC Identity Authority (IA)\nmints new certificate with required credentials and is shared in the response as API Certificate.\nA virtual K8s kubeconfig can be generate with type KUBE_CONFIG. Create request can specify cluster, namespace and expiry\nwith embedded user access with client certificate.\n\nRequest can specify name, expiry and type of credential required. Since this credential inherits the creator's RBAC\nservice will determine the user from request context.",
        "operationId": "ves.io.schema.api_credential.CustomAPI.Create",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_credentialCreateResponse"
                }
              }
            }
          },
          "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\nValue of namespace is always \"system\".",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "value"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/api_credentialCreateRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/tenant_and_identity/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_credential.CustomAPI.Create",
        "tags": [
          "web"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "API credential for programmatic access",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Api-credential resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "api-credential"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "api-credential"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API/Service Credentials.",
      "x-ves-proto-service": "ves.io.schema.api_credential.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/api_credentials/{name}": {
      "get": {
        "summary": "GET API Credentials.",
        "description": "GET implements API credential query by name.\nReturns API credential object. Query will look into tenants system namespace for API credential by name.",
        "operationId": "ves.io.schema.api_credential.CustomAPI.Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_credentialGetResponse"
                }
              }
            }
          },
          "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\n\nx-required\nValue of namespace is always \"system\".",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          },
          {
            "name": "name",
            "description": "Credential name\n\nx-required\nName of API credential.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "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/tenant_and_identity/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_credential.CustomAPI.Get",
        "tags": [
          "web"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "API credential for programmatic access",
          "required_fields": [
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": []
          },
          "side_effects": {},
          "danger_level": "low",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "path.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "low",
        "x-f5xc-discovered-response-time": {
          "p50_ms": 200,
          "p95_ms": 800,
          "p99_ms": 2000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API/Service Credentials.",
      "x-ves-proto-service": "ves.io.schema.api_credential.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/renew/api_credentials": {
      "post": {
        "summary": "Renew API credential.",
        "description": "Renew user's my credential expiry.\nRenewal is only supported for the credential type API_TOKEN.",
        "operationId": "ves.io.schema.api_credential.CustomAPI.Renew",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_credentialStatusResponse"
                }
              }
            }
          },
          "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\n\nx-required\nValue of namespace is always \"system\" .",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/api_credentialRenewRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/tenant_and_identity/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_credential.CustomAPI.Renew",
        "tags": [
          "web"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "API credential for programmatic access",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Api-credential resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "api-credential"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "api-credential"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API/Service Credentials.",
      "x-ves-proto-service": "ves.io.schema.api_credential.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/renew/service_credentials": {
      "post": {
        "summary": "Renew API service credential.",
        "description": "Renew service credential's expiry.\nRenewal is only supported for the credential type SERVICE_API_TOKEN.",
        "operationId": "ves.io.schema.api_credential.CustomAPI.RenewServiceCredentials",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_credentialStatusResponse"
                }
              }
            }
          },
          "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\n\nx-required\nValue of namespace is always \"system\" .",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/api_credentialRenewRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/tenant_and_identity/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_credential.CustomAPI.RenewServiceCredentials",
        "tags": [
          "web"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Service credential for API authentication",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Service-credential resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "service-credential"
            ]
          },
          "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": [
            "service-credential"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API/Service Credentials.",
      "x-ves-proto-service": "ves.io.schema.api_credential.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/revoke/api_credentials": {
      "post": {
        "summary": "Revoke API credential.",
        "description": "For API credential revoke/deletion.",
        "operationId": "ves.io.schema.api_credential.CustomAPI.Revoke",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_credentialStatusResponse"
                }
              }
            }
          },
          "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\n\nx-required\nValue of namespace is always \"system\".",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/api_credentialGetRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/tenant_and_identity/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_credential.CustomAPI.Revoke",
        "tags": [
          "web"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "API credential for programmatic access",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Api-credential resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "api-credential"
            ]
          },
          "danger_level": "medium",
          "confirmation_required": false,
          "common_errors": [
            {
              "code": 401,
              "message": "Authentication required",
              "solution": "Provide valid API credentials"
            },
            {
              "code": 403,
              "message": "Permission denied",
              "solution": "Check access permissions for this operation"
            },
            {
              "code": 404,
              "message": "Resource not found",
              "solution": "Verify resource name, namespace, and path"
            },
            {
              "code": 409,
              "message": "Resource already exists",
              "solution": "Use different name or update existing resource"
            },
            {
              "code": 429,
              "message": "Rate limit exceeded",
              "solution": "Wait before retrying the operation"
            },
            {
              "code": 500,
              "message": "Server error",
              "solution": "Retry operation or contact support"
            }
          ],
          "performance_impact": {
            "latency": "low",
            "resource_usage": "low"
          }
        },
        "x-f5xc-required-fields": [
          "metadata.name",
          "metadata.namespace",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "creates": [
            "api-credential"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API/Service Credentials.",
      "x-ves-proto-service": "ves.io.schema.api_credential.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/revoke/scim_token": {
      "post": {
        "summary": "Revoke SCIM API credential.",
        "description": "For SCIM API credential revoke/deletion.",
        "operationId": "ves.io.schema.api_credential.CustomAPI.RevokeScimToken",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_credentialStatusResponse"
                }
              }
            }
          },
          "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\n\nx-required\nValue of namespace is always \"system\".",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/api_credentialScimTokenRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/tenant_and_identity/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_credential.CustomAPI.RevokeScimToken",
        "tags": [
          "web"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Authentication credential for access control",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Scim-token resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "scim-token"
            ]
          },
          "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": [
            "scim-token"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API/Service Credentials.",
      "x-ves-proto-service": "ves.io.schema.api_credential.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/revoke/service_credentials": {
      "post": {
        "summary": "Revoke Service credential.",
        "description": "For Service credential revoke/deletion.",
        "operationId": "ves.io.schema.api_credential.CustomAPI.RevokeServiceCredentials",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_credentialStatusResponse"
                }
              }
            }
          },
          "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\n\nx-required\nValue of namespace is always \"system\".",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/api_credentialGetRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/tenant_and_identity/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_credential.CustomAPI.RevokeServiceCredentials",
        "tags": [
          "web"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Service credential for API authentication",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Service-credential resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "service-credential"
            ]
          },
          "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": [
            "service-credential"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API/Service Credentials.",
      "x-ves-proto-service": "ves.io.schema.api_credential.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/scim_token": {
      "get": {
        "summary": "GET Scim Token.",
        "description": "GetScimToken implements querying of scim token.\nSCIM API token value will be visible only on create API response.\nThis detail RPC will show the current token's expiry. Returns API credential object.",
        "operationId": "ves.io.schema.api_credential.CustomAPI.GetScimToken",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_credentialGetResponse"
                }
              }
            }
          },
          "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\n\nx-required\nValue of namespace is always \"system\".",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          }
        ],
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/tenant_and_identity/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_credential.CustomAPI.GetScimToken",
        "tags": [
          "web"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Authentication credential for access control",
          "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"
        }
      },
      "post": {
        "summary": "Create/RE-create SCIM API token.",
        "description": "Request to create/RE-create new SCIM API credential.\nNote: Only one valid (non-expired) SCIM token could exist for a tenant, and only if SCIM is enabled for the tenant.\nIf a valid SCIM token is already minted, we would revoke the current one and generate a new one.",
        "operationId": "ves.io.schema.api_credential.CustomAPI.RecreateScimToken",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_credentialCreateResponse"
                }
              }
            }
          },
          "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\nValue of namespace is always \"system\".",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "value"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/api_credentialRecreateScimTokenRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/tenant_and_identity/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_credential.CustomAPI.RecreateScimToken",
        "tags": [
          "web"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Authentication credential for access control",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Scim-token resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "scim-token"
            ]
          },
          "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": [
            "scim-token"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API/Service Credentials.",
      "x-ves-proto-service": "ves.io.schema.api_credential.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/service_credentials": {
      "get": {
        "summary": "List service credentials.",
        "description": "Request to list service credentials created by user.",
        "operationId": "ves.io.schema.api_credential.CustomAPI.ListServiceCredentials",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_credentialListServiceCredentialsResponse"
                }
              }
            }
          },
          "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\nValue of namespace is always \"system\".",
            "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/tenant_and_identity/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_credential.CustomAPI.ListServiceCredentials",
        "tags": [
          "web"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Service credential for API authentication",
          "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"
        }
      },
      "post": {
        "summary": "Create service credentials.",
        "description": "Request to create new service credentials.\nUser can specify name, expiry and list of namespce and allowed role of the service user.",
        "operationId": "ves.io.schema.api_credential.CustomAPI.CreateServiceCredentials",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_credentialCreateResponse"
                }
              }
            }
          },
          "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\nValue of namespace is always \"system\".",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/api_credentialCreateServiceCredentialsRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/tenant_and_identity/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_credential.CustomAPI.CreateServiceCredentials",
        "tags": [
          "web"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Service credential for API authentication",
          "required_fields": [
            "metadata.name",
            "metadata.namespace",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Service-credential resource created",
              "Resource assigned unique identifier"
            ]
          },
          "side_effects": {
            "creates": [
              "service-credential"
            ]
          },
          "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": [
            "service-credential"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 1000,
          "p95_ms": 3000,
          "p99_ms": 8000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API/Service Credentials.",
      "x-ves-proto-service": "ves.io.schema.api_credential.CustomAPI",
      "x-ves-proto-service-type": "CUSTOM_PUBLIC"
    },
    "/api/web/namespaces/{namespace}/service_credentials/{name}": {
      "get": {
        "summary": "GET Service Credential.",
        "description": "GET implements service credential query by name.\nReturns service credential object. Query will look into tenants system namespace for service credential by name.",
        "operationId": "ves.io.schema.api_credential.CustomAPI.GetServiceCredentials",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_credentialGetServiceCredentialsResponse"
                }
              }
            }
          },
          "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\n\nx-required\nValue of namespace is always \"system\".",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          },
          {
            "name": "name",
            "description": "Credential name\n\nx-required\nName of API credential.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "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/tenant_and_identity/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_credential.CustomAPI.GetServiceCredentials",
        "tags": [
          "web"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Service credential for API authentication",
          "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"
        }
      },
      "put": {
        "summary": "Replace service credentials.",
        "description": "Request to replace user_groups and roles in service credentials.\nNote - for updating expiry use RenewServiceCredentials and to active/inactive service credential use ActivateServiceCredentials API.",
        "operationId": "ves.io.schema.api_credential.CustomAPI.ReplaceServiceCredentials",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api_credentialReplaceServiceCredentialsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Returned when operation is not authorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "403": {
            "description": "Returned when there is no permission to access resource.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "404": {
            "description": "Returned when resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "409": {
            "description": "Returned when operation on resource is conflicting with current value.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "429": {
            "description": "Returned when operation has been rejected as it is happening too frequently.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned when server encountered an error in processing API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "503": {
            "description": "Returned when service is unavailable temporarily.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          },
          "504": {
            "description": "Returned when server timed out processing request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "namespace",
            "description": "Namespace\nNamespace of the service credential user.\nValue of namespace is always \"system\".",
            "in": "path",
            "required": true,
            "x-displayname": "Namespace",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "system"
          },
          {
            "name": "name",
            "description": "Service Credential name\n\nx-required\nName of service credential object.",
            "in": "path",
            "required": true,
            "x-displayname": "Name",
            "schema": {
              "type": "string"
            },
            "x-f5xc-example": "api-cred-00000000-0000-4000-8000-c725f8541661"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/api_credentialReplaceServiceCredentialsRequest"
              }
            }
          },
          "required": true
        },
        "externalDocs": {
          "description": "Examples of this operation.",
          "url": "https://f5-sales-demo.github.io/api-specs-enriched/api-reference/tenant_and_identity/"
        },
        "x-ves-proto-rpc": "ves.io.schema.api_credential.CustomAPI.ReplaceServiceCredentials",
        "tags": [
          "web"
        ],
        "x-f5xc-operation-metadata": {
          "purpose": "Service credential for API authentication",
          "required_fields": [
            "path.name",
            "path.namespace"
          ],
          "optional_fields": [],
          "field_docs": {},
          "conditions": {
            "prerequisites": [
              "Active namespace"
            ],
            "postconditions": [
              "Resource updated with new values"
            ]
          },
          "side_effects": {
            "modifies": [
              "service-credential"
            ]
          },
          "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.name",
          "path.namespace"
        ],
        "x-f5xc-danger-level": "medium",
        "x-f5xc-side-effects": {
          "modifies": [
            "service-credential"
          ]
        },
        "x-f5xc-discovered-response-time": {
          "p50_ms": 800,
          "p95_ms": 2500,
          "p99_ms": 6000,
          "sample_count": 0,
          "source": "estimate"
        }
      },
      "x-displayname": "API/Service Credentials.",
      "x-ves-proto-service": "ves.io.schema.api_credential.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": {
      "api_credentialAPICredentialType": {
        "type": "string",
        "description": "Types of API credential given when requesting credentials from F5 Distributed Cloud\n\nF5XC user certificate to access F5XC public API using mTLS\nusing self credential (my credential)\nKubernetes config file to access Virtual Kubernetes API in F5 Distributed Cloud\nusing self credential (my credential)\nAPI token to access F5XC public API\nusing self credential (my credential)\nAPI token for service credentials\nusing service user credential (service credential)\nAPI certificate for service credentials\nusing service user credential (service credential)\nService Credential kubeconfig\nusing service user credential (service credential)\nKubeconfig for accessing Site via Global Controller\nusing self credential (my credential)\nToken for the SCIM public APIs used to sync users and groups with the F5XC platform.\nExternal identity provider's SCIM client can use this token as Bearer token with Authorization header\nService Credential Kubeconfig for accessing Site via Global Controller\nusing service user credential (service credential)",
        "title": "API Credential type",
        "enum": [
          "API_CERTIFICATE",
          "KUBE_CONFIG",
          "API_TOKEN",
          "SERVICE_API_TOKEN",
          "SERVICE_API_CERTIFICATE",
          "SERVICE_KUBE_CONFIG",
          "SITE_GLOBAL_KUBE_CONFIG",
          "SCIM_API_TOKEN",
          "SERVICE_SITE_GLOBAL_KUBE_CONFIG"
        ],
        "default": "API_CERTIFICATE",
        "x-displayname": "Credential Type.",
        "x-ves-proto-enum": "ves.io.schema.api_credential.APICredentialType",
        "x-f5xc-description-short": "Types of API credential given when requesting credentials from F5 Distributed Cloud F5XC user certificate to access F5XC public API using mTLS...",
        "x-f5xc-description-medium": "Types of API credential given when requesting credentials from F5 Distributed Cloud F5XC user certificate to access F5XC public API using mTLS using self credential (my credential) Kubernetes config file to access Virtual Kubernetes API in F5 Distributed Cloud using self credential (my...",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialAPICredentialType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "\"API_CERTIFICATE\"",
          "example_yaml": "API_CERTIFICATE\n..."
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialApiCertificateType": {
        "type": "object",
        "description": "Service API Certificate parameters.",
        "title": "api_certificate",
        "x-displayname": "Service API Certificate Specification.",
        "x-ves-proto-message": "ves.io.schema.api_credential.ApiCertificateType",
        "properties": {
          "password": {
            "type": "string",
            "description": "Password is used for generating an API certificate P12 bundle user can use to protect access to it.\nThis password will not be saved/persisted anywhere in the system. Applicable for credential type API_CERTIFICATE\nUsers have to use this password when they use the certificate, e.g. In curl or while adding to key chain.",
            "title": "Password for API certificate",
            "minLength": 6,
            "maxLength": 50,
            "x-displayname": "Password",
            "x-ves-example": "MyPassw0rd123.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "50",
              "ves.io.schema.rules.string.min_bytes": "6"
            },
            "x-f5xc-example": "example",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "50",
              "ves.io.schema.rules.string.min_bytes": "6"
            },
            "x-f5xc-description-short": "Password is used for generating an API certificate P12 bundle user can use to protect access to it.",
            "x-f5xc-description-medium": "Password is used for generating an API certificate P12 bundle user can use to protect access to it. This password will not be saved/persisted anywhere in the system. Applicable for credential type API_CERTIFICATE Users have to use this password when they use the certificate, e.g.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 6,
              "maxLength": 50,
              "byteLength": {
                "max": 50,
                "min": 6
              },
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialApiCertificateType",
          "required_fields": [
            "password"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"password\": \"example\"\n}",
          "example_yaml": "password: example"
        },
        "x-f5xc-cli-domain": "certificates",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialBulkRevokeRequest": {
        "type": "object",
        "description": "Request format for revoking multiple API credentials.",
        "title": "Bulk Revoke Request",
        "x-displayname": "Bulk Revoke Request.",
        "x-ves-oneof-field-bulkrevoke_choice": "[\"expired_selector\",\"name_selector\"]",
        "x-ves-proto-message": "ves.io.schema.api_credential.BulkRevokeRequest",
        "properties": {
          "expired_selector": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialExpiredSelector"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for expired selector.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "name_selector"
            ]
          },
          "name_selector": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialNameSelector"
              }
            ],
            "x-f5xc-example": "example-resource",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "expired_selector"
            ]
          }
        },
        "x-f5xc-description-short": "Request format for revoking multiple API credentials.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialBulkRevokeRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialBulkRevokeResponse": {
        "type": "object",
        "description": "Response format for revoking multiple API credentials.",
        "title": "Bulk Revoke Response",
        "x-displayname": "Bulk Revoke Response.",
        "x-ves-proto-message": "ves.io.schema.api_credential.BulkRevokeResponse",
        "properties": {
          "credentials_failed": {
            "type": "array",
            "description": "Names of credentials that are not marked as DELETE due to some error.",
            "title": "Credentials Failed",
            "items": {
              "type": "string"
            },
            "x-displayname": "Credentials Failed.",
            "x-f5xc-description-short": "Names of credentials that are not marked as DELETE due to some error.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "credentials_marked_for_deletion": {
            "type": "array",
            "description": "Names of credentials that are successfully marked for deletion.",
            "title": "Credentials Success",
            "items": {
              "type": "string"
            },
            "x-displayname": "Credentials Success.",
            "x-f5xc-description-short": "Names of credentials that are successfully marked for deletion.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "error_message": {
            "type": "string",
            "description": "Error message about the failures of bulk revoke of credentials.",
            "title": "error message",
            "x-displayname": "Error Message.",
            "x-f5xc-description-short": "Error message about the failures of bulk revoke of credentials.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Response format for revoking multiple API credentials.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialBulkRevokeResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialCreateRequest": {
        "type": "object",
        "description": "CreateRequest is the request format for generating API credential.",
        "title": "Create Request",
        "x-displayname": "Create Request.",
        "x-ves-displayorder": "1,2,3,5",
        "x-ves-proto-message": "ves.io.schema.api_credential.CreateRequest",
        "properties": {
          "expiration_days": {
            "type": "integer",
            "description": "Qty of days of service credential expiration.",
            "title": "Expiry in days",
            "format": "int64",
            "x-displayname": "Expiry in days.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Qty of days of service credential expiration.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Name of API credential record. It will be saved in metadata.",
            "title": "Name",
            "x-displayname": "Name",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Name of API credential record. It will be saved in metadata.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "Value of namespace is always \"system\".",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialCustomCreateSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "CreateRequest is the request format for generating API credential.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialCreateRequest",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialCreateResponse": {
        "type": "object",
        "description": "CreateResponse is the response format for the credential's create request.",
        "title": "Create response",
        "x-displayname": "Create Response.",
        "x-ves-displayorder": "1",
        "x-ves-proto-message": "ves.io.schema.api_credential.CreateResponse",
        "properties": {
          "active": {
            "type": "boolean",
            "format": "boolean",
            "description": "Indicates if the resource is active",
            "x-f5xc-example": "True",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "data": {
            "type": "string",
            "description": "Data is the response format based on the API credential type.\nIn case of API_CERTIFICATES, the response is the base64 encoded value of\ncertificate in PKCS12 format.\nIn case of KUBE_CONFIG, the response is the base64 encoded value of the K8s kubeconfig file\nwith contents as requested - cluster,namespace and base64 encoded certificate, key and CA.",
            "title": "Credentials",
            "x-displayname": "Credentials.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Data is the response format based on the API credential type.",
            "x-f5xc-description-medium": "Data is the response format based on the API credential type. In case of API_CERTIFICATES, the response is the base64 encoded value of certificate in PKCS12 format. In case of KUBE_CONFIG, the response is the base64 encoded value of the K8s kubeconfig file with contents as requested ...",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "expiration_timestamp": {
            "type": "string",
            "format": "date-time",
            "description": "Configuration parameter for expiration timestamp",
            "x-f5xc-description-short": "Configuration parameter for expiration timestamp.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Human-readable name for the resource",
            "x-f5xc-example": "example-resource",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-description-short": "CreateResponse is the response format for the credential's create request.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialCreateResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialCreateServiceCredentialsRequest": {
        "type": "object",
        "description": "CreateServiceCredentialsRequest is the request format for creating service credentials.",
        "title": "Create Service Credentials Request",
        "x-displayname": "Create Service Credentials Request.",
        "x-ves-oneof-field-service_credential_choice": "[\"api_certificate\",\"api_token\",\"site_kubeconfig\",\"vk8s_kubeconfig\"]",
        "x-ves-proto-message": "ves.io.schema.api_credential.CreateServiceCredentialsRequest",
        "properties": {
          "api_certificate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialApiCertificateType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_token",
              "site_kubeconfig",
              "vk8s_kubeconfig"
            ]
          },
          "api_token": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_certificate",
              "site_kubeconfig",
              "vk8s_kubeconfig"
            ]
          },
          "expiration_days": {
            "type": "integer",
            "description": "Qty of days of service credential expiration.",
            "title": "Expiry in days",
            "format": "int64",
            "x-displayname": "Expiry in days.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Qty of days of service credential expiration.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Name of API credential record. It will be saved in metadata.",
            "title": "Name",
            "x-displayname": "Name",
            "x-ves-example": "Svc-cred-app1.",
            "x-f5xc-example": "svc-cred-app1",
            "x-f5xc-description-short": "Name of API credential record. It will be saved in metadata.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "Value of namespace is always \"system\".",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-f5xc-example": "system",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace_roles": {
            "type": "array",
            "description": "List of roles per namespace to be assigned to service credentials.",
            "title": "Roles",
            "items": {
              "$ref": "#/components/schemas/schemaNamespaceRoleType"
            },
            "x-displayname": "List of roles.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "List of roles per namespace to be assigned to service credentials.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "password": {
            "type": "string",
            "description": "Password is used for generating an API certificate P12 bundle user can use to protect access to it.\nThis password will not be saved/persisted anywhere in the system. Applicable for credential type API_CERTIFICATE\nUsers have to use this password when they use the certificate, e.g. In curl or while adding to key chain.",
            "title": "Password for API certificate",
            "x-displayname": "Password",
            "x-ves-example": "MyPassw0rd123.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "example",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Password is used for generating an API certificate P12 bundle user can use to protect access to it.",
            "x-f5xc-description-medium": "Password is used for generating an API certificate P12 bundle user can use to protect access to it. This password will not be saved/persisted anywhere in the system. Applicable for credential type API_CERTIFICATE Users have to use this password when they use the certificate, e.g.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "site_kubeconfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialSiteKubeconfigType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_certificate",
              "api_token",
              "vk8s_kubeconfig"
            ]
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialAPICredentialType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "user_group_names": {
            "type": "array",
            "description": "List of user_groups assigned to this service credential.",
            "title": "User Groups Names",
            "items": {
              "type": "string"
            },
            "x-displayname": "Groups",
            "x-ves-example": "[\"dev-group-1\"]",
            "x-f5xc-example": "\"[\"dev-group-1\"]\"",
            "x-f5xc-description-short": "List of user_groups assigned to this service credential.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "virtual_k8s_name": {
            "type": "string",
            "description": "Name of virtual_k8s cluster. Applicable for KUBE_CONFIG.",
            "title": "virtual k8s cluster name",
            "x-displayname": "VK8s Cluster.",
            "x-ves-example": "Vk8s-product-app1.",
            "x-f5xc-example": "vk8s-product-app1",
            "x-f5xc-description-short": "Name of virtual_k8s cluster. Applicable for KUBE_CONFIG.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "virtual_k8s_namespace": {
            "type": "string",
            "description": "Namespace of virtual_k8s cluster. Applicable for KUBE_CONFIG.",
            "title": "Virtual k8s namespace",
            "x-displayname": "VK8s Namespace.",
            "x-ves-example": "App-ns1",
            "x-f5xc-example": "app-ns1",
            "x-f5xc-description-short": "Namespace of virtual_k8s cluster. Applicable for KUBE_CONFIG.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "vk8s_kubeconfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialVk8sKubeconfigType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "api_certificate",
              "api_token",
              "site_kubeconfig"
            ]
          }
        },
        "x-f5xc-description-short": "CreateServiceCredentialsRequest is the request format for creating service credentials.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialCreateServiceCredentialsRequest",
          "required_fields": [
            "password"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"password\": \"example\"\n}",
          "example_yaml": "password: example"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialCustomCreateSpecType": {
        "type": "object",
        "description": "Create request specification.",
        "title": "Create Spec Type",
        "x-displayname": "Create API Credential.",
        "x-ves-displayorder": "1,2,5,3,4",
        "x-ves-proto-message": "ves.io.schema.api_credential.CustomCreateSpecType",
        "properties": {
          "password": {
            "type": "string",
            "description": "Password is used for generating an API certificate P12 bundle user can use to protect access to it.\nThis password will not be saved/persisted anywhere in the system. Applicable for credential type API_CERTIFICATE\nUsers have to use this password when they use the certificate, e.g. In curl or while adding to key chain.",
            "title": "Password for API certificate",
            "x-displayname": "Password",
            "x-ves-example": "MyPassw0rd123.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "example",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Password is used for generating an API certificate P12 bundle user can use to protect access to it.",
            "x-f5xc-description-medium": "Password is used for generating an API certificate P12 bundle user can use to protect access to it. This password will not be saved/persisted anywhere in the system. Applicable for credential type API_CERTIFICATE Users have to use this password when they use the certificate, e.g.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialAPICredentialType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "virtual_k8s_name": {
            "type": "string",
            "description": "Name of virtual K8s cluster. Applicable for KUBE_CONFIG.",
            "title": "virtual k8s cluster name",
            "x-displayname": "VK8s Cluster.",
            "x-ves-example": "Vk8s-product-app1.",
            "x-f5xc-example": "vk8s-product-app1",
            "x-f5xc-description-short": "Name of virtual K8s cluster. Applicable for KUBE_CONFIG.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "virtual_k8s_namespace": {
            "type": "string",
            "description": "Namespace of virtual K8s cluster. Applicable for KUBE_CONFIG.",
            "title": "Virtual K8s namespace",
            "x-displayname": "VK8s Namespace.",
            "x-ves-example": "App-ns1",
            "x-f5xc-example": "app-ns1",
            "x-f5xc-description-short": "Namespace of virtual K8s cluster. Applicable for KUBE_CONFIG.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialCustomCreateSpecType",
          "required_fields": [
            "password"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"password\": \"example\"\n}",
          "example_yaml": "password: example"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialExpiredSelector": {
        "type": "object",
        "description": "It specifies which expired credentials needs to be deleted.",
        "title": "Expired Selector",
        "x-displayname": "Expired Selector.",
        "x-ves-oneof-field-expired_credential_choice": "[\"all\",\"credential_type\"]",
        "x-ves-proto-message": "ves.io.schema.api_credential.ExpiredSelector",
        "properties": {
          "all": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaEmpty"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "credential_type"
            ]
          },
          "credential_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialAPICredentialType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-conflicts-with": [
              "all"
            ]
          }
        },
        "x-f5xc-description-short": "It specifies which expired credentials needs to be deleted.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialExpiredSelector",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialGetRequest": {
        "type": "object",
        "description": "GET credential object with a given name.",
        "title": "Get credential request",
        "x-displayname": "GET Credential.",
        "x-ves-proto-message": "ves.io.schema.api_credential.GetRequest",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of API credential.",
            "title": "Credential name",
            "x-displayname": "Name",
            "x-ves-example": "Value",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "Value of namespace is always \"system\".",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "system",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-description-short": "GET credential object with a given name.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialGetRequest",
          "required_fields": [
            "name",
            "namespace"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"value\",\n  \"namespace\": \"system\"\n}",
          "example_yaml": "name: value\nnamespace: system"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialGetResponse": {
        "type": "object",
        "description": "Response of GET credential request with a given name.",
        "title": "Get credential response",
        "x-displayname": "GET Credential Response.",
        "x-ves-proto-message": "ves.io.schema.api_credential.GetResponse",
        "properties": {
          "object": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialObject"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Response of GET credential request with a given name.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialGetResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialGetServiceCredentialsResponse": {
        "type": "object",
        "description": "Response of GET service credentials request with a given name.",
        "title": "Get service credentials response",
        "x-displayname": "GET Service Credentials Response.",
        "x-ves-proto-message": "ves.io.schema.api_credential.GetServiceCredentialsResponse",
        "properties": {
          "active": {
            "type": "boolean",
            "description": "Possibility to deactivate credential with no deletion.",
            "title": "Active",
            "format": "boolean",
            "x-displayname": "Active",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Possibility to deactivate credential with no deletion.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "create_timestamp": {
            "type": "string",
            "description": "Create time of service credential.",
            "title": "Create timestamp",
            "format": "date-time",
            "x-displayname": "Creation Time.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "expiry_timestamp": {
            "type": "string",
            "description": "Expiry time of service credential.",
            "title": "Expiry time",
            "format": "date-time",
            "x-displayname": "Expiry Time.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Name of service credential object.",
            "title": "Credential name",
            "x-displayname": "Name",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "Namespace of service credential object.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-f5xc-example": "system",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace_access": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaNamespaceAccessType"
              }
            ],
            "x-f5xc-example": "example-resource",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialAPICredentialType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "uid": {
            "type": "string",
            "description": "Uid of service credential object.",
            "title": "uid of the record",
            "x-displayname": "UUID",
            "x-ves-example": "00000000-0000-4000-8000-676e83e049e2.",
            "x-f5xc-example": "00000000-0000-4000-8000-676e83e049e2",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "user_email": {
            "type": "string",
            "description": "Email of the service user attached to service credential .",
            "title": "Email of user",
            "x-displayname": "User",
            "x-ves-example": "Admin@example.com.",
            "x-f5xc-example": "admin@example.com",
            "x-f5xc-description-short": "Email of the service user attached to service credential .",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "user_group_names": {
            "type": "array",
            "description": "User group list associated to this service credential.",
            "title": "User Groups Names",
            "items": {
              "type": "string"
            },
            "x-displayname": "User Groups.",
            "x-ves-example": "[\"dev-group-1\"]",
            "x-f5xc-example": "\"[\"dev-group-1\"]\"",
            "x-f5xc-description-short": "User group list associated to this service credential.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Response of GET service credentials request with a given name.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialGetServiceCredentialsResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialGlobalSpecType": {
        "type": "object",
        "description": "Keeps track of user requested API credentials.",
        "title": "API credentials",
        "x-displayname": "API Credentials.",
        "x-ves-proto-message": "ves.io.schema.api_credential.GlobalSpecType",
        "properties": {
          "active": {
            "type": "boolean",
            "description": "Possibility to deactivate/activate credential with no deletion.",
            "title": "Active",
            "format": "boolean",
            "x-displayname": "Active",
            "x-f5xc-example": "True",
            "x-f5xc-description-short": "Possibility to deactivate/activate credential with no deletion.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "certificate_serial_num": {
            "type": "string",
            "description": "Serial number of the client certificate part of credential type API Certificate or Kubeconfig.",
            "title": "Certificate Serial Number",
            "maxLength": 32,
            "x-displayname": "Certificate Serial Number.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_len": "32"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_len": "32"
            },
            "x-f5xc-description-short": "Serial number of the client certificate part of credential type API Certificate or Kubeconfig.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 32,
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "created_timestamp": {
            "type": "string",
            "description": "Timestamp of credential creation.",
            "title": "Created timestamp",
            "format": "date-time",
            "x-displayname": "Created timestamp.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "digest": {
            "type": "string",
            "description": "Digest sha1 of credential.",
            "title": "Digest sha1",
            "x-displayname": "Digest sha1.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "expiration_timestamp": {
            "type": "string",
            "description": "Timestamp of credential expiration.",
            "title": "Expiry timestamp",
            "format": "date-time",
            "x-displayname": "Expiry timestamp.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "site_name": {
            "type": "string",
            "description": "Site name when global kubeconfig is issued for physical K8s site.",
            "title": "Site Name",
            "x-displayname": "Site Name",
            "x-f5xc-example": "example-resource",
            "x-f5xc-description-short": "Site name when global kubeconfig is issued for physical K8s site.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialAPICredentialType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "users": {
            "type": "array",
            "description": "Reference to user for whom API credential is created.",
            "title": "user requesting credential",
            "maxItems": 1,
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "User",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "1"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "1"
            },
            "x-f5xc-description-short": "Reference to user for whom API credential is created.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 1,
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "virtual_k8s_name": {
            "type": "string",
            "description": "Name of virtual K8s cluster.",
            "title": "Virtual K8s",
            "x-displayname": "Virtual K8s.",
            "x-f5xc-example": "example-resource",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "virtual_k8s_namespace": {
            "type": "string",
            "description": "Namespace of virtual_k8s.",
            "title": "Virtual K8s namespace",
            "x-displayname": "Namespace",
            "x-f5xc-example": "example-resource",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Keeps track of user requested API credentials.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialGlobalSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialListResponse": {
        "type": "object",
        "description": "Response of request to list all of users credential objects.",
        "title": "List credential response",
        "x-displayname": "List Credential Response.",
        "x-ves-proto-message": "ves.io.schema.api_credential.ListResponse",
        "properties": {
          "items": {
            "type": "array",
            "description": "List of credential items.",
            "title": "List of the credentials",
            "items": {
              "$ref": "#/components/schemas/api_credentialListResponseItem"
            },
            "x-displayname": "Credentials.",
            "x-f5xc-example": "[\"item1\", \"item2\", \"item3\"]",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "general",
              "minItems": 0,
              "maxItems": 256,
              "uniqueItems": false,
              "metadata": {
                "source": "inferred",
                "confidence": 0.7,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Response of request to list all of users credential objects.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialListResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialListResponseItem": {
        "type": "object",
        "description": "Each item of credential list request.",
        "title": "List Credential item",
        "x-displayname": "List credential response item.",
        "x-ves-proto-message": "ves.io.schema.api_credential.ListResponseItem",
        "properties": {
          "active": {
            "type": "boolean",
            "description": "Possibility to deactivate credential with no deletion.",
            "title": "Active",
            "format": "boolean",
            "x-displayname": "Active",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Possibility to deactivate credential with no deletion.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "create_timestamp": {
            "type": "string",
            "description": "Create time of API credential.",
            "title": "Create timestamp",
            "format": "date-time",
            "x-displayname": "Creation Time.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "expiry_timestamp": {
            "type": "string",
            "description": "Expiry time of credential.",
            "title": "Expiry time",
            "format": "date-time",
            "x-displayname": "Expiry Time.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Name of API credential object.",
            "title": "Credential name",
            "x-displayname": "Name",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "Namespace of API credential object.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-f5xc-example": "system",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialAPICredentialType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "uid": {
            "type": "string",
            "description": "UUID of API credential object.",
            "title": "uuid of the record",
            "x-displayname": "UUID",
            "x-ves-example": "00000000-0000-4000-8000-676e83e049e2.",
            "x-f5xc-example": "00000000-0000-4000-8000-676e83e049e2",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "user_email": {
            "type": "string",
            "description": "User email of user that requested credential .",
            "title": "Email of user",
            "x-displayname": "User",
            "x-ves-example": "Admin@example.com.",
            "x-f5xc-example": "admin@example.com",
            "x-f5xc-description-short": "User email of user that requested credential .",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialListResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialListServiceCredentialsResponse": {
        "type": "object",
        "description": "Response of request to list all of service credential objects.",
        "title": "List service credential response",
        "x-displayname": "List Service Credential Response.",
        "x-ves-proto-message": "ves.io.schema.api_credential.ListServiceCredentialsResponse",
        "properties": {
          "items": {
            "type": "array",
            "description": "List of service credential items.",
            "title": "List of the service credentials",
            "items": {
              "$ref": "#/components/schemas/api_credentialListServiceCredentialsResponseItem"
            },
            "x-displayname": "Service Credentials.",
            "x-f5xc-example": "[\"item1\", \"item2\", \"item3\"]",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "general",
              "minItems": 0,
              "maxItems": 256,
              "uniqueItems": false,
              "metadata": {
                "source": "inferred",
                "confidence": 0.7,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Response of request to list all of service credential objects.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialListServiceCredentialsResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialListServiceCredentialsResponseItem": {
        "type": "object",
        "description": "Each item of service credential list request.",
        "title": "List Service Credential item",
        "x-displayname": "List service credential response item.",
        "x-ves-proto-message": "ves.io.schema.api_credential.ListServiceCredentialsResponseItem",
        "properties": {
          "active": {
            "type": "boolean",
            "description": "Possibility to deactivate credential with no deletion.",
            "title": "Active",
            "format": "boolean",
            "x-displayname": "Active",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Possibility to deactivate credential with no deletion.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "create_timestamp": {
            "type": "string",
            "description": "Create time of API credential.",
            "title": "Create timestamp",
            "format": "date-time",
            "x-displayname": "Creation Time.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "expiry_timestamp": {
            "type": "string",
            "description": "Expiry time of credential.",
            "title": "Expiry time",
            "format": "date-time",
            "x-displayname": "Expiry Time.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Name of API credential object.",
            "title": "Credential name",
            "x-displayname": "Name",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "Namespace of API credential object.",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-f5xc-example": "system",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace_access": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaNamespaceAccessType"
              }
            ],
            "x-f5xc-example": "example-resource",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialAPICredentialType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "uid": {
            "type": "string",
            "description": "UUID of API credential object.",
            "title": "uuid of the record",
            "x-displayname": "UUID",
            "x-ves-example": "00000000-0000-4000-8000-676e83e049e2.",
            "x-f5xc-example": "00000000-0000-4000-8000-676e83e049e2",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "user_email": {
            "type": "string",
            "description": "User email of user that requested credential .",
            "title": "Email of user",
            "x-displayname": "User",
            "x-ves-example": "Admin@example.com.",
            "x-f5xc-example": "admin@example.com",
            "x-f5xc-description-short": "User email of user that requested credential .",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "user_group_names": {
            "type": "array",
            "description": "User group list associated to this service credential.",
            "title": "User Groups Names",
            "items": {
              "type": "string"
            },
            "x-displayname": "User Groups.",
            "x-ves-example": "[\"dev-group-1\"]",
            "x-f5xc-example": "\"[\"dev-group-1\"]\"",
            "x-f5xc-description-short": "User group list associated to this service credential.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Each item of service credential list request.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialListServiceCredentialsResponseItem",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialNameSelector": {
        "type": "object",
        "description": "Revoke Credentials by their names.",
        "title": "Name Selector",
        "x-displayname": "Name Selector.",
        "x-ves-proto-message": "ves.io.schema.api_credential.NameSelector",
        "properties": {
          "names": {
            "type": "array",
            "description": "It contains the names of credentials which needs to be deleted.",
            "title": "name of api credential",
            "minItems": 1,
            "maxItems": 200,
            "items": {
              "type": "string"
            },
            "x-displayname": "Name of API Credentials.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "200",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.repeated.max_items": "200",
              "ves.io.schema.rules.repeated.min_items": "1",
              "ves.io.schema.rules.repeated.unique": "true"
            },
            "x-f5xc-example": "example-resource",
            "x-f5xc-description-short": "It contains the names of credentials which needs to be deleted.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "minItems": 1,
              "maxItems": 200,
              "uniqueItems": true,
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialNameSelector",
          "required_fields": [
            "names"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"names\": [\n    \"value\"\n  ]\n}",
          "example_yaml": "names:\n- value"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialObject": {
        "type": "object",
        "description": "API Credential object represents the user request to create a certificate.",
        "title": "API Credentials",
        "x-displayname": "Credentials.",
        "x-ves-proto-message": "ves.io.schema.api_credential.Object",
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaObjectMetaType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialSpecType"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "system_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaSystemObjectMetaType__ves_io_schema_api_credential"
              }
            ],
            "x-f5xc-example": "{\"key\": \"value\"}",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "API Credential object represents the user request to create a certificate.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialObject",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialRecreateScimTokenRequest": {
        "type": "object",
        "description": "RecreateScimTokenRequest is the request format for generating SCIM API credential.",
        "title": "Recreate SCIM Token Request",
        "x-displayname": "Recreate SCIM Token Request.",
        "x-ves-proto-message": "ves.io.schema.api_credential.RecreateScimTokenRequest",
        "properties": {
          "expiration_days": {
            "type": "integer",
            "description": "Qty of days of service credential expiration. Default value is 180.\nExpiration days value can range between 1 and 730.",
            "title": "Expiry in days",
            "format": "int64",
            "x-displayname": "Expiry in days.",
            "x-ves-example": "Value",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "730"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.uint32.gte": "1",
              "ves.io.schema.rules.uint32.lte": "730"
            },
            "x-f5xc-description-short": "Qty of days of service credential expiration. Default value is 180.",
            "x-f5xc-description-medium": "Qty of days of service credential expiration. Default value is 180. Expiration days value can range between 1 and 730.",
            "x-f5xc-constraints": {
              "constraintType": "number",
              "category": "discovery",
              "minimum": 1,
              "maximum": 730,
              "deterministic": true,
              "metadata": {
                "source": "api-probed",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          },
          "namespace": {
            "type": "string",
            "description": "Value of namespace is always \"system\".",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-description-short": "RecreateScimTokenRequest is the request format for generating SCIM API credential.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialRecreateScimTokenRequest",
          "required_fields": [
            "expiration_days"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"expiration_days\": 1\n}",
          "example_yaml": "expiration_days: 1"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialRenewRequest": {
        "type": "object",
        "description": "Request to renew a credential object.",
        "title": "Renew Credential request",
        "x-displayname": "Renew Credentials.",
        "x-ves-proto-message": "ves.io.schema.api_credential.RenewRequest",
        "properties": {
          "expiration_days": {
            "type": "integer",
            "description": "Qty of days of service credential expiration.",
            "title": "Expiry in days",
            "format": "int64",
            "x-displayname": "Expiry in days.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Qty of days of service credential expiration.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Name of API credential object.",
            "title": "Credential name",
            "x-displayname": "Name",
            "x-ves-example": "API-cred-00000000-0000-4000-8000-c725f8541661.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "api-cred-00000000-0000-4000-8000-c725f8541661",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "Value of namespace is always \"system\" .",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "system",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialRenewRequest",
          "required_fields": [
            "name",
            "namespace"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"api-cred-00000000-0000-4000-8000-c725f8541661\",\n  \"namespace\": \"system\"\n}",
          "example_yaml": "name: api-cred-00000000-0000-4000-8000-c725f8541661\nnamespace: system"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialReplaceServiceCredentialsRequest": {
        "type": "object",
        "description": "Request format for replacing service credentials.",
        "title": "Replace Service Credentials Request",
        "x-displayname": "Replace Service Credentials Request.",
        "x-ves-proto-message": "ves.io.schema.api_credential.ReplaceServiceCredentialsRequest",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of service credential object.",
            "title": "Service Credential name",
            "x-displayname": "Name",
            "x-ves-example": "API-cred-00000000-0000-4000-8000-c725f8541661.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "api-cred-00000000-0000-4000-8000-c725f8541661",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "Namespace of the service credential user.\nValue of namespace is always \"system\".",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-f5xc-example": "system",
            "x-f5xc-description-short": "Namespace of the service credential user. Value of namespace is always \"system\".",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace_access": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaNamespaceAccessType"
              }
            ],
            "x-f5xc-example": "example-resource",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "user_group_names": {
            "type": "array",
            "description": "List of user_groups to be replaced for this service credentials.",
            "title": "User Groups Names",
            "items": {
              "type": "string"
            },
            "x-displayname": "Groups",
            "x-ves-example": "[\"dev-group-1\"]",
            "x-f5xc-example": "\"[\"dev-group-1\"]\"",
            "x-f5xc-description-short": "List of user_groups to be replaced for this service credentials.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Request format for replacing service credentials.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialReplaceServiceCredentialsRequest",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"api-cred-00000000-0000-4000-8000-c725f8541661\"\n}",
          "example_yaml": "name: api-cred-00000000-0000-4000-8000-c725f8541661"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialReplaceServiceCredentialsResponse": {
        "type": "object",
        "description": "Response format for the credential's replace request.",
        "title": "Replace service credentials response",
        "x-displayname": "Replace service credentials response.",
        "x-ves-proto-message": "ves.io.schema.api_credential.ReplaceServiceCredentialsResponse",
        "properties": {
          "active": {
            "type": "boolean",
            "description": "Specifies if service credential is active or not.",
            "title": "Active",
            "format": "boolean",
            "x-displayname": "Active",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Specifies if service credential is active or not.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "expiration_timestamp": {
            "type": "string",
            "description": "Specifies the expiration timestamp.",
            "title": "Expiry",
            "format": "date-time",
            "x-displayname": "Expiry",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "Name of API credential record.",
            "title": "Name",
            "x-displayname": "Name",
            "x-ves-example": "Svc-cred-app1.",
            "x-f5xc-example": "svc-cred-app1",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-description-short": "Response format for the credential's replace request.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialReplaceServiceCredentialsResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialScimTokenRequest": {
        "type": "object",
        "description": "ScimTokenRequest is used for fetching or revoking scim token.",
        "title": "Scim Token Request",
        "x-displayname": "Scim Token Request.",
        "x-ves-proto-message": "ves.io.schema.api_credential.ScimTokenRequest",
        "properties": {
          "namespace": {
            "type": "string",
            "description": "Value of namespace is always \"system\".",
            "title": "Namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "System",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "system",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-description-short": "ScimTokenRequest is used for fetching or revoking scim token.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialScimTokenRequest",
          "required_fields": [
            "namespace"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"namespace\": \"system\"\n}",
          "example_yaml": "namespace: system"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialSiteKubeconfigType": {
        "type": "object",
        "description": "Site Global Kube Config parameters.",
        "title": "site_kubeconfig",
        "x-displayname": "Site Global Kube Config Specification.",
        "x-ves-proto-message": "ves.io.schema.api_credential.SiteKubeconfigType",
        "properties": {
          "site": {
            "type": "string",
            "description": "Name of the site for which kubeconfig is being requested.",
            "title": "Site",
            "minLength": 1,
            "maxLength": 64,
            "x-displayname": "Site",
            "x-ves-example": "Ce398",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "64",
              "ves.io.schema.rules.string.min_bytes": "1"
            },
            "x-f5xc-example": "ce398",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_bytes": "64",
              "ves.io.schema.rules.string.min_bytes": "1"
            },
            "x-f5xc-description-short": "Name of the site for which kubeconfig is being requested.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "minLength": 1,
              "maxLength": 64,
              "byteLength": {
                "max": 64,
                "min": 1
              },
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialSiteKubeconfigType",
          "required_fields": [
            "site"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"site\": \"ce398\"\n}",
          "example_yaml": "site: ce398"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialSpecType": {
        "type": "object",
        "description": "Shape of the API credential specification.",
        "title": "Specification for API credentials",
        "x-displayname": "Specifications.",
        "x-ves-proto-message": "ves.io.schema.api_credential.SpecType",
        "properties": {
          "gc_spec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/api_credentialGlobalSpecType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Shape of the API credential specification.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialSpecType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialStatusResponse": {
        "type": "object",
        "description": "API credential status response.",
        "title": "API credential status response",
        "x-displayname": "API credential status response.",
        "x-ves-proto-message": "ves.io.schema.api_credential.StatusResponse",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Result status flag.",
            "title": "Status",
            "format": "boolean",
            "x-displayname": "Status",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 17,
            "minLength": 17,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialStatusResponse",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "api_credentialVk8sKubeconfigType": {
        "type": "object",
        "description": "Service Kube Config parameters.",
        "title": "vk8s_kubeconfig",
        "x-displayname": "Service Kube Config Specification.",
        "x-ves-proto-message": "ves.io.schema.api_credential.Vk8sKubeconfigType",
        "properties": {
          "vk8s_cluster_name": {
            "type": "string",
            "description": "Name of virtual K8s cluster.",
            "title": "virtual k8s cluster name",
            "x-displayname": "VK8s Cluster.",
            "x-ves-example": "Vk8s-product-app1.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ves_object_name": "true"
            },
            "x-f5xc-example": "vk8s-product-app1",
            "x-validation-rules": {
              "ves.io.schema.rules.string.ves_object_name": "true"
            },
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "format": "dns-label",
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "vk8s_namespace": {
            "type": "string",
            "description": "Namespace of virtual K8s cluster. Applicable for KUBE_CONFIG.",
            "title": "Virtual k8s namespace",
            "x-displayname": "VK8s Namespace.",
            "x-ves-example": "App-ns1",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.ves_object_name": "true"
            },
            "x-f5xc-example": "app-ns1",
            "x-validation-rules": {
              "ves.io.schema.rules.string.ves_object_name": "true"
            },
            "x-f5xc-description-short": "Namespace of virtual K8s cluster. Applicable for KUBE_CONFIG.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1024,
              "format": "dns-label",
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for api_credentialVk8sKubeconfigType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "api",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaEmpty": {
        "type": "object",
        "description": "This can be used for messages where no values are needed.",
        "title": "Empty",
        "x-displayname": "Empty",
        "x-ves-proto-message": "ves.io.schema.Empty",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaEmpty",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "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": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "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": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaNamespaceAccessType": {
        "type": "object",
        "description": "Access info in the namespaces for the entity.",
        "title": "Namespace Access",
        "x-displayname": "Namespace Access.",
        "x-ves-proto-message": "ves.io.schema.NamespaceAccessType",
        "properties": {
          "namespace_role_map": {
            "type": "object",
            "description": "List of all the roles for the entity in the namespaces.",
            "title": "Namespace Role Map",
            "x-displayname": "Namespace Role Map.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "256",
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "'<namespace> [<roles>]'",
            "x-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "256",
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "List of all the roles for the entity in the namespaces.",
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "Access info in the namespaces for the entity.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaNamespaceAccessType",
          "required_fields": [
            "namespace_role_map"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"namespace_role_map\": {}\n}",
          "example_yaml": "namespace_role_map: {}"
        },
        "x-f5xc-cli-domain": "tenant_and_identity",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "Namespace management is platform-level administration"
          },
          "classification": {
            "category": "infrastructure",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaNamespaceRoleType": {
        "type": "object",
        "description": "Allows linking namespaces and roles.",
        "title": "Namespace role",
        "x-displayname": "Namespace Role.",
        "x-ves-proto-message": "ves.io.schema.NamespaceRoleType",
        "properties": {
          "namespace": {
            "type": "string",
            "description": "Namespace the role applies to\n'*' value implies all namespaces.",
            "title": "Namespace",
            "maxLength": 256,
            "x-displayname": "Namespace",
            "x-ves-example": "Ns1",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-example": "ns1",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "256"
            },
            "x-f5xc-description-short": "Namespace the role applies to '*' value implies all namespaces.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "role": {
            "type": "string",
            "description": "Users role for this namespace.",
            "title": "Role",
            "maxLength": 256,
            "x-displayname": "Role",
            "x-ves-example": "VES-I/O-monitor-role.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.ves_object_name": "true"
            },
            "x-f5xc-example": "ves-io-monitor-role",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true",
              "ves.io.schema.rules.string.max_len": "256",
              "ves.io.schema.rules.string.ves_object_name": "true"
            },
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 256,
              "format": "dns-label",
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          }
        },
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaNamespaceRoleType",
          "required_fields": [
            "namespace",
            "role"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"namespace\": \"ns1\",\n  \"role\": \"ves-io-monitor-role\"\n}",
          "example_yaml": "namespace: ns1\nrole: ves-io-monitor-role"
        },
        "x-f5xc-cli-domain": "tenant_and_identity",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "custom",
            "alternatives": [],
            "rationale": "Standard tenant resource"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "per-tenant"
          }
        }
      },
      "schemaObjectMetaType": {
        "type": "object",
        "description": "ObjectMetaType is metadata(common attributes) of an object that all configuration objects will have.\nThe information in this type can be specified by user during create and replace APIs.",
        "title": "ObjectMetaType",
        "x-displayname": "Metadata",
        "x-ves-proto-message": "ves.io.schema.ObjectMetaType",
        "properties": {
          "annotations": {
            "type": "object",
            "description": "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.",
            "title": "annotations",
            "x-displayname": "Annotations.",
            "x-ves-example": "Value",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "64",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.values.string.max_len": "1024",
              "ves.io.schema.rules.map.values.string.min_len": "1"
            },
            "additionalProperties": {
              "type": "string"
            },
            "x-f5xc-example": "value",
            "x-validation-rules": {
              "ves.io.schema.rules.map.keys.string.max_len": "64",
              "ves.io.schema.rules.map.keys.string.min_len": "1",
              "ves.io.schema.rules.map.values.string.max_len": "1024",
              "ves.io.schema.rules.map.values.string.min_len": "1"
            },
            "x-f5xc-description-short": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata.",
            "x-f5xc-description-medium": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "description": {
            "type": "string",
            "description": "Human readable description for the object.",
            "title": "description",
            "maxLength": 1200,
            "x-displayname": "Description.",
            "x-ves-example": "Virtual Host for Example Corp website.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "1200"
            },
            "x-f5xc-example": "Virtual Host for Example Corp website",
            "x-validation-rules": {
              "ves.io.schema.rules.string.max_bytes": "1200"
            },
            "x-f5xc-description-short": "Human readable description for the object.",
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "discovery",
              "maxLength": 1200,
              "minLength": 0,
              "characterSet": {
                "description": "Free text with UTF-8 support"
              },
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "byteLength": {
                "max": 1200
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 21,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "disable": {
            "type": "boolean",
            "description": "A value of true will administratively disable the object.",
            "title": "disable",
            "format": "boolean",
            "x-displayname": "Disable",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Value of true will administratively disable the object.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "Map of string keys and values that can be used to organize and categorize\n(scope and select) objects as chosen by the user. Values specified here will be used\nby selector expression.",
            "title": "labels",
            "x-displayname": "Labels",
            "x-ves-example": "Value",
            "additionalProperties": {
              "type": "string"
            },
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the user.",
            "x-f5xc-description-medium": "Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the user. Values specified here will be used by selector expression.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "name": {
            "type": "string",
            "description": "This is the name of configuration object. It has to be unique within the namespace.\nIt can only be specified during create API and cannot be changed during replace API.\nThe value of name has to follow DNS-1035 format.",
            "title": "name",
            "x-displayname": "Name",
            "x-ves-example": "Example-corp-web.",
            "x-ves-required": "true",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-example": "example-corp-web",
            "x-validation-rules": {
              "ves.io.schema.rules.message.required": "true"
            },
            "x-f5xc-description-short": "Name of configuration object. It has to be unique within the namespace.",
            "x-f5xc-description-medium": "Name of configuration object. It has to be unique within the namespace. It can only be specified during create API and cannot be changed during replace API.",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter, may contain lowercase alphanumeric and hyphens, must end with alphanumeric",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": true,
              "create": true,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "namespace": {
            "type": "string",
            "description": "This defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\"",
            "title": "namespace",
            "x-displayname": "Namespace",
            "x-ves-example": "Staging",
            "x-f5xc-example": "staging",
            "x-f5xc-description-short": "Defines the workspace within which each the configuration object is to be created.",
            "x-f5xc-description-medium": "Defines the workspace within which each the configuration object is to be created. Must be a DNS_LABEL format. For a namespace object itself, namespace value will be \"\".",
            "maxLength": 63,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "naming",
              "maxLength": 63,
              "minLength": 1,
              "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$",
              "characterSet": {
                "allowed": "[a-z0-9-]",
                "restricted": "[^a-z0-9-]",
                "required": "[a-z0-9]",
                "description": "Lowercase letter start, alphanumeric with hyphens, alphanumeric end"
              },
              "format": "dns-label",
              "formatDescription": "DNS-1035 label: must start with a lowercase letter",
              "validation": {
                "rfc": "RFC 1035",
                "standard": "DNS-1035 label (alpha-first)"
              },
              "metadata": {
                "source": "inferred",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              },
              "deterministic": true
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "minLength": 1,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00",
            "pattern": "^[a-z]([-a-z0-9]*[a-z0-9])?$"
          },
          "uid": {
            "type": "string",
            "description": "Uid is the unique in time and space value for this object. Object create will fail if\nprovided by the client and the value exists in the system. Typically generated by the\nserver on successful creation of an object and is not allowed to change once populated.\nShadowed by SystemObjectMeta's uid field.",
            "title": "uid",
            "x-displayname": "UID",
            "x-ves-example": "00000000-0000-4000-8000-0df41b679859.",
            "x-f5xc-example": "00000000-0000-4000-8000-0df41b679859",
            "x-f5xc-description-short": "Uid is the unique in time and space value for this object. Object create will fail if provided by the client and the value exists in the system.",
            "x-f5xc-description-medium": "Uid is the unique in time and space value for this object. Object create will fail if provided by the client and the value exists in the system. Typically generated by the server on successful creation of an object and is not allowed to change once populated.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "readOnly": true,
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          }
        },
        "x-f5xc-description-short": "ObjectMetaType is metadata(common attributes) of an object that all configuration objects will have.",
        "x-f5xc-description-medium": "ObjectMetaType is metadata(common attributes) of an object that all configuration objects will have. The information in this type can be specified by user during create and replace APIs.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaObjectMetaType",
          "required_fields": [
            "name"
          ],
          "mutually_exclusive_groups": [],
          "example_json": "{\n  \"name\": \"example-corp-web\"\n}",
          "example_yaml": "name: example-corp-web"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "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": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "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": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      },
      "schemaSystemObjectMetaType__ves_io_schema_api_credential": {
        "type": "object",
        "description": "SystemObjectMetaType is metadata generated or populated by the system for all persisted objects and\ncannot be updated directly by users.",
        "title": "SystemObjectMetaType",
        "x-displayname": "System Metadata.",
        "x-ves-proto-message": "ves.io.schema.SystemObjectMetaType",
        "properties": {
          "creation_timestamp": {
            "type": "string",
            "description": "CreationTimestamp is a timestamp representing the server time when this object was\ncreated. It is not guaranteed to be set in happens-before order across separate operations.\nClients may not set this value. It is represented in RFC3339 form and is in UTC.",
            "title": "creation_timestamp",
            "format": "date-time",
            "x-displayname": "Creation Timestamp.",
            "x-f5xc-description-short": "CreationTimestamp is a timestamp representing the server time when this object was created.",
            "x-f5xc-description-medium": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "readOnly": true,
            "x-field-mutability": "read-only"
          },
          "creator_class": {
            "type": "string",
            "description": "A value identifying the class of the user or service which created this configuration object.",
            "title": "creator_class",
            "x-displayname": "Creator Class.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Value identifying the class of the user or service which created this configuration object.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "readOnly": true,
            "x-field-mutability": "read-only"
          },
          "creator_cookie": {
            "type": "string",
            "description": "This can used by the creator of the object for later audit for e.g. By storing the\nversion identifying information of the object so at future it can be determined if\nversion present at remote end is current or stale.",
            "title": "creator_cookie",
            "x-displayname": "Creator Cookie.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Can used by the creator of the object for later audit for e.g.",
            "x-f5xc-description-medium": "Can used by the creator of the object for later audit for e.g. By storing the version identifying information of the object so at future it can be determined if version present at remote end is current or stale.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "creator_id": {
            "type": "string",
            "description": "A value identifying the exact user or service that created this configuration object.",
            "title": "creator_id",
            "x-displayname": "Creator ID.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Value identifying the exact user or service that created this configuration object.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "readOnly": true,
            "x-field-mutability": "read-only"
          },
          "deletion_timestamp": {
            "type": "string",
            "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This\nfield is set by the server when a graceful deletion is requested by the user, and is not\ndirectly settable by a client. The resource is expected to be deleted (no longer visible\nfrom resource lists, and not reachable by name) after the time in this field, once the\nfinalizers list is empty. As long as the finalizers list contains items, deletion is blocked.\nOnce the deletionTimestamp is set, this value may not be unset or be set further into the\nfuture, although it may be shortened or the resource may be deleted prior to this time.\nFor example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react\nby sending a graceful termination signal to the containers in the pod. After that 30 seconds,\nthe Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup,\nremove the pod from the API. In the presence of network partitions, this object may still\nexist after this timestamp, until an administrator or automated process can determine the\nresource is fully terminated.\nIf not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested.\nRead-only.",
            "title": "deletion_timestamp",
            "format": "date-time",
            "x-displayname": "Deletion Timestamp.",
            "x-f5xc-description-short": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted.",
            "x-f5xc-description-medium": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not...",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "direct_ref_hash": {
            "type": "string",
            "description": "A hash of the UIDs of direct references on this object. This can be used to determine if\nthis object hash has had references become resolved/unresolved.",
            "title": "direct_ref_hash",
            "x-displayname": "Direct Reference Hash.",
            "x-f5xc-description-short": "Hash of the UIDs of direct references on this object. This can be used to determine if this object hash has had references become resolved/unresolved.",
            "x-f5xc-description-medium": "Hash of the UIDs of direct references on this object. This can be used to determine if this object hash has had references become resolved/unresolved.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "finalizers": {
            "type": "array",
            "description": "Must be empty before the object is deleted from the registry. Each entry\nis an identifier for the responsible component that will remove the entry\nfrom the list. If the deletionTimestamp of the object is non-nil, entries\nin this list can only be removed.",
            "title": "finalizers",
            "items": {
              "type": "string"
            },
            "x-displayname": "Finalizers.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Must be empty before the object is deleted from the registry.",
            "x-f5xc-description-medium": "Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "initializers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaInitializersType__ves_io_schema_api_sec_api_crawler"
              }
            ],
            "x-f5xc-description-short": "Configuration parameter for initializers.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "labels": {
            "type": "object",
            "description": "Map of string keys and values that can be used to organize and categorize\n(scope and select) objects as chosen by the operator or software. Values here can be interpreted\nby software(backend or frontend) to enable certain behavior e.g. Things marked as soft-deleted(restorable).",
            "title": "labels",
            "x-displayname": "Labels",
            "x-ves-example": "'VES.I/O/soft-deleted': 'true'",
            "x-f5xc-example": "'F5 XC/soft-deleted''true'",
            "x-f5xc-description-short": "Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the operator or software.",
            "x-f5xc-description-medium": "Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the operator or software. Values here can be interpreted by software(backend or frontend) to enable certain behavior e.g. Things marked as soft-deleted(restorable).",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "modification_timestamp": {
            "type": "string",
            "description": "ModificationTimestamp is a timestamp representing the server time when this object was\nlast modified.",
            "title": "modification_timestamp",
            "format": "date-time",
            "x-displayname": "Modification Timestamp.",
            "x-f5xc-description-short": "ModificationTimestamp is a timestamp representing the server time when this object was last modified.",
            "x-f5xc-description-medium": "ModificationTimestamp is a timestamp representing the server time when this object was last modified.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "date-time",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "readOnly": true,
            "x-field-mutability": "read-only"
          },
          "namespace": {
            "type": "array",
            "description": "The namespace this object belongs to. This is populated by the service based on the\nmetadata.namespace field when an object is created.",
            "title": "namespace",
            "maxItems": 1,
            "items": {
              "$ref": "#/components/schemas/schemaObjectRefType"
            },
            "x-displayname": "Namespace Reference.",
            "x-ves-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "1"
            },
            "x-validation-rules": {
              "ves.io.schema.rules.repeated.max_items": "1"
            },
            "x-f5xc-example": "example-resource",
            "x-f5xc-description-short": "The namespace this object belongs to. This is populated by the service based on the metadata.namespace field when an object is created.",
            "x-f5xc-description-medium": "The namespace this object belongs to. This is populated by the service based on the metadata.namespace field when an object is created.",
            "x-f5xc-constraints": {
              "constraintType": "array",
              "category": "discovery",
              "maxItems": 1,
              "deterministic": true,
              "metadata": {
                "source": "discovery",
                "confidence": 0.99,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "maxLength": 6,
            "minLength": 6,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "object_index": {
            "type": "integer",
            "description": "Unique index for the object. Some objects need a unique integer index to be allocated\nfor each object type. This field will be populated for all objects that need it and will\nbe zero otherwise.",
            "title": "object_index",
            "format": "int64",
            "x-displayname": "Object Index.",
            "x-ves-example": "0",
            "x-f5xc-example": "0",
            "x-f5xc-description-short": "Unique index for the object. Some objects need a unique integer index to be allocated for each object type.",
            "x-f5xc-description-medium": "Unique index for the object. Some objects need a unique integer index to be allocated for each object type. This field will be populated for all objects that need it and will be zero otherwise.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "readOnly": true,
            "x-field-mutability": "read-only"
          },
          "owner_view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/schemaViewRefType"
              }
            ],
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-f5xc-references": [
              {
                "resource_kind": null,
                "field_path": "owner_view",
                "gated_by": null,
                "required": false,
                "cardinality": "single"
              }
            ]
          },
          "revision": {
            "type": "string",
            "description": "A revision number which always increases with each modification of the object in storage\nThis doesn't necessarily increase sequentially, but should always increase.\nThis will be 0 when first created, and before any modifications.",
            "title": "revision",
            "format": "int64",
            "x-displayname": "Revision",
            "x-f5xc-description-short": "Revision number which always increases with each modification of the object in storage This doesn't necessarily increase sequentially, but should...",
            "x-f5xc-description-medium": "Revision number which always increases with each modification of the object in storage This doesn't necessarily increase sequentially, but should always increase. This will be 0 when first created, and before any modifications.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "format": "int64",
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "sre_disable": {
            "type": "boolean",
            "description": "This should be set to true If F5XC/SRE operator wants to suppress an object from being\npresented to business-logic of a daemon(e.g. Due to bad-form/issue-causing Object).\nThis is meant only to be used in temporary situations for operational continuity till\na fix is rolled out in business-logic.",
            "title": "sre_disable",
            "format": "boolean",
            "x-displayname": "SRE Disable.",
            "x-ves-example": "True",
            "x-f5xc-example": "true",
            "x-f5xc-description-short": "Should be set to true If F5XC/SRE operator wants to suppress an object from being presented to business-logic of a daemon(e.g.",
            "x-f5xc-description-medium": "Should be set to true If F5XC/SRE operator wants to suppress an object from being presented to business-logic of a daemon(e.g. Due to bad-form/issue-causing Object). This is meant only to be used in temporary situations for operational continuity till a fix is rolled out in business-logic.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "tenant": {
            "type": "string",
            "description": "Tenant to which this configuration object belongs to. The value for this is found from\npresented credentials.",
            "title": "tenant",
            "x-displayname": "Tenant",
            "x-ves-example": "Example-corp.",
            "x-f5xc-example": "example-corp",
            "x-f5xc-description-short": "Tenant to which this configuration object belongs to. The value for this is found from presented credentials.",
            "x-f5xc-description-medium": "Tenant to which this configuration object belongs to. The value for this is found from presented credentials.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "readOnly": true,
            "x-field-mutability": "read-only",
            "minLength": 12,
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "trace_info": {
            "type": "string",
            "description": "Trace_info holds information(<trace-ID>:<span-ID>:<parent-span-ID>) of the request doing\nthe object modification. This can be used on the watch side to create subsequent spans.\nThis information can be used to co-relate activities across services (modulo state compression)\nfor a synchronous API.",
            "title": "trace_info",
            "x-displayname": "Trace Info.",
            "x-ves-example": "Value",
            "x-f5xc-example": "value",
            "x-f5xc-description-short": "Trace_info holds information(<trace-ID>:<span-ID>:<parent-span-ID>) of the request doing the object modification.",
            "x-f5xc-description-medium": "Trace_info holds information(<trace-ID>:<span-ID>:<parent-span-ID>) of the request doing the object modification. This can be used on the watch side to create subsequent spans. This information can be used to co-relate activities across services (modulo state compression) for a synchronous API.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          },
          "uid": {
            "type": "string",
            "description": "Uid is the unique in time and space value for this object. It is generated by\nthe server on successful creation of an object and is not allowed to change on Replace\nAPI. The value of is taken from uid field of ObjectMetaType, if provided.",
            "title": "uid",
            "x-displayname": "UID",
            "x-ves-example": "00000000-0000-4000-8000-0df41b679859.",
            "x-f5xc-example": "00000000-0000-4000-8000-0df41b679859",
            "x-f5xc-description-short": "Uid is the unique in time and space value for this object.",
            "x-f5xc-description-medium": "Uid is the unique in time and space value for this object. It is generated by the server on successful creation of an object and is not allowed to change on Replace API. The value of is taken from uid field of ObjectMetaType, if provided.",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "readOnly": true,
            "x-field-mutability": "read-only",
            "minLength": 36,
            "format": "uuid",
            "x-reconciled-from-discovery": true,
            "x-reconciled-at": "2026-09-24T11:00:01+00:00"
          },
          "vtrp_id": {
            "type": "string",
            "description": "Indicate origin of this object.",
            "title": "vtrp_id",
            "x-displayname": "VTRP ID",
            "maxLength": 1024,
            "x-f5xc-constraints": {
              "constraintType": "string",
              "category": "general",
              "maxLength": 1024,
              "metadata": {
                "source": "inferred",
                "confidence": 0.85,
                "validatedAt": "2026-09-24T11:00:01+00:00"
              }
            },
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            },
            "x-field-mutability": "read-only"
          },
          "vtrp_stale": {
            "type": "boolean",
            "description": "Indicate whether mars deems this object to be stale via graceful restart timer information.",
            "title": "vtrp_stale",
            "format": "boolean",
            "x-displayname": "VTRP Stale.",
            "x-f5xc-description-short": "Indicate whether mars deems this object to be stale via graceful restart timer information.",
            "x-f5xc-required-for": {
              "minimum_config": false,
              "create": false,
              "update": false,
              "read": false
            }
          }
        },
        "x-f5xc-description-short": "SystemObjectMetaType is metadata generated or populated by the system for all persisted objects and cannot be updated directly by users.",
        "x-f5xc-description-medium": "SystemObjectMetaType is metadata generated or populated by the system for all persisted objects and cannot be updated directly by users.",
        "x-f5xc-minimum-configuration": {
          "description": "Minimum configuration for schemaSystemObjectMetaType",
          "required_fields": [],
          "mutually_exclusive_groups": [],
          "example_json": "{}",
          "example_yaml": "{}"
        },
        "x-f5xc-cli-domain": "other",
        "x-f5xc-namespace-profile": {
          "constraint": {
            "allowed": [
              "system"
            ],
            "enforced": false
          },
          "recommendation": {
            "primary": "system",
            "alternatives": [],
            "rationale": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "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": "API credentials are platform-level identity"
          },
          "classification": {
            "category": "identity",
            "multi_tenant_pattern": "none"
          }
        }
      }
    },
    "responses": {},
    "parameters": {},
    "requestBodies": {}
  }
}
