Fortanix Confidential Computing Manager REST API

REST API for the Fortanix Confidential Computing Manager (CCM) backend: compute-node and application enrollment, enclave image build and conversion, attestation, certificate issuance, container registries, application configuration, approval requests, compute clusters, datasets and workflow runs.

OpenAPI Specification

fortanix-ccm-openapi-original.json Raw ↑
{
  "swagger": "2.0",
  "info": {
    "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.",
    "version": "2.0.0",
    "title": "Confidential Computing Manager",
    "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"
    }
  },
  "host": "ccm.fortanix.com",
  "produces": [
    "application/json"
  ],
  "schemes": [
    "https"
  ],
  "securityDefinitions": {
    "bearerToken": {
      "type": "apiKey",
      "in": "header",
      "name": "Authentication",
      "description": "A JWT bearer token to be passed once authenticated."
    }
  },
  "paths": {
    "/v1/zones": {
      "get": {
        "tags": [
          "Zone"
        ],
        "summary": "Get all zones.",
        "description": "Get details of all the zones.",
        "operationId": "getZones",
        "x-auth-resource": "Reader,Writer,Manager",
        "responses": {
          "200": {
            "description": "Details of all the zones.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Zone"
              }
            }
          }
        }
      }
    },
    "/v1/zones/{zone-id}": {
      "get": {
        "tags": [
          "Zone"
        ],
        "summary": "Get zone details.",
        "description": "Get details for a zone.",
        "operationId": "getZone",
        "x-auth-resource": "Reader,Writer,Manager",
        "parameters": [
          {
            "$ref": "#/parameters/ZoneId"
          }
        ],
        "responses": {
          "200": {
            "description": "Details of the zone.",
            "schema": {
              "$ref": "#/definitions/Zone"
            }
          }
        }
      }
    },
    "/v1/zones/{zone-id}/token": {
      "get": {
        "tags": [
          "Zone"
        ],
        "summary": "Get the authentication token.",
        "description": "\"Retrieve the authentication token (\"join token\") used to enroll compute nodes in this zone.\"\n",
        "operationId": "getZoneJoinToken",
        "x-auth-resource": "Manager",
        "parameters": [
          {
            "$ref": "#/parameters/ZoneId"
          }
        ],
        "responses": {
          "200": {
            "description": "Join token for the zone.",
            "schema": {
              "$ref": "#/definitions/ZoneJoinToken"
            }
          }
        }
      }
    },
    "/v1/zones/{zone-id}/certificates": {
      "get": {
        "tags": [
          "Zone"
        ],
        "summary": "Get all zone certificates",
        "description": "Get all certificates in the specified zone",
        "operationId": "GetZoneCertificates",
        "x-auth-resource": "Reader,Writer,Manager,ServiceAuth,AdminIfAuth",
        "parameters": [
          {
            "$ref": "#/parameters/ZoneId"
          }
        ],
        "responses": {
          "200": {
            "description": "Details of all zone certificates.",
            "schema": {
              "$ref": "#/definitions/ZoneCertificates"
            }
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      },
      "post": {
        "tags": [
          "Zone"
        ],
        "summary": "Create a new zone certificate",
        "description": "Creates a new Zone Certificate for the specified Zone",
        "operationId": "createZoneCertificate",
        "x-auth-resource": "Manager",
        "parameters": [
          {
            "$ref": "#/parameters/ZoneId"
          }
        ],
        "responses": {
          "200": {
            "description": "Details of the new zone certificate.",
            "schema": {
              "$ref": "#/definitions/ZoneCertificateCreateResponse"
            }
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      }
    },
    "/v1/zones/{zone-id}/certificates/rotate": {
      "post": {
        "tags": [
          "Zone"
        ],
        "summary": "Rotate zone certificate",
        "description": "Rotates the Zone Certificate for the specified Zone",
        "operationId": "rotateZoneCertificate",
        "x-auth-resource": "Manager",
        "parameters": [
          {
            "$ref": "#/parameters/ZoneId"
          }
        ],
        "responses": {
          "200": {
            "description": "Details of the new zone certificate.",
            "schema": {
              "$ref": "#/definitions/ZoneCertificates"
            }
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      }
    },
    "/v1/accounts": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Get all accounts.",
        "description": "Get detailed information about all accounts that the current user has permission to see.",
        "operationId": "getAccounts",
        "x-auth-resource": "UserAuth,Reader,Writer,Manager",
        "parameters": [
          {
            "name": "scope",
            "in": "query",
            "description": "Specify the scope from which to get the accounts. Possible options: USER, SYSTEM.",
            "required": false,
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum numbers of accounts to return.",
            "required": false,
            "type": "integer"
          },
          {
            "name": "previous_id",
            "in": "query",
            "description": "Id of account from previous page of results.",
            "required": false,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "sort_by",
            "in": "query",
            "description": "Sort fields. In the format of key1:ASC,key2:DESC,key3:DESC",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "All account details for the current user.",
            "schema": {
              "$ref": "#/definitions/AccountListResponse"
            }
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      },
      "post": {
        "tags": [
          "Accounts"
        ],
        "summary": "Create a new account.",
        "description": "Create a new account with the specified properties. Only an authenticated user can create an account.",
        "parameters": [
          {
            "$ref": "#/parameters/AccountRequest"
          }
        ],
        "operationId": "createAccount",
        "x-auth-resource": "UserAuth,Reader,Writer,Manager",
        "responses": {
          "200": {
            "description": "The details of the account created.",
            "schema": {
              "$ref": "#/definitions/Account"
            }
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      }
    },
    "/v1/accounts/{account-id}": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Get a specific account.",
        "description": "Look up an account by account ID. Current user must belong to a particular account.",
        "parameters": [
          {
            "$ref": "#/parameters/AccountId"
          },
          {
            "$ref": "#/parameters/WithTotals"
          }
        ],
        "operationId": "getAccount",
        "x-auth-resource": "UserAuth,Reader,Writer,Manager",
        "responses": {
          "200": {
            "description": "Particular account details.",
            "schema": {
              "$ref": "#/definitions/Account"
            }
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Accounts"
        ],
        "summary": "Delete an account.",
        "description": "Remove an account.",
        "parameters": [
          {
            "$ref": "#/parameters/AccountId"
          }
        ],
        "operationId": "deleteAccount",
        "x-auth-resource": "NoAuth",
        "responses": {
          "204": {
            "description": "Nothing is returned on success."
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Accounts"
        ],
        "summary": "Update an account.",
        "description": "Update the properties of an account. Only certain properties may be changed with this API.",
        "parameters": [
          {
            "$ref": "#/parameters/AccountId"
          },
          {
            "$ref": "#/parameters/AccountUpdateRequest"
          }
        ],
        "operationId": "updateAccount",
        "x-auth-resource": "Manager, UserAuth",
        "responses": {
          "200": {
            "description": "Updated account.",
            "schema": {
              "$ref": "#/definitions/Account"
            }
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      }
    },
    "/v1/builds": {
      "get": {
        "tags": [
          "Build"
        ],
        "summary": "Get all images information.",
        "description": "Get the image's information with all the attributes.",
        "operationId": "getAllBuilds",
        "x-auth-resource": "Reader,Writer,Manager",
        "parameters": [
          {
            "name": "all_search",
            "in": "query",
            "description": "Search on all fields(docker image name, app name, mrenclave, mrsigner, app output image name).",
            "required": false,
            "type": "string"
          },
          {
            "name": "docker_image_name",
            "in": "query",
            "description": "Search on docker image name or app's output image name.",
            "required": false,
            "type": "string"
          },
          {
            "name": "config_id",
            "in": "query",
            "description": "Search builds with access to application config id.",
            "required": false,
            "type": "string"
          },
          {
            "$ref": "#/parameters/BuildDeploymentStatusType"
          },
          {
            "$ref": "#/parameters/BuildStatusType"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum numbers of images to return.",
            "required": false,
            "type": "integer"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of images to skip from start.",
            "required": false,
            "type": "integer"
          },
          {
            "name": "sort_by",
            "in": "query",
            "description": "Sort fields. In the format of key1:ASC,key2:DESC,key3:DESC",
            "required": false,
            "type": "string"
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Filter to use for items, currently supports list of groups",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Search result for image objects.",
            "schema": {
              "$ref": "#/definitions/GetAllBuildsResponse"
            }
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      },
      "post": {
        "tags": [
          "Build"
        ],
        "summary": "Create a new image.",
        "description": "Create a new image.",
        "operationId": "createBuild",
        "x-auth-resource": "Writer,Manager,ActiveAccount",
        "parameters": [
          {
            "$ref": "#/parameters/CreateBuildRequest"
          }
        ],
        "responses": {
          "200": {
            "description": "Details of the created image.",
            "schema": {
              "$ref": "#/definitions/Build"
            }
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      }
    },
    "/v1/builds/{build-id}": {
      "get": {
        "tags": [
          "Build"
        ],
        "summary": "Get details of a particular image.",
        "description": "Details of a particular image.",
        "operationId": "getBuild",
        "x-auth-resource": "Reader,Writer,Manager",
        "parameters": [
          {
            "$ref": "#/parameters/BuildId"
          }
        ],
        "responses": {
          "200": {
            "description": "Details of an image.",
            "schema": {
              "$ref": "#/definitions/Build"
            }
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Build"
        ],
        "summary": "Delete a particular image.",
        "description": "Delete a particular image.",
        "operationId": "deleteBuild",
        "x-auth-resource": "Writer,Manager",
        "parameters": [
          {
            "$ref": "#/parameters/BuildId"
          }
        ],
        "responses": {
          "204": {
            "description": "Nothing is returned on success."
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Build"
        ],
        "summary": "Update details of a particular image.",
        "description": "Update details of a particular image.",
        "operationId": "updateBuild",
        "x-auth-resource": "Writer,Manager",
        "parameters": [
          {
            "$ref": "#/parameters/BuildId"
          },
          {
            "$ref": "#/parameters/BuildUpdateRequest"
          }
        ],
        "responses": {
          "200": {
            "description": "Details of a compute node.",
            "schema": {
              "$ref": "#/definitions/Build"
            }
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      }
    },
    "/v1/builds/deployments/{build-id}": {
      "get": {
        "tags": [
          "Build"
        ],
        "summary": "Get all deployments of an image.",
        "description": "Get all deployments of an image.",
        "operationId": "getBuildDeployments",
        "x-auth-resource": "Reader,Writer,Manager",
        "parameters": [
          {
            "$ref": "#/parameters/BuildId"
          },
          {
            "$ref": "#/parameters/AppStatusType"
          },
          {
            "name": "all_search",
            "in": "query",
            "description": "Search on all fields (image status and compute node name).",
            "required": false,
            "type": "string"
          },
          {
            "name": "sort_by",
            "in": "query",
            "description": "Sort fields. In the format of key1:ASC,key2:DESC,key3:DESC",
            "required": false,
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum number of images to return.",
            "required": false,
            "type": "integer"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of images to skip from start.",
            "required": false,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "Details of image deployments.",
            "schema": {
              "$ref": "#/definitions/GetAllBuildDeploymentsResponse"
            }
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      }
    },
    "/v1/builds/convert-app/nitro-enclaves": {
      "post": {
        "tags": [
          "Build"
        ],
        "summary": "Convert a docker image and create a new Nitro enclaves converted image.",
        "description": "Convert a docker image and create a new Nitro enclaves converted image.",
        "operationId": "convertAppBuildNitroEnclaves",
        "x-auth-resource": "Writer,Manager,ActiveAccount",
        "parameters": [
          {
            "$ref": "#/parameters/NitroEnclavesConversionRequest"
          }
        ],
        "responses": {
          "200": {
            "description": "Details of the created image.",
            "schema": {
              "$ref": "#/definitions/Build"
            }
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      }
    },
    "/v1/builds/convert-app/aci": {
      "post": {
        "tags": [
          "Build"
        ],
        "summary": "Analyze a docker image and create Confidential ACI deployment templates.",
        "description": "Analyze a docker image and create Confidential ACI deployment templates.",
        "operationId": "convertAppBuildAci",
        "x-auth-resource": "Writer,Manager,ActiveAccount",
        "parameters": [
          {
            "$ref": "#/parameters/AciConversionRequest"
          }
        ],
        "responses": {
          "200": {
            "description": "Details of the created image.",
            "schema": {
              "$ref": "#/definitions/Build"
            }
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      }
    },
    "/v1/nodes": {
      "get": {
        "tags": [
          "Node"
        ],
        "summary": "Get all compute nodes information.",
        "description": "Get compute nodes information with status.",
        "operationId": "getAllNodes",
        "x-auth-resource": "Reader,Writer,Manager",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "description": "Compute node name.",
            "required": false,
            "type": "string"
          },
          {
            "name": "description",
            "in": "query",
            "description": "Compute node description.",
            "required": false,
            "type": "string"
          },
          {
            "name": "sgx_version",
            "in": "query",
            "description": "Search on node's SGX platform software version.",
            "required": false,
            "type": "string"
          },
          {
            "name": "all_search",
            "in": "query",
            "description": "Search on name or description.",
            "required": false,
            "type": "string"
          },
          {
            "name": "attestation_type",
            "in": "query",
            "description": "Node Attestation type (DCAP, NITRO_ENCLAVE or AMD_SEV_SNP).",
            "required": false,
            "type": "string"
          },
          {
            "$ref": "#/parameters/NodeStatusType"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum numbers of compute nodes to return.",
            "required": false,
            "type": "integer"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of compute nodes to skip from start.",
            "required": false,
            "type": "integer"
          },
          {
            "name": "sort_by",
            "in": "query",
            "description": "Sort fields. In the format of key1:ASC,key2:DESC,key3:DESC",
            "required": false,
            "type": "string"
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Filter query supports searching by list of node_id.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Search result for compute node objects.",
            "schema": {
              "$ref": "#/definitions/GetAllNodesResponse"
            }
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      },
      "post": {
        "tags": [
          "Node"
        ],
        "summary": "Provision a new compute node.",
        "description": "Provision a new compute node.",
        "operationId": "provisionNode",
        "x-auth-resource": "Manager,JoinTokenAuth",
        "parameters": [
          {
            "$ref": "#/parameters/NodeProvisionRequest"
          }
        ],
        "responses": {
          "200": {
            "description": "Compute node creation task.",
            "schema": {
              "$ref": "#/definitions/TaskResult"
            }
          }
        }
      }
    },
    "/v1/nodes/{node-id}": {
      "get": {
        "tags": [
          "Node"
        ],
        "summary": "Get details of a particular compute node.",
        "description": "Details of a particular compute node.",
        "operationId": "getNode",
        "x-auth-resource": "Reader,Writer,Manager,AgentAuth",
        "parameters": [
          {
            "$ref": "#/parameters/NodeId"
          }
        ],
        "responses": {
          "200": {
            "description": "Details of a compute node.",
            "schema": {
              "$ref": "#/definitions/Node"
            }
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Node"
        ],
        "summary": "Update details of a particular compute node.",
        "description": "Update details of a particular compute node.",
        "operationId": "updateNode",
        "x-auth-resource": "Writer,Manager,ActiveAccount",
        "parameters": [
          {
            "$ref": "#/parameters/NodeId"
          },
          {
            "$ref": "#/parameters/NodeUpdateRequest"
          }
        ],
        "responses": {
          "200": {
            "description": "Details of a compute node.",
            "schema": {
              "$ref": "#/definitions/Node"
            }
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      }
    },
    "/v1/nodes/{node-id}/certificate": {
      "get": {
        "tags": [
          "Node"
        ],
        "summary": "Get an attested compute node's certificate.",
        "description": "Get certificate for the compute node, only if the compute node is attested.",
        "operationId": "getNodeCertificate",
        "x-auth-resource": "Reader,Writer,Manager,JoinTokenAuth,AgentAuth",
        "parameters": [
          {
            "$ref": "#/parameters/NodeId"
          }
        ],
        "responses": {
          "200": {
            "description": "Compute node certificate.",
            "schema": {
              "$ref": "#/definitions/Certificate"
            }
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      }
    },
    "/v1/nodes/{node-id}/certificate-details": {
      "get": {
        "tags": [
          "Node"
        ],
        "summary": "Get a compute node's certificate.",
        "description": "Get certificate for the compute node.",
        "x-auth-resource": "Reader,Writer,Manager",
        "operationId": "getNodeCertificateDetails",
        "parameters": [
          {
            "$ref": "#/parameters/NodeId"
          }
        ],
        "responses": {
          "200": {
            "description": "Certificate details.",
            "schema": {
              "$ref": "#/definitions/CertificateDetails"
            }
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      }
    },
    "/v1/nodes/{node-id}/deactivate": {
      "post": {
        "tags": [
          "Node"
        ],
        "summary": "Deactivate a particular compute node.",
        "description": "Deactivate a particular compute node.",
        "operationId": "deactivateNode",
        "x-auth-resource": "Manager,ActiveAccount",
        "parameters": [
          {
            "$ref": "#/parameters/NodeId"
          }
        ],
        "responses": {
          "204": {
            "description": "Nothing is returned on success."
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      }
    },
    "/v1/certificates/{cert-id}": {
      "get": {
        "tags": [
          "Certificate"
        ],
        "summary": "Retrieve a certificate.",
        "description": "Retrieve a certificate.",
        "operationId": "getCertificate",
        "x-auth-resource": "Reader,Writer,Manager,AgentAuth,JoinTokenAuth",
        "parameters": [
          {
            "$ref": "#/parameters/CertificateId"
          }
        ],
        "responses": {
          "200": {
            "description": "Certificate",
            "schema": {
              "$ref": "#/definitions/Certificate"
            }
          }
        }
      }
    },
    "/v1/apps": {
      "get": {
        "tags": [
          "App"
        ],
        "summary": "Get all apps information.",
        "description": "Get app's information with status.",
        "operationId": "getAllApps",
        "x-auth-resource": "Reader,Writer,Manager",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "description": "App name.",
            "required": false,
            "type": "string"
          },
          {
            "name": "description",
            "in": "query",
            "description": "Compute node description.",
            "required": false,
            "type": "string"
          },
          {
            "name": "all_search",
            "in": "query",
            "description": "Search on name or description.",
            "required": false,
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum numbers of apps to return.",
            "required": false,
            "type": "integer"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Number of apps to skip from start.",
            "required": false,
            "type": "integer"
          },
          {
            "name": "sort_by",
            "in": "query",
            "description": "Sort fields. In the format of key1:ASC,key2:DESC,key3:DESC",
            "required": false,
            "type": "string"
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Filter to use for items, currently supports list of groups",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Search result for App objects.",
            "schema": {
              "$ref": "#/definitions/GetAllAppsResponse"
            }
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      },
      "post": {
        "tags": [
          "App"
        ],
        "summary": "Add an application.",
        "description": "Add an application.",
        "operationId": "addApplication",
        "x-auth-resource": "Writer,Manager,ActiveAccount",
        "parameters": [
          {
            "$ref": "#/parameters/AppRequest"
          }
        ],
        "responses": {
          "200": {
            "description": "Details of an app.",
            "schema": {
              "$ref": "#/definitions/App"
            }
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      }
    },
    "/v1/apps/{app-id}": {
      "get": {
        "tags": [
          "App"
        ],
        "summary": "Get details of a particular app.",
        "description": "Details of a particular app.",
        "operationId": "getApp",
        "x-auth-resource": "Reader,Writer,Manager",
        "parameters": [
          {
            "$ref": "#/parameters/AppId"
          }
        ],
        "responses": {
          "200": {
            "description": "Details of an app.",
            "schema": {
              "$ref": "#/definitions/App"
            }
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      },
      "patch": {
        "tags": [
          "App"
        ],
        "summary": "Update details of a particular app.",
        "description": "Update a particular app.",
        "operationId": "updateApp",
        "x-auth-resource": "Writer,Manager,ActiveAccount",
        "parameters": [
          {
            "$ref": "#/parameters/AppId"
          },
          {
            "$ref": "#/parameters/AppBodyUpdateRequest"
          }
        ],
        "responses": {
          "200": {
            "description": "Details of an app.",
            "schema": {
              "$ref": "#/definitions/App"
            }
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      },
      "delete": {
        "tags": [
          "App"
        ],
        "summary": "Delete a particular app",
        "description": "Delete a particular app.",
        "operationId": "deleteApp",
        "x-auth-resource": "Writer,Manager",
        "parameters": [
          {
            "$ref": "#/parameters/AppId"
          }
        ],
        "responses": {
          "204": {
            "description": "Nothing is returned on success."
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      }
    },
    "/v1/apps/{app-id}/node/{node-id}/certificate-details": {
      "get": {
        "tags": [
          "App"
        ],
        "summary": "Get an app's certificate for a compute node.",
        "description": "Get certificate for the app of a compute node.",
        "x-auth-resource": "Reader,Writer,Manager",
        "operationId": "getAppNodeCertificateDetails",
        "parameters": [
          {
            "$ref": "#/parameters/NodeId"
          },
          {
            "$ref": "#/parameters/AppId"
          }
        ],
        "responses": {
          "200": {
            "description": "App certificate details.",
            "schema": {
              "$ref": "#/definitions/CertificateDetails"
            }
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      }
    },
    "/v1/apps/{app-id}/node/{node-id}/certificate": {
      "get": {
        "tags": [
          "App"
        ],
        "summary": "Get an attested app's certificate.",
        "description": "Get certificate for the app, only if the compute node and app has been attested.",
        "operationId": "getAppCertificate",
        "x-auth-resource": "Reader,Writer,Manager,ActiveAccount",
        "parameters": [
          {
            "$ref": "#/parameters/NodeId"
          },
          {
            "$ref": "#/parameters/AppId"
          }
        ],
        "responses": {
          "200": {
            "description": "App certificate.",
            "schema": {
              "$ref": "#/definitions/Certificate"
            }
          }
        },
        "security": [
          {
            "bearerToken": []
          }
        ]
      }
    },
    "/v1/apps/unique_labels/count": {
      "get": {
        "tags": [
          "App"
        ],
        "summary": "Get all the unique labels across all the applications within selected account",
        "description": "Get all the unique labels (with count) across all the applications within selected account.",
        "operationId": "getAppsUniqueLabels",
        "x-auth-resource": "Reader,Writer,Manager",
        "responses": {
          "20

# --- truncated at 32 KB (276 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fortanix/refs/heads/main/openapi/fortanix-ccm-openapi-original.json
Where this information came from

This is an independent, third-party profile of Fortanix Confidential Computing Manager REST API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.