> ## Documentation Index > Fetch the complete documentation index at: https://support.fortanix.com/llms.txt > Use this file to discover all available pages before exploring further. # Add a new compute cluster to an account > Add a new compute cluster to an account ## OpenAPI ````json POST /v1/clusters { "openapi": "3.0.4", "info": { "title": "Confidential Computing Manager", "description": "Fortanix Confidential Computing Manager Backend. These are APIs using which the frontend and other clients (compute node agents) interact with Fortanix Confidential Computing Manager functionalities, which include compute node and app enrollment, attestation and signing, and Certificate Authority.", "termsOfService": "https://www.fortanix.com/legal/terms/", "contact": { "name": "Fortanix Support", "url": "https://support.fortanix.com/hc/en-us/categories/360003107511-Confidential-Computing-Manager", "email": "support@fortanix.com" }, "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.html" }, "version": "2.0.0" }, "servers": [ { "url": "https://ccm.fortanix.com" } ], "paths": { "/v1/clusters": { "post": { "tags": [ "ComputeClusters" ], "summary": "Add a new compute cluster to an account", "description": "Add a new compute cluster to an account", "operationId": "createComputeCluster", "requestBody": { "$ref": "#/components/requestBodies/ComputeClusterRequest" }, "responses": { "200": { "description": "Cluster information", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ComputeClusterResponse" } } } } }, "security": [ { "bearerToken": [] } ], "x-auth-resource": "Writer,Manager,ActiveAccount" } } }, "components": { "requestBodies": { "ComputeClusterRequest": { "description": "request to add compute clusters", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ComputeClusterRequest" } } }, "required": true, "x-bodyName": "body" } }, "schemas": { "ComputeClusterResponse": { "required": [ "cluster_id", "name", "description", "created_by" ], "type": "object", "properties": { "cluster_id": { "type": "string", "format": "uuid" }, "name": { "type": "string" }, "description": { "type": "string" }, "created_by": { "type": "string", "format": "uuid" }, "kubernetes": { "$ref": "#/components/schemas/KubernetesClusterInfo" }, "aci": { "$ref": "#/components/schemas/AciClusterInfo" } } }, "ComputeClusterRequest": { "maxProperties": 3, "minProperties": 3, "required": [ "name", "description" ], "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": "string" }, "kubernetes": { "$ref": "#/components/schemas/KubernetesClusterRequest" }, "aci": { "$ref": "#/components/schemas/AciClusterRequest" } }, "description": "Request body for creating a compute cluster. Exactly one of kubernetes or aci field must be set." }, "KubernetesClusterInfo": { "required": [ "cluster", "server", "user" ], "type": "object", "properties": { "cluster": { "type": "string" }, "server": { "type": "string" }, "user": { "type": "string" } } }, "AciClusterInfo": { "required": [ "subscription", "resource_group" ], "type": "object", "properties": { "subscription": { "type": "string", "format": "uuid" }, "resource_group": { "type": "string" }, "deployment_location": { "type": "string" } } }, "KubernetesClusterRequest": { "type": "object", "properties": { "kubeconfig": { "$ref": "#/components/schemas/KubeConfig" } } }, "AciClusterRequest": { "required": [ "subscription", "resource_group", "secrets" ], "type": "object", "properties": { "subscription": { "type": "string", "format": "uuid" }, "resource_group": { "type": "string" }, "deployment_location": { "type": "string" }, "secrets": { "$ref": "#/components/schemas/AciComputeSecrets" } } }, "KubeConfig": { "required": [ "clusters", "users", "contexts" ], "type": "object", "properties": { "kind": { "type": "string" }, "apiVersion": { "type": "string" }, "clusters": { "type": "array", "items": { "$ref": "#/components/schemas/KubeConfigClusterRef" } }, "users": { "type": "array", "items": { "$ref": "#/components/schemas/KubeConfigUserRef" } }, "contexts": { "type": "array", "items": { "$ref": "#/components/schemas/KubeConfigContextRef" } }, "current-context": { "type": "string" } } }, "AciComputeSecrets": { "maxProperties": 1, "minProperties": 1, "type": "object", "properties": { "service_principal": { "$ref": "#/components/schemas/ServicePrincipal" } } }, "KubeConfigClusterRef": { "required": [ "name", "cluster" ], "type": "object", "properties": { "name": { "type": "string" }, "cluster": { "$ref": "#/components/schemas/KubeConfigCluster" } } }, "KubeConfigUserRef": { "required": [ "name", "user" ], "type": "object", "properties": { "name": { "type": "string" }, "user": { "$ref": "#/components/schemas/KubeConfigUser" } } }, "KubeConfigContextRef": { "required": [ "name", "context" ], "type": "object", "properties": { "name": { "type": "string" }, "context": { "$ref": "#/components/schemas/KubeConfigContext" } } }, "ServicePrincipal": { "required": [ "app_id", "tenant", "password" ], "type": "object", "properties": { "app_id": { "type": "string", "description": "Service principal app id." }, "tenant": { "type": "string", "description": "Service principal tenant id." }, "password": { "type": "string", "description": "Service principal app passcode." } } }, "KubeConfigCluster": { "required": [ "server" ], "type": "object", "properties": { "server": { "type": "string" }, "insecure-skip-tls-verify": { "type": "boolean" }, "certificate-authority-data": { "type": "string" } } }, "KubeConfigUser": { "type": "object", "properties": { "token": { "type": "string" }, "client-certificate-data": { "type": "string" }, "client-key-data": { "type": "string" }, "exec": { "$ref": "#/components/schemas/ExecConfig" } } }, "KubeConfigContext": { "required": [ "cluster", "user" ], "type": "object", "properties": { "cluster": { "type": "string" }, "user": { "type": "string" }, "namespace": { "type": "string" } } }, "ExecConfig": { "required": [ "command" ], "type": "object", "properties": { "api_version": { "type": "string" }, "command": { "type": "string" }, "args": { "type": "array", "items": { "type": "string" } } }, "description": "This struct is built to match ExecConfig from the rust kube-client crate." } }, "securitySchemes": { "bearerToken": { "type": "apiKey", "description": "A JWT bearer token to be passed once authenticated.", "name": "Authentication", "in": "header" } } } } ````