diff --git a/api/openapi-spec/swagger.json b/api/openapi-spec/swagger.json
index 885025a8104..2f971a5f7f7 100644
--- a/api/openapi-spec/swagger.json
+++ b/api/openapi-spec/swagger.json
@@ -35069,9 +35069,6 @@
},
"v1.ServiceSpec": {
"description": "ServiceSpec describes the attributes that a user creates on a service.",
- "required": [
- "ports"
- ],
"properties": {
"clusterIP": {
"description": "clusterIP is the IP address of the service and is usually assigned randomly by the master. If an address is specified manually and is not in use by others, it will be allocated to the service; otherwise, creation of the service will fail. This field can not be changed through updates. Valid values are \"None\", empty string (\"\"), or a valid IP address. \"None\" can be specified for headless services when proxying is not required. Only applies to types ClusterIP, NodePort, and LoadBalancer. Ignored if type is ExternalName. More info: http://kubernetes.io/docs/user-guide/services#virtual-ips-and-service-proxies",
diff --git a/api/swagger-spec/v1.json b/api/swagger-spec/v1.json
index 575bc377fb4..3ba1f61a75e 100644
--- a/api/swagger-spec/v1.json
+++ b/api/swagger-spec/v1.json
@@ -19821,9 +19821,6 @@
"v1.ServiceSpec": {
"id": "v1.ServiceSpec",
"description": "ServiceSpec describes the attributes that a user creates on a service.",
- "required": [
- "ports"
- ],
"properties": {
"ports": {
"type": "array",
diff --git a/docs/api-reference/v1/definitions.html b/docs/api-reference/v1/definitions.html
index d18cd4a3f33..8fadc16d2b3 100755
--- a/docs/api-reference/v1/definitions.html
+++ b/docs/api-reference/v1/definitions.html
@@ -8328,7 +8328,7 @@ Examples:
ports
The list of ports that are exposed by this service. More info: http://kubernetes.io/docs/user-guide/services#virtual-ips-and-service-proxies
true
false
v1.ServicePort array