{"components": {"callbacks": {}, "examples": {}, "headers": {}, "links": {}, "parameters": {"atParam": {"name": "at", "description": "Limit results by specific datetime. Return resources created before or at, or deleted after or at, given datetime.", "in": "query", "required": false, "schema": {"type": "string", "format": "date-time"}, "examples": {"Return resources created before or deleted after `2021-07-21T17:32:28Z`": {"value": "2021-07-21T17:32:28Z"}}}}, "requestBodies": {}, "responses": {}, "schemas": {"MachineState": {"type": "string", "enum": ["running", "starting", "stopping", "stopped", "pending", "suspended", "terminated", "error", "rebooting", "paused", "reconfiguring", "unknown", "updating", "migrating", "normal", "succeeded", "failed"]}, "SupportedProviders": {"type": "string", "enum": ["amazon", "azure", "google", "alibaba", "cloudsigma", "equinix", "ibm", "digitalocean", "linode", "rackspace", "maxihost", "vultr", "openstack", "onapp", "vsphere", "vexxhost", "kvm", "lxd", "docker", "kubevirt", "kubernetes", "openshift", "other"]}, "ResponseMetadata": {"type": "object", "properties": {"total": {"type": "integer", "description": "Total items matching the query"}, "returned": {"type": "integer", "description": "Number of items in response"}, "sort": {"type": "string", "description": "Sort order of results"}, "start": {"type": "integer", "description": "Index of first response item in total matching items"}}}, "ListCloudsResponse": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/Cloud"}}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "GetCloudResponse": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/Cloud"}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "Cloud": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "provider": {"$ref": "#/components/schemas/SupportedProviders"}, "config": {"type": "object"}, "features": {"$ref": "#/components/schemas/CloudFeatures"}, "tags": {"type": "object"}, "created_by": {"type": "string"}, "owned_by": {"type": "string"}}}, "AddCloudRequest": {"allOf": [{"type": "object", "properties": {"name": {"type": "string", "description": "The name of the cloud to add"}, "provider": {"$ref": "#/components/schemas/SupportedProviders"}}, "required": ["name", "provider"]}, {"oneOf": [{"$ref": "#/components/schemas/AmazonCloudRequest"}, {"$ref": "#/components/schemas/AzureCloudRequest"}, {"$ref": "#/components/schemas/GoogleCloudRequest"}, {"$ref": "#/components/schemas/AlibabaCloudRequest"}, {"$ref": "#/components/schemas/CloudSigmaCloudRequest"}, {"$ref": "#/components/schemas/EquinixCloudRequest"}, {"$ref": "#/components/schemas/IbmCloudRequest"}, {"$ref": "#/components/schemas/DigitaloceanCloudRequest"}, {"$ref": "#/components/schemas/LinodeCloudRequest"}, {"$ref": "#/components/schemas/RackspaceCloudRequest"}, {"$ref": "#/components/schemas/MaxihostCloudRequest"}, {"$ref": "#/components/schemas/VultrCloudRequest"}, {"$ref": "#/components/schemas/OpenstackCloudRequest"}, {"$ref": "#/components/schemas/OnappCloudRequest"}, {"$ref": "#/components/schemas/VsphereCloudRequest"}, {"$ref": "#/components/schemas/KvmCloudRequest"}, {"$ref": "#/components/schemas/LxdCloudRequest"}, {"$ref": "#/components/schemas/DockerCloudRequest"}, {"$ref": "#/components/schemas/KubernetesCloudRequest"}, {"$ref": "#/components/schemas/KubevirtCloudRequest"}, {"$ref": "#/components/schemas/OpenshiftCloudRequest"}, {"$ref": "#/components/schemas/OtherCloudRequest"}], "discriminator": {"propertyName": "provider", "mapping": {"amazon": "#/components/schemas/AmazonCloudRequest", "azure": "#/components/schemas/AzureCloudRequest", "google": "#/components/schemas/GoogleCloudRequest", "cloudsigma": "#/components/schemas/CloudSigmaCloudRequest", "alibaba": "#/components/schemas/AlibabaCloudRequest", "equinix": "#/components/schemas/EquinixCloudRequest", "ibm": "#/components/schemas/IbmCloudRequest", "linode": "#/components/schemas/LinodeCloudRequest", "rackspace": "#/components/schemas/RackspaceCloudRequest", "maxihost": "#/components/schemas/MaxihostCloudRequest", "vultr": "#/components/schemas/VultrCloudRequest", "openstack": "#/components/schemas/OpenstackCloudRequest", "onapp": "#/components/schemas/OnappCloudRequest", "vsphere": "#/components/schemas/VsphereCloudRequest", "kvm": "#/components/schemas/KvmCloudRequest", "lxd": "#/components/schemas/LxdCloudRequest", "docker": "#/components/schemas/DockerCloudRequest", "kubernetes": "#/components/schemas/KubernetesCloudRequest", "kubevirt": "#/components/schemas/KubevirtCloudRequest", "openshift": "#/components/schemas/OpenshiftCloudRequest", "other": "#/components/schemas/OtherCloudRequest"}}}], "example": {"name": "my-cloud", "provider": "google", "credentials": {"projectId": "projectId", "privateKey": "privateKey", "email": "email"}}}, "EditCloudRequest_anyOf": {"type": "object", "properties": {"name": {"type": "string", "description": "Updated name"}}, "additionalProperties": false, "required": ["name"]}, "EditCloudRequest": {"anyOf": [{"$ref": "#/components/schemas/EditCloudRequest_anyOf"}, {"allOf": [{"type": "object", "properties": {"provider": {"$ref": "#/components/schemas/SupportedProviders"}}, "required": ["provider"]}, {"oneOf": [{"$ref": "#/components/schemas/AmazonCloudRequest"}, {"$ref": "#/components/schemas/AzureCloudRequest"}, {"$ref": "#/components/schemas/GoogleCloudRequest"}, {"$ref": "#/components/schemas/AlibabaCloudRequest"}, {"$ref": "#/components/schemas/CloudSigmaCloudRequest"}, {"$ref": "#/components/schemas/EquinixCloudRequest"}, {"$ref": "#/components/schemas/IbmCloudRequest"}, {"$ref": "#/components/schemas/DigitaloceanCloudRequest"}, {"$ref": "#/components/schemas/LinodeCloudRequest"}, {"$ref": "#/components/schemas/RackspaceCloudRequest"}, {"$ref": "#/components/schemas/MaxihostCloudRequest"}, {"$ref": "#/components/schemas/VultrCloudRequest"}, {"$ref": "#/components/schemas/OpenstackCloudRequest"}, {"$ref": "#/components/schemas/OnappCloudRequest"}, {"$ref": "#/components/schemas/VsphereCloudRequest"}, {"$ref": "#/components/schemas/KvmCloudRequest"}, {"$ref": "#/components/schemas/LxdCloudRequest"}, {"$ref": "#/components/schemas/DockerCloudRequest"}, {"$ref": "#/components/schemas/KubernetesCloudRequest"}, {"$ref": "#/components/schemas/KubevirtCloudRequest"}, {"$ref": "#/components/schemas/OpenshiftCloudRequest"}, {"$ref": "#/components/schemas/OtherCloudRequest"}], "discriminator": {"propertyName": "provider", "mapping": {"amazon": "#/components/schemas/AmazonCloudRequest", "azure": "#/components/schemas/AzureCloudRequest", "google": "#/components/schemas/GoogleCloudRequest", "cloudsigma": "#/components/schemas/CloudSigmaCloudRequest", "alibaba": "#/components/schemas/AlibabaCloudRequest", "equinix": "#/components/schemas/EquinixCloudRequest", "ibm": "#/components/schemas/IbmCloudRequest", "linode": "#/components/schemas/LinodeCloudRequest", "rackspace": "#/components/schemas/RackspaceCloudRequest", "maxihost": "#/components/schemas/MaxihostCloudRequest", "vultr": "#/components/schemas/VultrCloudRequest", "openstack": "#/components/schemas/OpenstackCloudRequest", "onapp": "#/components/schemas/OnappCloudRequest", "vsphere": "#/components/schemas/VsphereCloudRequest", "kvm": "#/components/schemas/KvmCloudRequest", "lxd": "#/components/schemas/LxdCloudRequest", "docker": "#/components/schemas/DockerCloudRequest", "kubernetes": "#/components/schemas/KubernetesCloudRequest", "kubevirt": "#/components/schemas/KubevirtCloudRequest", "openshift": "#/components/schemas/OpenshiftCloudRequest", "other": "#/components/schemas/OtherCloudRequest"}}}]}], "example": {"name": "my-renamed-cloud"}}, "CloudFeatures": {"type": "object", "description": "The cloud features that should be enabled", "properties": {"compute": {"type": "boolean", "default": true, "description": "Enable compute services"}, "dns": {"type": "boolean", "default": false, "description": "Enable DNS services"}, "container": {"type": "boolean", "default": false, "description": "Enable container services"}}}, "AmazonCloudRequest": {"type": "object", "properties": {"provider": {"type": "string", "enum": ["amazon"]}, "credentials": {"$ref": "#/components/schemas/AmazonCredentials"}, "features": {"$ref": "#/components/schemas/CloudFeatures"}}, "required": ["provider", "credentials"]}, "AmazonCredentials": {"type": "object", "properties": {"apikey": {"type": "string", "description": "Your AWS API key"}, "apisecret": {"type": "string", "description": "Your AWS API secret"}, "region": {"type": "string", "description": "Your AWS region"}}, "required": ["apikey", "apisecret", "region"]}, "AzureCloudRequest": {"type": "object", "properties": {"provider": {"type": "string", "enum": ["azure"]}, "credentials": {"$ref": "#/components/schemas/AzureCredentials"}, "features": {"$ref": "#/components/schemas/CloudFeatures"}}, "required": ["provider", "credentials"]}, "AzureCredentials": {"type": "object", "properties": {"tenantId": {"type": "string", "description": "Your Azure tenant ID"}, "subscriptionId": {"type": "string", "description": "Your Azure subscription ID"}, "key": {"type": "string", "description": "Your Azure key"}, "secret": {"type": "string", "description": "Your Azure secret"}}, "required": ["tenantId", "subscriptionId", "key", "secret"]}, "GoogleCloudRequest": {"type": "object", "properties": {"provider": {"type": "string", "enum": ["google"]}, "credentials": {"$ref": "#/components/schemas/GoogleCredentials"}, "features": {"$ref": "#/components/schemas/CloudFeatures"}}, "required": ["provider", "credentials"]}, "GoogleCredentials": {"type": "object", "properties": {"projectId": {"type": "string", "description": "The Id of your GCP project"}, "privateKey": {"type": "string", "description": "Your GCP private key"}, "email": {"type": "string", "description": "Your GCP client email"}}, "required": ["projectId", "privateKey", "email"]}, "AlibabaCloudRequest": {"type": "object", "properties": {"provider": {"type": "string", "enum": ["alibaba"]}, "credentials": {"$ref": "#/components/schemas/AlibabaCredentials"}, "features": {"$ref": "#/components/schemas/CloudFeatures"}}, "required": ["provider", "credentials"]}, "AlibabaCredentials": {"type": "object", "properties": {"apikey": {"type": "string", "description": "Your Alibaba Cloud API key"}, "apisecret": {"type": "string", "description": "Your Alibaba Cloud API secret"}, "region": {"type": "string", "description": "Your Alibaba Cloud region"}}, "required": ["apikey", "apisecret", "region"]}, "CloudSigmaCloudRequest": {"type": "object", "properties": {"provider": {"type": "string", "enum": ["cloudsigma"]}, "credentials": {"$ref": "#/components/schemas/CloudSigmaCredentials"}, "features": {"$ref": "#/components/schemas/CloudFeatures"}}, "required": ["provider", "credentials"]}, "CloudSigmaCredentials": {"type": "object", "properties": {"username": {"type": "string", "description": "Your CloudSigma username"}, "password": {"type": "string", "description": "Your CloudSigma password"}, "region": {"type": "string", "description": "Your CloudSigma region"}}, "required": ["username", "password", "region"]}, "EquinixCloudRequest": {"type": "object", "properties": {"provider": {"type": "string", "enum": ["equinix"]}, "credentials": {"$ref": "#/components/schemas/EquinixCredentials"}, "features": {"$ref": "#/components/schemas/CloudFeatures"}}, "required": ["provider", "credentials"]}, "EquinixCredentials": {"type": "object", "properties": {"apikey": {"type": "string", "description": "Your Equinix Metal API key"}}, "additionalProperties": false, "required": ["apikey"]}, "IbmCloudRequest": {"type": "object", "properties": {"provider": {"type": "string", "enum": ["ibm"]}, "credentials": {"$ref": "#/components/schemas/IbmCredentials"}, "features": {"$ref": "#/components/schemas/CloudFeatures"}}, "required": ["provider", "credentials"]}, "IbmCredentials": {"type": "object", "properties": {"provider": {"type": "string", "enum": ["ibm"]}, "username": {"type": "string", "description": "Your IBM Cloud username"}, "apikey": {"type": "string", "description": "Your IBM Cloud API key"}}, "required": ["apikey"]}, "DigitaloceanCloudRequest": {"type": "object", "properties": {"provider": {"type": "string", "enum": ["digitalocean"]}, "credentials": {"$ref": "#/components/schemas/DigitaloceanCredentials"}, "features": {"$ref": "#/components/schemas/CloudFeatures"}}, "required": ["provider", "credentials"]}, "DigitaloceanCredentials": {"type": "object", "properties": {"token": {"type": "string", "description": "Your DigitalOcean API token"}}, "required": ["token"]}, "LinodeCloudRequest": {"type": "object", "properties": {"provider": {"type": "string", "enum": ["linode"]}, "credentials": {"$ref": "#/components/schemas/LinodeCredentials"}, "features": {"$ref": "#/components/schemas/CloudFeatures"}}, "required": ["provider", "credentials"]}, "LinodeCredentials": {"type": "object", "properties": {"apikey": {"type": "string", "description": "You Linode API key"}}, "required": ["apikey"]}, "RackspaceCloudRequest": {"type": "object", "properties": {"provider": {"type": "string", "enum": ["rackspace"]}, "credentials": {"$ref": "#/components/schemas/RackspaceCredentials"}, "features": {"$ref": "#/components/schemas/CloudFeatures"}}, "required": ["provider", "credentials"]}, "RackspaceCredentials": {"type": "object", "properties": {"provider": {"type": "string", "enum": ["rackspace"]}, "username": {"type": "string", "description": "Your Rackspace Cloud username"}, "apikey": {"type": "string", "description": "Your Rackspace Cloud API key"}, "region": {"type": "string", "description": "Your Rackspace Cloud region"}}, "required": ["username", "apikey", "region"]}, "MaxihostCloudRequest": {"type": "object", "properties": {"provider": {"type": "string", "enum": ["maxihost"]}, "credentials": {"$ref": "#/components/schemas/MaxihostCredentials"}, "features": {"$ref": "#/components/schemas/CloudFeatures"}}, "required": ["provider", "credentials"]}, "MaxihostCredentials": {"type": "object", "properties": {"token": {"type": "string", "description": "Your Maxihost API token"}}, "required": ["token"]}, "VultrCloudRequest": {"type": "object", "properties": {"provider": {"type": "string", "enum": ["vultr"]}, "credentials": {"$ref": "#/components/schemas/VultrCredentials"}, "features": {"$ref": "#/components/schemas/CloudFeatures"}}, "required": ["provider", "credentials"]}, "VultrCredentials": {"type": "object", "properties": {"apikey": {"type": "string", "description": "Your Vultr API key"}}, "required": ["apikey"]}, "OpenstackCloudRequest": {"type": "object", "properties": {"provider": {"type": "string", "enum": ["openstack"]}, "credentials": {"$ref": "#/components/schemas/OpenstackCredentials"}, "features": {"$ref": "#/components/schemas/CloudFeatures"}}, "required": ["provider", "credentials"]}, "OpenstackCredentials": {"type": "object", "properties": {"authUrl": {"type": "string"}, "user": {"type": "string"}, "password": {"type": "string"}, "tenant": {"type": "string"}, "domain": {"type": "string"}, "region": {"type": "string"}, "computeEndpoint": {"type": "string"}}, "required": ["user", "password", "authUrl"]}, "OnappCloudRequest": {"type": "object", "properties": {"provider": {"type": "string", "enum": ["onapp"]}, "credentials": {"$ref": "#/components/schemas/OnappCredentials"}, "features": {"$ref": "#/components/schemas/CloudFeatures"}}, "required": ["provider", "credentials"]}, "OnappCredentials": {"type": "object", "properties": {"authUrl": {"type": "string"}, "username": {"type": "string"}, "apikey": {"type": "string"}, "host": {"type": "string"}, "verify": {"type": "boolean"}}, "required": ["username", "apikey", "host"]}, "VsphereCloudRequest": {"type": "object", "properties": {"provider": {"type": "string", "enum": ["vsphere"]}, "credentials": {"$ref": "#/components/schemas/VsphereCredentials"}, "features": {"$ref": "#/components/schemas/CloudFeatures"}}, "required": ["provider", "credentials"]}, "VsphereCredentials": {"type": "object", "properties": {"host": {"type": "string", "description": "Your vSphere/vCenter host"}, "username": {"type": "string", "description": "Your username"}, "password": {"type": "string", "description": "Your password"}, "ca_cert_file": {"type": "string", "description": "CA certificate"}}, "required": ["host", "username", "password"]}, "KvmCloudRequest": {"type": "object", "properties": {"provider": {"type": "string", "enum": ["kvm"]}, "credentials": {"$ref": "#/components/schemas/KvmCredentials"}, "features": {"$ref": "#/components/schemas/CloudFeatures"}}, "required": ["provider", "credentials"]}, "KvmCredentials": {"type": "object"}, "LxdCloudRequest": {"type": "object", "properties": {"provider": {"type": "string", "enum": ["lxd"]}, "credentials": {"$ref": "#/components/schemas/LxdCredentials"}, "features": {"$ref": "#/components/schemas/CloudFeatures"}}, "required": ["provider", "credentials"]}, "LxdCredentials": {"type": "object", "properties": {"host": {"type": "string", "description": "Your LXD host"}, "port": {"type": "string", "description": "Your LXD port"}, "username": {"type": "string", "description": "Your LXD username"}, "password": {"type": "string", "description": "Your LXD password"}, "tlsKey": {"type": "string", "description": "Your TLS auth key"}, "tlsCert": {"type": "string", "description": "Your TLS auth certificate"}, "tlsCaCert": {"type": "string", "description": "Your TLS CA certifcate"}, "showAll": {"type": "boolean", "description": "Show all containers, including stopped"}}, "required": ["host", "port"]}, "DockerCloudRequest": {"type": "object", "properties": {"provider": {"type": "string", "enum": ["docker"]}, "credentials": {"$ref": "#/components/schemas/DockerCredentials"}, "features": {"$ref": "#/components/schemas/CloudFeatures"}}, "required": ["provider", "credentials"]}, "DockerCredentials": {"type": "object", "properties": {"host": {"type": "string", "description": "Your Docker host"}, "port": {"type": "string", "description": "Your Docker port"}, "username": {"type": "string", "description": "Your Docker username"}, "password": {"type": "string", "description": "Your Docker password"}, "tlsKey": {"type": "string", "description": "Your TLS auth key"}, "tlsCert": {"type": "string", "description": "Your TLS auth certificate"}, "tlsCaCert": {"type": "string", "description": "Your TLS CA certifcate"}, "showAll": {"type": "boolean", "description": "Show all containers, including stopped"}}, "required": ["host", "port"]}, "KubevirtCloudRequest": {"type": "object", "properties": {"provider": {"type": "string", "enum": ["kubevirt"]}, "credentials": {"$ref": "#/components/schemas/KubernetesCredentials"}, "features": {"$ref": "#/components/schemas/CloudFeatures"}}, "required": ["provider", "credentials"]}, "KubernetesCloudRequest": {"type": "object", "properties": {"provider": {"type": "string", "enum": ["kubernetes"]}, "credentials": {"$ref": "#/components/schemas/KubernetesCredentials"}, "features": {"$ref": "#/components/schemas/CloudFeatures"}}, "required": ["provider", "credentials"]}, "OpenshiftCloudRequest": {"type": "object", "properties": {"provider": {"type": "string", "enum": ["openshift"]}, "credentials": {"$ref": "#/components/schemas/OpenshiftCredentials"}, "features": {"$ref": "#/components/schemas/CloudFeatures"}}, "required": ["provider", "credentials"]}, "KubernetesCredentials": {"type": "object", "properties": {"host": {"type": "string", "description": "Your Kubernetes API host"}, "port": {"type": "string", "description": "Your Kubernetes API port"}, "username": {"type": "string", "description": "Your Kubernetes API username"}, "password": {"type": "string", "description": "Your Kubernetes API password"}, "token": {"type": "string", "description": "Your Kubernetes API bearer token"}, "tlsKey": {"type": "string", "description": "Your TLS auth key"}, "tlsCert": {"type": "string", "description": "Your TLS auth certificate"}, "tlsCaCert": {"type": "string", "description": "Your TLS CA certifcate"}, "showAll": {"type": "boolean", "description": "Show all containers, including stopped"}}, "required": ["host", "port"]}, "OpenshiftCredentials": {"type": "object", "properties": {"host": {"type": "string", "description": "Your OpenShift API host"}, "port": {"type": "string", "description": "Your OpenShift API port"}, "username": {"type": "string", "description": "Your OpenShift API username"}, "password": {"type": "string", "description": "Your OpenShift API password"}}, "required": ["host", "port", "username", "password"]}, "OtherCloudRequest": {"type": "object", "properties": {"provider": {"type": "string", "enum": ["other"]}, "credentials": {"$ref": "#/components/schemas/OtherCredentials"}, "features": {"$ref": "#/components/schemas/CloudFeatures"}}, "required": ["provider", "credentials"]}, "OtherCredentials": {"type": "object"}, "ListClustersResponse": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/Cluster"}}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "GetClusterResponse": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/Cluster"}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "CreateClusterResponse": {"type": "object", "properties": {"jobId": {"type": "string"}}}, "DestroyClusterResponse": {"type": "object", "properties": {"jobId": {"type": "string"}, "cloud": {"type": "string"}, "cluster": {"type": "string"}}}, "Cluster": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "cloud": {"type": "string"}, "provider": {"$ref": "#/components/schemas/ClusterProviders"}, "total_nodes": {"type": "integer"}, "total_cpus": {"type": "integer"}, "total_memory": {"type": "integer"}, "location": {"type": "string"}, "credentials": {"type": "object"}, "config": {"type": "object"}, "tags": {"type": "object"}, "created_by": {"type": "string"}, "owned_by": {"type": "string"}, "extra": {"type": "object"}, "external_id": {"type": "string"}, "owner": {"type": "string"}, "state": {"type": "string"}, "last_seen": {"type": "string"}, "missing_since": {"type": "string"}, "created": {"type": "string"}}}, "ClusterProviders": {"type": "string", "enum": ["amazon", "azure", "digitalocean", "google", "kubernetes", "openshift", "linode"], "description": "The cloud provider of the cluster"}, "HelmChart": {"type": "object", "properties": {"type": {"type": "string", "enum": ["helm"]}, "repo_url": {"description": "The url of the Helm repository", "type": "string"}, "chart_name": {"type": "string"}, "release_name": {"type": "string"}, "namespace": {"description": "The namespace to install the release on", "type": "string"}, "values": {"description": "The contents of a Helm values.yaml file", "type": "string"}, "version": {"description": "A version constraint for the chart", "type": "string"}}, "required": ["repo_url", "chart_name", "release_name", "type"]}, "KubernetesManifest": {"type": "object", "properties": {"type": {"type": "string", "enum": ["manifest"]}}, "required": ["type"]}, "CreateClusterRequest": {"allOf": [{"type": "object", "properties": {"name": {"type": "string", "description": "The name of the cluster to create"}, "cloud": {"type": "string", "description": "The cloud the cluster belongs to"}, "provider": {"$ref": "#/components/schemas/ClusterProviders"}, "location": {"type": "string", "description": "Google specific parameter(Required).Name or ID of the location to create the cluster in"}, "nodepools": {"type": "array", "items": {"type": "object", "properties": {"nodes": {"description": "The number of nodes to provision for the cluster. Defaults to 2", "type": "integer", "default": 2}, "size": {"description": "Name or ID of size to use for the nodes. If not provided, the t3.medium(EKS), e2-medium(GKE) size will be used", "type": "string"}, "disk_size": {"type": "integer", "description": "Size of the disk attached to each node, specified in GB.", "default": 20}, "disk_type": {"type": "string", "description": "Type of the disk attached to each node. Defaults to pd-standard(GKE), gp3(EKS)"}, "preemptible": {"type": "boolean", "description": "Google specific parameter.Whether the nodes are created as preemptible machines. Defaults to false"}}}}, "templates": {"type": "array", "items": {"allOf": [{"type": "object", "properties": {"type": {"type": "string", "enum": ["helm", "manifest"]}}, "required": ["type"]}, {"oneOf": [{"$ref": "#/components/schemas/HelmChart"}, {"$ref": "#/components/schemas/KubernetesManifest"}], "discriminator": {"propertyName": "type", "mapping": {"helm": "#/components/schemas/HelmChart", "manifest": "#/components/schemas/KubernetesManifest"}}}]}}, "waiters": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "type": {"type": "string"}, "namespace": {"type": "string", "default": "default"}, "timeout": {"type": "integer", "default": 1800}}, "required": ["name", "type"]}}}, "required": ["name"]}], "example": {"name": "my-cluster", "provider": "google", "location": "europe-west2-b"}}, "ListImagesResponse": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/Image"}}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "GetImageResponse": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/Image"}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "Image": {"type": "object", "properties": {"id": {"type": "string"}, "external_id": {"type": "string"}, "name": {"type": "string"}, "cloud": {"type": "string"}, "starred": {"type": "boolean"}, "os_type": {"type": "string"}, "tags": {"type": "object"}, "created_by": {"type": "string"}, "owned_by": {"type": "string"}, "extra": {"type": "object"}}}, "CreateMachineRequest": {"type": "object", "properties": {"name": {"type": "string", "description": "Specify machine name", "example": "DB mirror"}, "provider": {"description": "Specify cloud provider", "$ref": "#/components/schemas/SupportedProviders"}, "cloud": {"type": "string", "description": "Specify cloud to provision on"}, "location": {"description": "Where to provision e.g. region, datacenter, rack", "oneOf": [{"type": "object", "properties": {"prefer": {"type": "string"}}}, {"type": "string"}]}, "size": {"description": "Machine sizing spec e.g. cpu/ram/flavor", "oneOf": [{"type": "object", "properties": {"cpu": {"type": "number", "description": "Number of cpu cores. On container based providers this value will be used as the cpu limit. Mutually exclusive with 'search'"}, "memory": {"type": "integer", "description": "Memory size in MBs. On container based providers this value will be used as the memory limit. Mutually exclusive with 'search'"}, "search": {"type": "string", "description": "Name or ID of the size to select for this machine. Mutually exclusive with 'cpu' and 'memory'"}, "prefer": {"type": "object", "description": "Optional properties to be used if applicable.", "properties": {"cpu_shares": {"type": "integer", "description": "Docker specific parameter. An integer value representing this container's relative CPU weight versus other containers"}, "prefix": {"type": "string", "description": "A size name prefix. Used only on providers with standard sizes"}}}, "accelerators": {"description": "Google specific parameter", "type": "object", "properties": {"accelerator_type": {"type": "string", "description": "Accelerator type to attach to this machine. e.g. 'nvidia-tesla-p100'"}, "accelerator_count": {"type": "integer", "description": "The number of the accelerator cards exposed to this machine"}}}}}, {"type": "string", "description": "Name or ID of the size to select for this machine"}], "example": "m1.small"}, "image": {"description": "Operating System image to boot from", "oneOf": [{"type": "object"}, {"type": "string", "description": "Name or ID of the image to boot from"}], "example": "Debian"}, "net": {"description": "Specify network configuration parameters", "anyOf": [{"$ref": "#/components/schemas/AlibabaNet"}, {"$ref": "#/components/schemas/AmazonNet"}, {"$ref": "#/components/schemas/AzureNet"}, {"$ref": "#/components/schemas/DockerNet"}, {"$ref": "#/components/schemas/EquinixMetalNet"}, {"$ref": "#/components/schemas/GoogleNet"}, {"$ref": "#/components/schemas/KVMNet"}, {"$ref": "#/components/schemas/LinodeNet"}, {"$ref": "#/components/schemas/LXDNet"}, {"$ref": "#/components/schemas/OpenstackNet"}, {"$ref": "#/components/schemas/VSphereNet"}, {"$ref": "#/components/schemas/VultrNet"}]}, "key": {"description": "Associate SSH key", "oneOf": [{"type": "object", "properties": {"key": {"type": "string", "description": "Name or ID of the SSH key to deploy"}, "user": {"type": "string", "description": "SSH user, supported on Google"}}}, {"type": "string", "description": "Name or ID of the SSH key to deploy"}]}, "disks": {"description": "Configure local disks", "type": "object", "properties": {"disk_size": {"description": "KVM, CloudSigma specific parameter", "type": "integer"}, "disk_path": {"description": "KVM specific parameter. Where the VM disk file will be created", "type": "string"}}}, "volumes": {"description": "Configure of attached storage volumes, e.g. cloud disks", "anyOf": [{"$ref": "#/components/schemas/AlibabaVolumes"}, {"$ref": "#/components/schemas/AmazonVolumes"}, {"$ref": "#/components/schemas/AzureVolumes"}, {"$ref": "#/components/schemas/CloudSigmaVolumes"}, {"$ref": "#/components/schemas/DigitalOceanVolumes"}, {"$ref": "#/components/schemas/GoogleVolumes"}, {"$ref": "#/components/schemas/LinodeVolumes"}, {"$ref": "#/components/schemas/LXDVolumes"}, {"$ref": "#/components/schemas/OpenstackVolumes"}, {"$ref": "#/components/schemas/VultrVolumes"}]}, "fqdn": {"description": "Add DNS A Record that points machine's public IP to this Fully Qualified Domain Name. Zone needs to be managed by a configured Cloud DNS provider", "type": "string"}, "cloudinit": {"description": "Run this Cloud Init script on first boot", "type": "string"}, "scripts": {"description": "Run post deploy scripts over SSH", "type": "array", "items": {"allOf": [{"type": "object"}, {"oneOf": [{"$ref": "#/components/schemas/InlineScript"}, {"$ref": "#/components/schemas/PostDeployScript"}]}]}}, "schedules": {"description": "Configure scheduled actions for the provisioned machine", "type": "array", "items": {"allOf": [{"type": "object", "properties": {"schedule_type": {"type": "string", "enum": ["one_off", "crontab", "interval"]}, "script": {"$ref": "#/components/schemas/PostDeployScript"}, "action": {"type": "string", "enum": ["start", "stop", "reboot", "destroy"]}, "description": {"type": "string"}}, "required": ["schedule_type"]}, {"oneOf": [{"$ref": "#/components/schemas/OneOffSchedule"}, {"$ref": "#/components/schemas/CronSchedule"}, {"$ref": "#/components/schemas/IntervalSchedule"}], "discriminator": {"propertyName": "schedule_type", "mapping": {"one_off": "#/components/schemas/OneOffSchedule", "crontab": "#/components/schemas/CronSchedule", "interval": "#/components/schemas/IntervalSchedule"}}}]}}, "tags": {"description": "Assign tags to provisioned machine", "type": "object"}, "expiration": {"description": "Configure machine expiration", "$ref": "#/components/schemas/Expiration"}, "extra": {"description": "Configure additional parameters", "anyOf": [{"$ref": "#/components/schemas/AzureExtra"}, {"$ref": "#/components/schemas/DockerExtra"}, {"$ref": "#/components/schemas/EquinixMetalExtra"}, {"$ref": "#/components/schemas/GoogleExtra"}, {"$ref": "#/components/schemas/LinodeExtra"}, {"$ref": "#/components/schemas/LXDExtra"}, {"$ref": "#/components/schemas/VSphereExtra"}, {"$ref": "#/components/schemas/VultrExtra"}]}, "monitoring": {"description": "Enable monitoring of this machine", "type": "boolean"}, "quantity": {"description": "Provision multiple machines of this type", "type": "number"}, "template": {"type": "object"}, "dry": {"description": "Return provisioning plan and exit without executing it", "type": "boolean"}, "save": {"description": "Save provisioning plan as template", "type": "boolean"}, "optimize": {"type": "string", "description": "Criteria optimization, e.g \"cost\""}}, "required": ["name", "image"]}, "EditMachineRequest": {"type": "object", "properties": {"expiration": {"type": "object", "properties": {"date": {"type": "string", "description": "format should be \u03a5\u03a5\u03a5\u03a5-\u039c\u039c-DD HH:MM:SS"}, "action": {"type": "string", "enum": ["stop", "destroy"]}, "notify": {"type": "integer", "description": "seconds before the expiration date to be notified"}}, "required": ["date", "action"]}}}, "DockerNet": {"title": "Docker net parameter", "type": "object", "properties": {"port_bindings": {"description": "ContainerPort,HostPort pairs. For example \"80\"/\"80\", \"123/udp\"/\"123\"", "type": "object"}}}, "DockerExtra": {"title": "Docker extra parameter", "type": "object", "properties": {"environment": {"type": "object", "description": "Key, value pairs of environment variables to set inside the container"}, "command": {"type": "string", "description": "Command to run specified as a string"}}}, "LXDExtra": {"title": "LXD extra parameter", "type": "object", "properties": {"ephemeral": {"type": "boolean", "description": "Whether to destroy the container on shutdown, defaults to False"}}}, "LXDNet": {"title": "LXD net parameter", "type": "object", "properties": {"networks": {"description": "An array of network names or IDs to launch the container into", "type": "array", "items": {"type": "string"}}}}, "LXDVolumes": {"title": "LXD volumes parameter", "type": "array", "items": {"type": "object", "oneOf": [{"properties": {"volume": {"description": "Name or ID of an existing storage volume to attach", "type": "string"}, "path": {"description": "Path in the container the storage volume will be attached. e.g. /opt/mydata", "type": "string"}}, "required": ["volume", "path"]}, {"properties": {"name": {"description": "Name of the storage volume that will be created", "type": "string"}, "size": {"description": "Size of the storage volume in GBs", "type": "integer"}, "path": {"description": "Path in the container the storage volume will be attached. e.g. /opt/mydata", "type": "string"}, "pool": {"description": "The storage pool to create the volume into. If not given the default storage pool will be selected", "type": "string"}, "filesystem": {"description": "Filesystem of the storage volume, defaults to \"ext4\"", "type": "string"}, "mount_options": {"description": "Mount options for block devices,  defaults to \"discard\"", "type": "string"}, "security_shifted": {"description": "Whether to enable id shifting overlay (allows attach by multiple isolated instances). Only supported on LXD version 3.16 and up", "type": "boolean"}}, "required": ["name", "size", "path"]}]}}, "CloudSigmaVolumes": {"title": "CloudSigma volumes parameter", "type": "array", "items": {"type": "object", "oneOf": [{"properties": {"volume": {"description": "Name or ID of an existing volume to attach", "type": "string"}}, "required": ["volume"]}, {"properties": {"name": {"description": "Name of the volume to be created", "type": "string"}, "size": {"description": "Size of the volume in GBs", "type": "integer", "minimum": 1}}, "required": ["name", "size"]}]}}, "VSphereExtra": {"title": "VSphere extra parameter", "type": "object", "properties": {"folder": {"description": "Name or ID of the Vsphere folder to place the machine into. Required for Vsphere 6.7", "type": "string"}, "datastore": {"description": "Name or ID of a VSphere datastore", "type": "string"}}}, "VSphereNet": {"title": "VSphere net parameter", "type": "object", "properties": {"network": {"description": "Name or ID of the network to launch the machine into", "type": "string"}}}, "VultrVolumes": {"title": "Vultr volumes parameter", "type": "array", "items": {"type": "object", "oneOf": [{"properties": {"volume": {"description": "Name or ID of an existing volume to attach", "type": "string"}}, "required": ["volume"]}, {"properties": {"name": {"description": "Name of the volume to be created", "type": "string"}, "size": {"description": "Size of the volume in GBs", "type": "integer", "minimum": 10}}, "required": ["size", "name"]}]}}, "VultrNet": {"title": "Vultr net parameter", "type": "object", "properties": {"networks": {"description": "An array of network names or IDs to attach to this machine, invalid for \"Bare Metal\" machines", "type": "array", "items": {"type": "string"}}, "ipv6": {"description": "Enable IPv6, defaults to false", "type": "boolean"}, "hostname": {"description": "The hostname to use when deploying this machine, defaults to machine name", "type": "string"}}}, "VultrExtra": {"title": "Vultr extra parameter", "type": "object", "properties": {"backups": {"description": "Enable automatic backups for the machine, invalid for \"Bare Metal\" & \"Dedicated Cloud\" size types. There is an additional charge depending on the size selected", "type": "boolean"}, "ddos_protection": {"description": "Enable DDoS protection, invalid for \"Bare Metal\" size type. There is an additional charge depending on the type of the size selected", "type": "boolean"}}}, "AlibabaNet": {"title": "Alibaba net parameter", "type": "object", "properties": {"network": {"description": "Name or ID of an existing network to associate the machine with. If not provided, one existing network will be selected.", "type": "string"}, "subnet": {"description": "Name or ID of an existing or new subnet(switch) to launch the machine into. If not provided a default 'mistio' subnet will be created.", "type": "string"}, "security_group": {"description": "Name of the security group to assign to the machine. If not provided a default 'mistio' security group will be created.", "type": "string"}}}, "AlibabaVolumes": {"title": "Alibaba volumes parameter", "type": "array", "items": {"type": "object", "oneOf": [{"properties": {"volume": {"description": "Name or ID of an existing volume to attach", "type": "string"}, "delete_on_termination": {"description": "Delete the volume when the machine is deleted. Defaults to false", "type": "boolean"}}, "required": ["volume"]}, {"properties": {"name": {"description": "Name of the volume to be created", "type": "string"}, "size": {"description": "Size of the volume in GBs. The minimum size depends on the volume type", "type": "integer"}, "delete_on_termination": {"description": "Delete the volume when the machine is deleted. Defaults to false", "type": "boolean"}, "type": {"description": "Type of the volume to create, defaults to 'cloud'", "type": "string", "enum": ["cloud", "cloud_efficiency", "cloud_ssd", "cloud_essd"]}}, "required": ["size", "name"]}]}}, "OpenstackVolumes": {"title": "Openstack & Vexxhost volumes parameter", "type": "array", "items": {"type": "object", "oneOf": [{"properties": {"volume": {"description": "Name or ID of an existing volume to attach", "type": "string"}, "boot": {"description": "Use as boot volume, up to one volume can be used as boot. Defaults to false", "type": "boolean"}, "delete_on_termination": {"description": "Delete the volume when the machine is deleted. Defaults to false", "type": "boolean"}}, "required": ["volume"]}, {"properties": {"size": {"description": "Size of the volume to be created", "type": "integer", "minimum": 1}, "boot": {"description": "Use as boot volume, up to one volume can be used as boot. Defaults to false", "type": "boolean"}, "delete_on_termination": {"description": "Delete the  volume when the machine is deleted. Defaults to false", "type": "boolean"}}, "required": ["size"]}]}}, "OpenstackNet": {"title": "Openstack & Vexxhost net parameter", "type": "object", "properties": {"security_groups": {"description": "Name or Openstack UUID of the security groups to assign to the machine", "type": "array", "items": {"type": "string"}}, "networks": {"description": "Name or ID of the networks to launch the machine into. Required parameter when there are multiple networks defined for the tenant", "type": "array", "items": {"type": "string"}}, "associate_floating_ip": {"description": "Assign a floating IP to the machine, defaults to True for Openstack and False for Vexxhost", "type": "boolean"}}}, "AzureVolumes": {"title": "Azure volumes parameter", "type": "array", "items": {"type": "object", "oneOf": [{"properties": {"volume": {"description": "Name or ID of the volume to attach", "type": "string"}}, "required": ["volume"]}, {"properties": {"name": {"description": "Name of the volume to be created", "type": "string"}, "size": {"description": "Size of the volume to be created in GBs", "type": "integer"}, "caching_type": {"description": "Specifies the caching requirements", "type": "string", "enum": ["None", "ReadOnly", "ReadWrite"]}, "storage_account_type": {"description": "Specifies the storage account type for the managed volume. Defaults to `StandardSSD_LRS`", "type": "string", "enum": ["Premium_LRS", "Premium_ZRS", "StandardSSD_LRS", "StandardSSD_ZRS", "Standard_LRS", "UltraSSD_LRS"]}}, "required": ["name", "size"]}]}}, "AzureNet": {"title": "Azure net parameter", "type": "object", "properties": {"network": {"description": "A new or existing network If not provided a `mist-resource_group-location` network will be used.", "type": "string"}}}, "AzureExtra": {"title": "Azure extra parameter", "type": "object", "properties": {"resource_group": {"description": "A new or existing resource group. If not provided a `mist` resource group will be used.", "type": "string"}, "storage_account_type": {"description": "Specifies the storage account type for the OS disk. Defaults to `StandardSSD_LRS`", "type": "string", "enum": ["Premium_LRS", "Premium_ZRS", "StandardSSD_LRS", "StandardSSD_ZRS", "Standard_LRS"]}, "user": {"description": "The machine username. Defaults to azureuser", "type": "string"}, "password": {"description": "The machine password. Only used on Microsoft images", "type": "string"}}}, "LinodeExtra": {"title": "Linode extra parameter", "type": "object", "properties": {"root_pass": {"description": "Set root password. If not given a secure password will be generated", "type": "string"}}}, "LinodeVolumes": {"title": "Linode volumes parameter", "type": "array", "items": {"type": "object", "oneOf": [{"properties": {"volume": {"description": "Name or ID of the volume to attach", "type": "string"}, "persist_across_boots": {"description": "Whether the volume should be attached to node across reboots, defaults to True", "type": "boolean"}}, "required": ["volume"]}, {"properties": {"name": {"description": "Name of the volume to be created", "type": "string"}, "size": {"description": "Size of the volume to be created in GBs", "type": "integer"}}, "required": ["name", "size"]}]}}, "LinodeNet": {"title": "Linode net parameter", "type": "object", "properties": {"private_ip": {"description": "Assign a private IPv4 address, defaults to True", "type": "boolean"}}}, "GoogleVolumes": {"title": "Google volumes parameter", "type": "array", "items": {"type": "object", "oneOf": [{"properties": {"volume": {"description": "Name or ID of the volume to attach", "type": "string"}, "boot": {"type": "boolean", "description": "Whether this volume should be used as the boot drive. Up to one volume must set this parameter"}}, "required": ["volume"]}, {"properties": {"name": {"description": "Name of the volume to be created, mandatory on non-boot volumes", "type": "string"}, "size": {"description": "Size of the volume to be created", "type": "integer", "minimum": 1}, "boot": {"type": "boolean", "description": "Whether this volume should be used as the boot drive. Up to one volume must set this parameter"}, "type": {"description": "Type of the volume to create, defaults to 'pd-standard'", "type": "string", "enum": ["pd-standard", "pd-ssd"]}}, "required": ["size"]}]}}, "GoogleNet": {"title": "Google net parameter", "type": "object", "properties": {"network": {"type": "string", "description": "The network to associate with the machine"}, "subnetwork": {"type": "string", "description": "The subnetwork resource for this machine"}}}, "GoogleExtra": {"title": "Google extra parameter", "type": "object", "properties": {"service_account": {"type": "object", "properties": {"email": {"description": "The email address of the service account.", "type": "string"}, "scopes": {"type": "array", "description": "A list of scopes to be made available for this machine.", "items": {"type": "string"}}}}}}, "EquinixMetalNet": {"title": "Equnix Metal net parameter", "type": "object", "properties": {"ip_addresses": {"description": "Specify addresses to be created with your machine.By default Equinix configures public IPv4, public IPv6, and private IPv4", "type": "array", "items": {"type": "object", "properties": {"address_family": {"type": "integer", "description": "Address Family for IP Address(IPv4, IPv6)", "enum": [4, 6]}, "public": {"type": "boolean", "description": "Address Type for IP Address"}, "cidr": {"type": "integer", "description": "Cidr Size for the IP Block created. Valid values depend on the operating system being provisioned. (28..32 for IPv4 addresses, 124..127 for IPv6 addresses)"}}, "required": ["address_family", "public", "cidr"]}}}}, "EquinixMetalExtra": {"title": "Equnix Metal extra parameter", "type": "object", "properties": {"project_id": {"description": "Project UUID, if not given the first one available will be selected", "type": "string"}}}, "DigitalOceanVolumes": {"title": "DigitalOcean volumes parameter", "type": "array", "items": {"type": "object", "oneOf": [{"properties": {"volume": {"description": "Name or ID of the volume to attach", "type": "string"}}, "required": ["volume"]}, {"properties": {"name": {"description": "Name of the volume to be created", "type": "string"}, "size": {"description": "Size of the volume in GBs", "type": "integer"}, "filesystem_type": {"description": "The name of the filesystem type to be used on the volume", "type": "string", "enum": ["ext4", "xfs"]}}, "required": ["name", "size"]}]}}, "AmazonNet": {"title": "Amazon net parameter", "type": "object", "properties": {"security_group": {"description": "Security group to assign to the machine", "type": "string"}, "subnet": {"description": "Name or ID of the subnet to launch the machine into", "type": "string"}}}, "AmazonVolumes": {"title": "Amazon volumes parameter", "type": "array", "items": {"type": "object", "oneOf": [{"properties": {"volume": {"description": "Name or ID of the volume", "type": "string"}, "device": {"description": "The device name (for example, /dev/sdh or xvdh)", "type": "string"}}, "required": ["volume", "device"]}, {"properties": {"name": {"description": "The device name (for example, /dev/sdh or xvdh)", "type": "string"}, "size": {"description": "Size of the volume in GBs", "type": "integer"}, "volume_type": {"type": "string", "enum": ["gp2", "io1", "st1", "sc1", "standard"]}, "iops": {"type": "integer", "description": "Number of I/O operations per second"}, "delete_on_termination": {"description": "Delete volume when machine is deleted", "type": "boolean"}}, "required": ["name", "size"]}]}}, "KVMNet": {"title": "KVM net parameter", "type": "object", "properties": {"networks": {"type": "array", "items": {"type": "object", "properties": {"network": {"type": "string", "description": "Name or ID of the network, if only this field is provided a dynamic IP address will be assigned"}, "ip": {"type": "string", "description": "The IPv4 address to statically assign to the interface"}, "gateway": {"type": "string", "description": "The IPv4 address for the default Gateway"}, "primary": {"type": "string", "description": "The primary interface, which will be assigned a routing rule for the default GW"}}, "required": ["network"]}}, "vnfs": {"type": "array", "items": {"type": "string"}}}}, "CreateMachineResponse": {"type": "object", "oneOf": [{"properties": {"jobId": {"type": "string"}, "plan": {"type": "object"}}}, {"properties": {"plan": {"type": "object"}}}]}, "ListMachinesResponse": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/Machine"}}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "GetMachineResponse": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/Machine"}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "Machine": {"type": "object", "properties": {"id": {"type": "string"}, "external_id": {"type": "string"}, "name": {"type": "string"}, "cloud": {"type": "string"}, "tags": {"type": "object"}, "created_by": {"type": "string"}, "owned_by": {"type": "string"}, "default": {"type": "boolean"}, "state": {"$ref": "#/components/schemas/MachineState"}, "actions": {"type": "object"}, "cluster": {"type": "string"}, "cores": {"type": "number"}, "cost": {"type": "object"}, "created": {"type": "string"}, "expiration": {"type": "string"}, "extra": {"type": "object"}, "hostname": {"type": "string"}, "image": {"type": "string"}, "key_associations": {"type": "array", "items": {"$ref": "#/components/schemas/KeyMachineAssociation"}}, "last_seen": {"type": "string"}, "location": {"type": "string"}, "missing_since": {"type": "string"}, "monitoring": {"type": "string"}, "network": {"type": "string"}, "os_type": {"type": "string"}, "parent": {"type": "string"}, "ports": {"type": "object"}, "private_ips": {"type": "array", "items": {"type": "string"}}, "probe": {"type": "object"}, "public_ips": {"type": "array", "items": {"type": "string"}}, "size": {"type": "string"}, "subnet": {"type": "string"}, "type": {"type": "string"}, "unreachable_since": {"type": "string"}}}, "CreateSnapshotResponse": {"type": "object"}, "ListSnapshotsResponse": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/Snapshot"}}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "Snapshot": {"type": "object"}, "OneOffSchedule": {"description": "one_off schedule", "title": "OneOff", "type": "object", "properties": {"schedule_type": {"type": "string", "enum": ["one_off"]}, "datetime": {"type": "string", "format": "date-time", "description": "When one_off schedule should run, e.g 2021-09-22T18:19:28Z"}}, "required": ["datetime", "schedule_type"]}, "CronSchedule": {"description": "crontab schedule", "title": "Cron", "type": "object", "properties": {"schedule_type": {"type": "string", "enum": ["crontab"]}, "minute": {"type": "string"}, "hour": {"type": "string"}, "day_of_month": {"type": "string"}, "month_of_year": {"type": "string"}, "day_of_week": {"type": "string"}, "start_after": {"type": "string", "format": "date-time", "description": "The datetime when schedule should start running, e.g 2021-09-22T18:19:28Z"}, "expires": {"type": "string", "format": "date-time", "description": "The datetime when schedule should expire, e.g 2021-09-22T18:19:28Z"}, "max_run_count": {"type": "integer", "minimum": 1}}, "required": ["schedule_type", "minute", "hour", "day_of_month", "month_of_year", "day_of_week"]}, "IntervalSchedule": {"description": "interval schedule", "title": "Interval", "type": "object", "properties": {"schedule_type": {"type": "string", "enum": ["interval"]}, "every": {"type": "integer"}, "period": {"type": "string", "enum": ["minutes", "hours", "days"]}, "start_after": {"type": "string", "format": "date-time", "description": "The datetime when schedule should start running, e.g 2021-09-22T18:19:28Z"}, "expires": {"type": "string", "format": "date-time", "description": "The datetime when schedule should expire, e.g 2021-09-22T18:19:28Z"}, "max_run_count": {"type": "integer", "minimum": 1}}, "required": ["schedule_type", "every", "period"]}, "InlineScript": {"type": "object", "properties": {"inline": {"type": "string"}}, "required": ["inline"]}, "PostDeployScript": {"type": "object", "properties": {"script": {"type": "string", "description": "Name or ID of the script to run"}, "params": {"type": "string"}}, "required": ["script"]}, "Expiration": {"type": "object", "properties": {"action": {"type": "string", "enum": ["stop", "destroy"]}, "date": {"type": "string", "format": "date-time", "description": "When machine should expire, e.g 2021-09-22T18:19:28Z"}, "notify": {"type": "object", "description": "Notify user before machine expiration", "properties": {"value": {"type": "integer", "minimum": 1}, "period": {"type": "string", "enum": ["minutes", "hours", "days"]}}, "required": ["value", "period"]}, "notify_msg": {"type": "string"}}, "required": ["action", "date"]}, "KeyMachineAssociation": {"type": "object", "properties": {"key": {"type": "string", "description": "Name or ID of the SSH key"}, "machine": {"type": "string", "description": "Name or ID of the machine"}, "last_used": {"type": "integer", "description": "Last used time"}, "port": {"type": "integer", "description": "SSH port"}, "user": {"type": "string", "description": "SSH user"}, "sudo": {"type": "boolean", "description": "Indicates if the SSH user has sudo privileges"}}}, "KeyMachineDisassociation": {"type": "object", "properties": {"key": {"type": "string", "description": "Name or ID of the SSH key to disassociate"}}}, "CreateNetworkRequest": {"type": "object", "properties": {"name": {"type": "string", "description": "Specify network name", "example": "my-network"}, "cloud": {"type": "string", "description": "Specify cloud to provision on", "example": "my-cloud"}, "tags": {"description": "Assign tags to provisioned network", "type": "object"}, "extra": {"description": "Configure additional parameters, e.g. cidr (EC2 network)", "type": "object"}, "template": {"type": "object"}, "dry": {"description": "Return provisioning plan and exit without executing it", "type": "boolean"}, "save": {"description": "Save provisioning plan as template", "type": "boolean"}}, "required": ["name", "cloud"]}, "CreateNetworkResponse": {"type": "object", "oneOf": [{"properties": {"jobId": {"type": "string"}, "plan": {"type": "object"}}}, {"properties": {"plan": {"type": "object"}}}]}, "ListNetworksResponse": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/Network"}}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "GetNetworkResponse": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/Network"}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "Network": {"type": "object", "properties": {"id": {"type": "string"}, "external_id": {"type": "string"}, "name": {"type": "string"}, "cloud": {"type": "string"}, "tags": {"type": "object"}, "created_by": {"type": "string"}, "owned_by": {"type": "string"}}}, "ListSizesResponse": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/Size"}}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "GetSizeResponse": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/Size"}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "Size": {"type": "object", "properties": {"id": {"type": "string"}, "external_id": {"type": "string"}, "name": {"type": "string"}, "cloud": {"type": "string"}, "extra": {"type": "object"}}}, "ListLocationsResponse": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/Location"}}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "GetLocationResponse": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/Location"}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "Location": {"type": "object", "properties": {"id": {"type": "string"}, "external_id": {"type": "string"}, "name": {"type": "string"}, "cloud": {"type": "string"}, "extra": {"type": "object"}, "parent": {"type": "string"}, "location_type": {"type": "string"}, "country": {"type": "string"}, "available_sizes": {"type": "object"}, "available_images": {"type": "object"}, "owned_by": {"type": "string"}, "created_by": {"type": "string"}}}, "CreateVolumeRequest": {"type": "object", "properties": {"name": {"type": "string", "description": "Specify volume name", "example": "my-volume"}, "provider": {"description": "Specify cloud provider", "$ref": "#/components/schemas/SupportedProviders"}, "cloud": {"type": "string", "description": "Specify cloud to provision on", "example": "my-cloud"}, "location": {"type": "string", "description": "Where to provision e.g. region, datacenter, rack", "example": "us-central1-a"}, "size": {"description": "Volume sizing spec", "type": "integer", "example": 1}, "ex_disk_type": {"type": "string", "description": "GCE-specific", "enum": ["pd-standard", "pd-ssd"], "example": "pd-standard"}, "ex_volume_type": {"type": "string", "description": "EC2-specific", "enum": ["standard", "io1", "gp2", "sc1", "st1"], "example": "standard"}, "ex_iops": {"type": "string", "description": "EC2-specific. Needs to be specified if volume_type='io1'"}, "tags": {"description": "Assign tags to provisioned volume", "type": "object"}, "extra": {"description": "Configure additional parameters", "type": "object"}, "quantity": {"description": "Provision multiple volumes of this type", "type": "integer"}, "template": {"type": "object"}, "dry": {"description": "Return provisioning plan and exit without executing it", "type": "boolean"}, "save": {"description": "Save provisioning plan as template", "type": "boolean"}}, "required": ["name", "cloud", "size", "location"]}, "CreateVolumeResponse": {"type": "object", "oneOf": [{"properties": {"jobId": {"type": "string"}, "plan": {"type": "object"}}}, {"properties": {"plan": {"type": "object"}}}]}, "ListVolumesResponse": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/Volume"}}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "GetVolumeResponse": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/Volume"}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "Volume": {"type": "object", "properties": {"id": {"type": "string"}, "external_id": {"type": "string"}, "name": {"type": "string"}, "cloud": {"type": "string"}, "location": {"type": "string"}, "size": {"type": "string"}, "tags": {"type": "object"}, "created_by": {"type": "string"}, "owned_by": {"type": "string"}, "default": {"type": "boolean"}, "actions": {"type": "object"}, "attached_to": {"type": "array", "items": {"type": "string"}}, "extra": {"type": "object"}, "last_seen": {"type": "string"}, "missing_since": {"type": "string"}}}, "CreateZoneRequest": {"type": "object", "properties": {"name": {"type": "string", "description": "Specify zone name/domain (e.g. example.com)"}, "cloud": {"type": "string", "description": "Specify cloud to provision on"}, "tags": {"description": "Assign tags to provisioned zone", "type": "object"}, "extra": {"description": "Configure additional parameters", "type": "object"}, "template": {"type": "object"}, "dry": {"description": "Return provisioning plan and exit without executing it", "type": "boolean"}, "save": {"description": "Save provisioning plan as template", "type": "boolean"}}, "required": ["name", "cloud"], "example": {"name": "my-zone", "cloud": "my-cloud"}}, "CreateZoneResponse": {"type": "object", "oneOf": [{"properties": {"jobId": {"type": "string"}, "plan": {"type": "object"}}}, {"properties": {"plan": {"type": "object"}}}]}, "ListZonesResponse": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/Zone"}}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "GetZoneResponse": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/Zone"}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "Zone": {"type": "object", "properties": {"id": {"type": "string"}, "external_id": {"type": "string"}, "name": {"type": "string"}, "cloud": {"type": "string"}, "tags": {"type": "object"}, "created_by": {"type": "string"}, "owned_by": {"type": "string"}}}, "AddKeyRequest": {"type": "object", "anyOf": [{"properties": {"name": {"type": "string", "description": "The key's name"}, "private": {"type": "string", "description": "The private key"}, "certificate": {"type": "string", "description": "The signed public key, when using signed ssh keys"}}, "required": ["name", "private"]}, {"properties": {"name": {"type": "string", "description": "The key's name"}, "generate": {"type": "boolean", "description": "Generate a keypair instead of providing one"}, "dry": {"description": "Return generated key without actually adding it", "type": "boolean"}}, "required": ["name", "generate"]}, {"properties": {"generate": {"type": "boolean", "description": "Generate a keypair instead of providing one"}, "dry": {"description": "Return generated key without actually adding it", "type": "boolean"}}, "required": ["generate", "dry"]}], "example": {"name": "my-key", "private": "-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe4eCZ0FPqri0cb2JZfXJ/DgYSF6vUp wmJG8wVQZKjeGcjDOL5UlsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ5 1s1SPrCBkedbNf0Tp0GbMJDyR4e9T04ZZwIDAQABAoGAFijko56+qGyN8M0RVyaRAXz++xTqHBLh 3tx4VgMtrQ+WEgCjhoTwo23KMBAuJGSYnRmoBZM3lMfTKevIkAidPExvYCdm5dYq3XToLkkLv5L2 pIIVOFMDG+KESnAFV7l2c+cnzRMW0+b6f8mR1CJzZuxVLL6Q02fvLi55/mbSYxECQQDeAw6fiIQX GukBI4eMZZt4nscy2o12KyYner3VpoeE+Np2q+Z3pvAMd/aNzQ/W9WaI+NRfcxUJrmfPwIGm63il AkEAxCL5HQb2bQr4ByorcMWm/hEP2MZzROV73yF41hPsRC9m66KrheO9HPTJuo3/9s5p+sqGxOlF L0NDt4SkosjgGwJAFklyR1uZ/wPJjj611cdBcztlPdqoxssQGnh85BzCj/u3WqBpE2vjvyyvyI5k X6zk7S0ljKtt2jny2+00VsBerQJBAJGC1Mg5Oydo5NwD6BiROrPxGo2bpTbu/fhrT8ebHkTz2epl U9VQQSQzY1oZMVX8i1m5WUTLPz2yLJIBQVdXqhMCQBGoiuSoSjafUhV7i1cEGpb88h5NBYZzWXGZ 37sJ5QsW+sJyoNde3xH8vdXhzU7eT82D6X/scw9RZz+/6rCJ4p0=\n-----END RSA PRIVATE KEY-----"}}, "AddKeyResponse": {"type": "object", "properties": {"id": {"type": "string"}, "private": {"type": "string"}, "public": {"type": "string"}}}, "ListKeysResponse": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/Key"}}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "GetKeyResponse": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/Key"}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "Key": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "config": {"type": "object"}, "tags": {"type": "object"}, "created_by": {"type": "string"}, "owned_by": {"type": "string"}, "default": {"type": "boolean"}, "type": {"type": "string", "enum": ["ssh", "signed_ssh"]}}}, "AddScriptRequest": {"type": "object", "properties": {"name": {"type": "string", "example": "my-script"}, "script": {"type": "string", "example": "#!/usr/bin/env bash\necho Hello, World!"}, "location_type": {"type": "string", "enum": ["inline", "github", "url"], "example": "inline"}, "entrypoint": {"type": "string", "example": "entrypoint.sh"}, "exec_type": {"type": "string", "enum": ["executable", "ansible"], "example": "executable"}, "description": {"type": "string"}}, "required": ["name", "script", "location_type", "exec_type"]}, "RunScriptRequest": {"type": "object", "properties": {"machine": {"type": "string", "example": "my-machine"}, "params": {"type": "string", "example": "-v"}, "su": {"type": "string", "enum": ["true", "false"], "example": "false"}, "env": {"type": "string", "example": "EXAMPLE_VAR=123"}, "job_id": {"type": "string", "example": "ab74e2f0b7ae4999b1e4013e20dac418"}}, "required": ["machine"]}, "RunScriptResponse": {"type": "object", "properties": {"job_id": {"type": "string"}}}, "ListScriptsResponse": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/Script"}}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "GetScriptResponse": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/Script"}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "Script": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "description": {"type": "string"}, "tags": {"type": "object"}, "created_by": {"type": "string"}, "owned_by": {"type": "string"}}}, "ListRulesResponse": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/Rule"}}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "GetRuleResponse": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/Rule"}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "AddRuleRequest": {"type": "object", "properties": {"queries": {"$ref": "#/components/schemas/Queries"}, "window": {"$ref": "#/components/schemas/Window"}, "frequency": {"$ref": "#/components/schemas/Frequency"}, "trigger_after": {"$ref": "#/components/schemas/TriggerAfter"}, "actions": {"$ref": "#/components/schemas/RuleActions"}, "selectors": {"$ref": "#/components/schemas/Selector"}, "data_type": {"$ref": "#/components/schemas/DataType"}}, "required": ["queries", "window", "frequency", "trigger_after", "actions", "data_type"]}, "EditRuleRequest": {"type": "object", "properties": {"queries": {"$ref": "#/components/schemas/Queries"}, "window": {"$ref": "#/components/schemas/Window"}, "frequency": {"$ref": "#/components/schemas/Frequency"}, "trigger_after": {"$ref": "#/components/schemas/TriggerAfter"}, "actions": {"$ref": "#/components/schemas/RuleActions"}, "selectors": {"$ref": "#/components/schemas/Selector"}}}, "Rule": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "queries": {"type": "object"}, "window": {"type": "object"}, "frequency": {"type": "object"}, "triggered_after": {"type": "object"}, "actions": {"type": "object"}, "disabled": {"type": "string"}, "data_type": {"type": "string"}}}, "Query": {"type": "object", "properties": {"target": {"type": "string", "description": "the metric's name, e.g. \"load.shortterm\""}, "operator": {"type": "string", "description": "the operator used to compare the computed value with the given\nthreshold\n"}, "threshold": {"type": "number", "description": "the value over/under which an alert will be raised"}, "aggregation": {"type": "string", "description": "the function to be applied on the computed series. Must be one\nof: all, any, avg\n"}}, "required": ["target", "operator", "threshold", "aggregation"]}, "Queries": {"type": "array", "items": {"$ref": "#/components/schemas/Query"}}, "Window": {"type": "object", "properties": {"start": {"type": "integer", "description": "a positive integer denoting the start of the search window in\nterms of \"now() - start\"\n"}, "stop": {"type": "integer", "default": 0, "description": "a positive integer, where stop < start, denoting the end of the\nsearch window. Defaults to now\n"}, "period": {"type": "string", "description": "units of time, e.g. \"seconds\""}}, "required": ["start", "period"]}, "Frequency": {"type": "object", "properties": {"every": {"type": "integer", "description": "a positive integer denoting how often the rule must be evaluated\n"}, "period": {"type": "string", "description": "units of time, e.g. \"seconds\""}}, "required": ["every", "period"]}, "TriggerAfter": {"type": "object", "properties": {"offset": {"type": "integer", "description": "a positive integer denoting the tolerance period"}, "period": {"type": "string", "description": "units of time, e.g. \"seconds\""}}, "required": ["offset", "period"]}, "RuleAction": {"type": "object", "properties": {"type": {"type": "string", "description": "the action's type: notification, machine_action, command\n"}, "users": {"type": "array", "items": {"type": "string"}, "description": "a list of user to be notified, denoted by their UUIDs. Can be\nused by a notification action (optional)\n"}, "teams": {"type": "array", "items": {"type": "string"}, "description": "a list of teams, denoted by their UUIDs, whose users will be\nnotified. Can be used by a notification action (optional)\n"}, "emails": {"type": "array", "items": {"type": "string"}, "description": "a list of e-mails to send a notification to. Can be used by a\nnotification action (optional)\n"}, "action": {"type": "string", "description": "the action to be performed. Required by machine_action type\n"}, "command": {"type": "string", "description": "the command to be executed. Required by the command type\n"}}, "required": ["type"]}, "RuleActions": {"type": "array", "items": {"$ref": "#/components/schemas/RuleAction"}}, "Selector": {"type": "object", "properties": {"type": {"type": "string", "enum": ["machines", "tags"], "description": "one of \"machines\" or \"tags\""}, "ids": {"type": "array", "items": {"type": "string"}, "description": "a list of UUIDs in case type is \"machines\""}, "include": {"type": "array", "items": {"type": "string"}, "description": "a list of tags in case type is \"tags\""}}, "required": ["type"]}, "Selectors": {"type": "array", "items": {"$ref": "#/components/schemas/Selector"}}, "DataType": {"type": "string", "enum": ["metrics", "logs"], "example": "logs"}, "ListOrgsResponse": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/Org"}}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "GetOrgResponse": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/Org"}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "Org": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "clouds_count": {"type": "string"}, "teams_count": {"type": "string"}, "total_machine_count": {"type": "string"}, "created": {"type": "boolean"}, "enterprise_plan": {"type": "object"}, "selected_plan": {"type": "string"}, "last_active": {"type": "string"}}}, "ListOrgMembersResponse": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/Member"}}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "GetOrgMemberResponse": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/Member"}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "Member": {"type": "object", "properties": {"email": {"type": "string"}, "id": {"type": "string"}, "first_name": {"type": "string"}, "last_name": {"type": "string"}, "last_login": {"type": "string"}, "username": {"type": "string"}, "registration_date": {"type": "string"}, "pending": {"type": "boolean"}}}, "ListOrgTeamsResponse": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/Team"}}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "Team": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "members": {"type": "array", "items": {"$ref": "#/components/schemas/Member"}}, "members_count": {"type": "string"}, "description": {"type": "string"}, "policy": {"type": "object"}}}, "GetJobResponse": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/Job"}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "Job": {"type": "object", "properties": {"logs": {"type": "array", "items": {"$ref": "#/components/schemas/Log"}}, "error": {"type": "boolean"}, "started_at": {"type": "number"}, "finished_at": {"type": "number"}, "org": {"type": "string"}, "machine_id": {"type": "string"}, "job_id": {"type": "string"}, "cloud_id": {"type": "string"}, "action": {"type": "string"}, "user": {"type": "string"}}, "required": ["logs", "error", "started_at", "finished_at", "org", "job_id", "action"]}, "Log": {"type": "object", "properties": {"job_id": {"type": "string"}, "org": {"type": "string"}}, "required": ["job_id", "org"]}, "ListUsersResponse": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/User"}}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "User": {"type": "object", "properties": {"email": {"type": "string"}, "id": {"type": "string"}, "first_name": {"type": "string"}, "last_name": {"type": "string"}, "last_login": {"type": "string"}, "username": {"type": "string"}, "registration_date": {"type": "string"}}}, "GetDatapointsResponse": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/Datapoints"}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "DatapointsValuesItem": {"anyOf": [{"type": "string"}, {"type": "number"}]}, "DatapointsValuesTuple": {"type": "array", "items": {"$ref": "#/components/schemas/DatapointsValuesItem"}}, "InstantVector": {"type": "object", "properties": {"metric": {"type": "object"}, "values": {"$ref": "#/components/schemas/DatapointsValuesTuple"}}}, "RangeVector": {"type": "object", "properties": {"metric": {"type": "object"}, "value": {"type": "array", "items": {"$ref": "#/components/schemas/DatapointsValuesTuple"}}}}, "Vector": {"type": "object", "oneOf": [{"$ref": "#/components/schemas/InstantVector"}, {"$ref": "#/components/schemas/RangeVector"}]}, "Datapoints": {"type": "object", "properties": {"status": {"type": "string"}, "data": {"type": "object", "properties": {"resultType": {"type": "string"}, "result": {"type": "array", "items": {"$ref": "#/components/schemas/Vector"}}}}}}, "ListSecretsResponse": {"type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/components/schemas/Secret"}}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "GetSecretResponse": {"type": "object", "properties": {"data": {"$ref": "#/components/schemas/Secret"}, "meta": {"$ref": "#/components/schemas/ResponseMetadata"}}}, "Secret": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "tags": {"type": "object"}, "created_by": {"type": "string"}, "owned_by": {"type": "string"}}}, "CreateSecretRequest": {"type": "object", "properties": {"name": {"type": "string", "description": "The name of the secret. This is equivalent to the path the secret will be stored in Vault"}, "secret": {"type": "object"}}, "required": ["name", "secret"]}, "EditSecretRequest": {"type": "object", "properties": {"secret": {"type": "object"}}, "required": ["secret"]}}, "securitySchemes": {"ApiKeyAuth": {"in": "header", "name": "Authorization", "type": "apiKey"}, "CookieAuth": {"type": "apiKey", "in": "cookie", "name": "session.id"}}}, "info": {"title": "Mist API", "x-cli-name": "Mist CLI", "version": "2.0.0", "contact": {"name": "Mist API Team", "email": "api@mist.io"}}, "openapi": "3.0.3", "paths": {"/api/v2/clouds": {"get": {"description": "List clouds owned by the active org. READ permission required on cloud.", "operationId": "list-clouds", "parameters": [{"name": "search", "description": "Only return results matching search filter", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Filter by cloud provider": {"value": "provider:amazon"}, "Filter by name": {"value": "name:LXD1"}, "Composite filter": {"value": "provider:packet AND status:enabled"}}}, {"name": "sort", "description": "Order results by", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Sort by name, descending": {"value": "-name"}}}, {"name": "start", "description": "Start results from index or id", "in": "query", "required": false, "schema": {"type": "string"}, "examples": {"Start from the 50th result": {"value": "50"}, "Start from item with id xyz": {"value": "xyz"}}}, {"name": "limit", "description": "Limit number of results, 1000 max", "in": "query", "required": false, "schema": {"type": "integer"}}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return id, name & owned_by": {"value": "id,name,owned_by"}}}, {"name": "deref", "description": "Dereference foreign keys", "in": "query", "schema": {"type": "string", "default": "auto"}, "examples": {"(default) Automatically replace all foreign key ids with referenced resource name": {"value": "auto"}, "Do not dereference anything, just return ids": {"value": "none"}, "Dereference creator by email, owner by name": {"value": "creator:email, owned_by:name"}}}, {"$ref": "#/components/parameters/atParam"}], "responses": {"200": {"description": "List clouds response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ListCloudsResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}}, "summary": "List clouds", "security": [{"ApiKeyAuth": ["read:cloud"]}, {"CookieAuth": ["read:cloud"]}], "tags": ["clouds"], "x-cli-table-default": ["name", "provider", "tags"], "x-cli-table-extended": ["id", "name", "provider", "tags", "owned_by", "created_by"]}, "post": {"description": "Adds a new cloud and returns the cloud's id. ADD permission required on cloud.", "operationId": "add-cloud", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AddCloudRequest"}}}}, "responses": {"200": {"description": "Cloud added succesfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "string"}}}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}}, "summary": "Add cloud", "security": [{"ApiKeyAuth": ["add:cloud"]}, {"CookieAuth": ["add:cloud"]}], "tags": ["clouds"]}}, "/api/v2/clouds/{cloud}": {"get": {"description": "Get details about target cloud", "operationId": "get-cloud", "parameters": [{"in": "path", "name": "cloud", "required": true, "schema": {"type": "string"}, "example": "my-cloud"}, {"name": "sort", "description": "Order results by", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Sort by name, descending": {"value": "-name"}}}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return id, name & owned_by": {"value": "id,name,owned_by"}}}, {"name": "deref", "description": "Dereference foreign keys", "in": "query", "schema": {"type": "string", "default": "auto"}, "examples": {"Automatically replace all foreign key ids with referenced resource name": {"value": "auto"}, "Do not dereference anything, just return ids": {"value": "none"}, "Dereference creator by email, owner by name": {"value": "creator:email, owned_by:name"}}}], "responses": {"200": {"description": "Cloud returned successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetCloudResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Cloud not found"}}, "summary": "Get cloud", "security": [{"ApiKeyAuth": ["read:cloud"]}, {"CookieAuth": ["read:cloud"]}], "tags": ["clouds"], "x-cli-table-default": ["name", "provider", "tags"], "x-cli-table-extended": ["id", "name", "provider", "tags", "owned_by", "created_by"]}, "put": {"description": "Update target cloud name or credentials", "operationId": "edit-cloud", "parameters": [{"in": "path", "name": "cloud", "required": true, "schema": {"type": "string"}, "example": "my-cloud"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/EditCloudRequest"}}}}, "responses": {"200": {"description": "Cloud updated successfully"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Cloud not found"}}, "summary": "Edit cloud", "security": [{"ApiKeyAuth": ["edit:cloud"]}, {"CookieAuth": ["edit:cloud"]}], "tags": ["clouds"]}, "delete": {"description": "Remove target cloud", "operationId": "remove-cloud", "parameters": [{"in": "path", "name": "cloud", "required": true, "schema": {"type": "string"}, "example": "my-cloud"}], "responses": {"200": {"description": "Cloud removed successfully"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Cloud not found"}}, "summary": "Remove cloud", "security": [{"ApiKeyAuth": ["remove:cloud"]}, {"CookieAuth": ["remove:cloud"]}], "tags": ["clouds"]}}, "/api/v2/clusters": {"get": {"description": "List clusters", "operationId": "list-clusters", "parameters": [{"name": "cloud", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Filter by cloud id": {"value": "0194030499e74b02bdf68fa7130fb0b2"}, "Filter by cloud name": {"value": "OSP10-new"}, "Filter by cloud provider": {"value": "provider:digitalocean"}}}, {"name": "search", "description": "Only return results matching search filter", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Filter by cluster created_by attribute": {"value": "created_by:csk"}}}, {"name": "sort", "description": "Order results by", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Sort by name, descending": {"value": "-name"}}}, {"name": "start", "description": "Start results from index or id", "in": "query", "required": false, "schema": {"type": "string"}, "examples": {"Start from the 50th result": {"value": "50"}, "Start from item with id xyz": {"value": "xyz"}}}, {"name": "limit", "description": "Limit number of results, 1000 max", "in": "query", "required": false, "schema": {"type": "integer"}}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return id, name & owned_by": {"value": "id,name,owned_by"}}}, {"name": "deref", "description": "Dereference foreign keys", "in": "query", "schema": {"type": "string", "default": "auto"}, "examples": {"(default) Automatically replace all foreign key ids with referenced resource name ": {"value": "auto"}, "Do not dereference anything, just return ids": {"value": "none"}, "Dereference cloud id to cloud provider": {"value": "cloud:provider"}, "Dereference cloud by provider, creator by email, owner by name": {"value": "cloud:provider, creator:email, owned_by:name"}}}, {"$ref": "#/components/parameters/atParam"}], "responses": {"200": {"description": "List clusters response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ListClustersResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}}, "summary": "List clusters", "security": [{"ApiKeyAuth": ["read:cluster", "read:cloud"]}, {"CookieAuth": ["read:cluster", "read:cloud"]}], "tags": ["clusters"], "x-cli-table-default": ["name", "cloud", "total_nodes", "tags"], "x-cli-table-extended": ["id", "name", "cloud", "total_nodes", "total_cpus", "total_ram", "tags", "owned_by", "created_by"]}, "post": {"description": "Create a new cluster and return the cluster's id", "operationId": "create-cluster", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateClusterRequest"}}}}, "responses": {"200": {"description": "Cluster creation started", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateClusterResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}}, "summary": "Create cluster", "security": [{"ApiKeyAuth": ["create:cluster", "read:cloud", "create_resources:cloud"]}, {"CookieAuth": ["create:cluster", "read:cloud", "create_resources:cloud"]}], "tags": ["clusters"]}}, "/api/v2/clusters/{cluster}": {"get": {"description": "Get details about target cluster", "operationId": "get-cluster", "parameters": [{"in": "path", "name": "cluster", "required": true, "schema": {"type": "string"}, "example": "my-cluster"}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return id, name & owned_by": {"value": "id,name,owned_by"}}}, {"name": "deref", "description": "Dereference foreign keys", "in": "query", "schema": {"type": "string", "default": "auto"}, "examples": {"(default) Automatically replace all foreign key ids with referenced resource name ": {"value": "auto"}, "Do not dereference anything, just return ids": {"value": "none"}, "Dereference cloud id to cloud provider": {"value": "cloud:provider"}, "Dereference cloud by provider, creator by email, owner by name": {"value": "cloud:provider, creator:email, owned_by:name"}}}, {"name": "credentials", "in": "query", "description": "Return the cluster's credentials. Requires READ_CREDENTIALS permission on cluster.", "required": false, "schema": {"type": "boolean", "default": false}, "example": true}], "responses": {"200": {"description": "Cluster returned successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetClusterResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Cluster not found"}}, "summary": "Get cluster", "security": [{"ApiKeyAuth": ["read:cluster", "read:cloud"]}, {"CookieAuth": ["read:cluster", "read:cloud"]}], "tags": ["clusters"], "x-cli-table-default": ["name", "cloud", "total_nodes", "tags"], "x-cli-table-extended": ["id", "name", "cloud", "total_nodes", "total_cpus", "total_ram", "tags", "owned_by", "created_by"]}, "delete": {"description": "Destroy target clusters", "operationId": "destroy-cluster", "parameters": [{"in": "path", "name": "cluster", "required": true, "schema": {"type": "string"}, "example": "my-cluster"}], "responses": {"200": {"description": "Cluster destruction successful", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DestroyClusterResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Cluster not found"}}, "summary": "Destroy cluster", "security": [{"ApiKeyAuth": ["read:cloud", "destroy:cluster"]}, {"CookieAuth": ["read:cloud", "destroy:cluster"]}], "tags": ["clusters"]}}, "/api/v2/images": {"get": {"description": "List images owned by the active org. READ permission required on image & cloud.", "operationId": "list-images", "parameters": [{"name": "cloud", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Filter by cloud name": {"value": "my-cloud"}, "Filter by cloud id": {"value": "0194030499e74b02bdf68fa7130fb0b2"}, "Filter by cloud provider": {"value": "provider:digitalocean"}}}, {"name": "search", "description": "Only return results matching search filter", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Filter by OS type": {"value": "os_type:windows"}}}, {"name": "sort", "description": "Order results by", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Sort by name, descending": {"value": "-name"}}}, {"name": "start", "description": "Start results from index or id", "in": "query", "required": false, "schema": {"type": "string"}, "examples": {"Start from the 50th result": {"value": "50"}, "Start from item with id xyz": {"value": "xyz"}}}, {"name": "limit", "description": "Limit number of results, 1000 max", "in": "query", "required": false, "schema": {"type": "integer"}}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return id, name & owned_by": {"value": "id,name,owned_by"}}}, {"name": "deref", "description": "Dereference foreign keys", "in": "query", "schema": {"type": "string", "default": "auto"}, "examples": {"(default) Automatically replace all foreign key ids with referenced resource name ": {"value": "auto"}, "Do not dereference anything, just return ids": {"value": "none"}, "Dereference cloud id to cloud provider": {"value": "cloud:provider"}, "Dereference cloud by provider, creator by email, owner by name": {"value": "cloud:provider, creator:email, owned_by:name"}}}, {"$ref": "#/components/parameters/atParam"}], "responses": {"200": {"description": "List images response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ListImagesResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}}, "summary": "List images", "security": [{"ApiKeyAuth": ["read:image", "read:cloud"]}, {"CookieAuth": ["read:image", "read:cloud"]}], "tags": ["images"], "x-cli-table-default": ["starred", "name", "cloud", "os_type", "tags"], "x-cli-table-extended": ["starred", "id", "external_id", "name", "cloud", "os_type", "tags", "owned_by", "created_by"]}}, "/api/v2/images/{image}": {"get": {"description": "Get details about target image", "operationId": "get-image", "parameters": [{"in": "path", "name": "image", "required": true, "schema": {"type": "string"}, "example": "ubuntu-1604-xenial-v20210928"}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return id, name & owned_by": {"value": "id,name,owned_by"}}}, {"name": "deref", "description": "Dereference foreign keys", "in": "query", "schema": {"type": "string", "default": "auto"}, "examples": {"(default) Automatically replace all foreign key ids with referenced resource name ": {"value": "auto"}, "Do not dereference anything, just return ids": {"value": "none"}, "Dereference cloud id to cloud provider": {"value": "cloud:provider"}, "Dereference cloud by provider, creator by email, owner by name": {"value": "cloud:provider, creator:email, owned_by:name"}}}], "responses": {"200": {"description": "Image returned successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetImageResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Image not found"}}, "summary": "Get image", "security": [{"ApiKeyAuth": ["read:image", "read:cloud"]}, {"CookieAuth": ["read:image", "read:cloud"]}], "tags": ["images"], "x-cli-table-default": ["starred", "name", "cloud", "os_type", "tags"], "x-cli-table-extended": ["starred", "id", "external_id", "name", "cloud", "os_type", "tags", "owned_by", "created_by"]}}, "/api/v2/machines": {"get": {"description": "List machines owned by the active org. READ permission required on machine & cloud.", "operationId": "list-machines", "parameters": [{"name": "cloud", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Filter by cloud id": {"value": "0194030499e74b02bdf68fa7130fb0b2"}, "Filter by cloud name": {"value": "OSP10-new"}, "Filter by cloud provider": {"value": "provider:digitalocean"}}}, {"name": "search", "description": "Only return results matching search filter", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Filter by machine type": {"value": "state:running"}}}, {"name": "sort", "description": "Order results by", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Sort by name, descending": {"value": "-name"}}}, {"name": "start", "description": "Start results from index or id", "in": "query", "required": false, "schema": {"type": "string"}, "examples": {"Start from the 50th result": {"value": "50"}, "Start from item with id xyz": {"value": "xyz"}}}, {"name": "limit", "description": "Limit number of results, 1000 max", "in": "query", "required": false, "schema": {"type": "integer"}}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return id, name & owned_by": {"value": "id,name,owned_by"}}}, {"name": "deref", "description": "Dereference foreign keys", "in": "query", "schema": {"type": "string", "default": "auto"}, "examples": {"(default) Automatically replace all foreign key ids with referenced resource name ": {"value": "auto"}, "Do not dereference anything, just return ids": {"value": "none"}, "Dereference cloud id to cloud provider": {"value": "cloud:provider"}, "Dereference cloud by provider, creator by email, owner by name": {"value": "cloud:provider, creator:email, owned_by:name"}}}, {"$ref": "#/components/parameters/atParam"}], "responses": {"200": {"description": "List machines response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ListMachinesResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}}, "summary": "List machines", "security": [{"ApiKeyAuth": ["read:machine", "read:cloud"]}, {"CookieAuth": ["read:machine", "read:cloud"]}], "tags": ["machines"], "x-cli-table-default": ["name", "cloud", "state", "tags"], "x-cli-table-extended": ["id", "name", "state", "cloud", "external_id", "public_ips", "tags", "owned_by", "created_by"]}, "post": {"description": "Creates one or more machines on the specified cloud. If async is true, a jobId will be returned.\nREAD permission required on cloud. CREATE_RESOURCES permission required on cloud. READ permission required on location.\nCREATE_RESOURCES permission required on location. CREATE permission required on machine. RUN permission required on script. READ permission required on key.\n", "operationId": "create-machine", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateMachineRequest"}, "examples": {"NoCloudSpecifiedMachine": {"summary": "Provision a machine without defining a specific cloud", "value": {"name": "TestMachine", "image": "Ubuntu", "size": {"cpu": 1, "memory": 1024}, "key": "TestKey", "monitoring": true}}, "SelectedCloudMachine": {"summary": "Provision a machine in a specific cloud", "value": {"cloud": "6a760c7690dc4ac9913ce9b109aa900c", "name": "testmachine", "image": "Ubuntu", "size": {"cpu": 2, "memory": 2048}}}, "AmazonExampleMachine": {"summary": "Provision a machine in one of your Amazon clouds", "value": {"provider": "amazon", "name": "awsmachine", "image": "Ubuntu", "size": "t3.micro"}}, "GoogleExampleMachine": {"summary": "Provision a machine in one of your Google clouds", "value": {"provider": "google", "name": "gcemachine", "image": "Ubuntu", "size": "e2-medium"}}, "AzureExampleMachine": {"summary": "Provision a machine in one of your Azure clouds", "value": {"provider": "azure", "name": "azuremachine", "image": "Ubuntu", "size": "Standard_D4s_v5"}}, "FullExample": {"summary": "Provision 2 machines with monitoring, schedules, expiration and provisioning scripts", "value": {"cloud": "GCE", "name": "testmachine", "image": "Ubuntu", "size": {"cpu": 2, "memory": 2048}, "location": "us-east1-b", "key": "TestKey", "monitoring": true, "quantity": 2, "expiration": {"action": "destroy", "date": "2025-08-30T18:24:15Z"}, "scripts": [{"inline": "#!/bin/bash\n touch ~/inline.txt"}, {"script": "test123"}], "schedules": [{"schedule_type": "one_off", "datetime": "2023-09-22T18:19:28Z", "script": {"script": "test123"}}]}}}}}}, "responses": {"200": {"description": "Machine provisioning started", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateMachineResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}}, "summary": "Create machine", "security": [{"ApiKeyAuth": ["create:machine", "read:cloud", "create_resources:cloud", "read:location", "create_resources:location", "read:image", "create_resources:image", "read:script", "read:key"]}, {"CookieAuth": ["create:machine", "read:cloud", "create_resources:cloud", "read:location", "create_resources:location", "read:image", "create_resources:image", "read:script", "read:key"]}], "tags": ["machines"]}}, "/api/v2/machines/{machine}": {"get": {"description": "Get details about target machine", "operationId": "get-machine", "parameters": [{"in": "path", "name": "machine", "required": true, "schema": {"type": "string"}, "example": "my-machine"}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return id, name & owned_by": {"value": "id,name,owned_by"}}}, {"name": "deref", "description": "Dereference foreign keys", "in": "query", "schema": {"type": "string", "default": "auto"}, "examples": {"(default) Automatically replace all foreign key ids with referenced resource name ": {"value": "auto"}, "Do not dereference anything, just return ids": {"value": "none"}, "Dereference cloud id to cloud provider": {"value": "cloud:provider"}, "Dereference cloud by provider, creator by email, owner by name": {"value": "cloud:provider, creator:email, owned_by:name"}}}], "responses": {"200": {"description": "Machine returned successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetMachineResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Machine not found"}}, "summary": "Get machine", "security": [{"ApiKeyAuth": ["read:machine", "read:cloud"]}, {"CookieAuth": ["read:machine", "read:cloud"]}], "tags": ["machines"], "x-cli-table-default": ["name", "cloud", "state", "tags"], "x-cli-table-extended": ["id", "name", "state", "cloud", "external_id", "public_ips", "tags", "owned_by", "created_by"]}, "put": {"description": "Edit target machine", "operationId": "edit-machine", "parameters": [{"in": "path", "name": "machine", "required": true, "schema": {"type": "string"}, "example": "my-machine"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/EditMachineRequest"}}}}, "responses": {"200": {"description": "Machine successfully updated"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Machine not found"}}, "summary": "Edit machine", "security": [{"ApiKeyAuth": ["edit:machine"]}, {"CookieAuth": ["edit:machine"]}], "tags": ["machines"]}}, "/api/v2/machines/{machine}/actions/destroy": {"post": {"description": "Destroy target machine", "operationId": "destroy-machine", "parameters": [{"in": "path", "name": "machine", "required": true, "schema": {"type": "string"}, "example": "my-machine"}], "responses": {"200": {"description": "Machine destroy issued successfully"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Machine not found"}, "422": {"description": "Action not supported on target machine"}}, "summary": "Destroy machine", "security": [{"ApiKeyAuth": ["destroy:machine"]}, {"CookieAuth": ["destroy:machine"]}], "tags": ["machines"]}}, "/api/v2/machines/{machine}/actions/reboot": {"post": {"description": "Reboot target machine", "operationId": "reboot-machine", "parameters": [{"in": "path", "name": "machine", "required": true, "schema": {"type": "string"}, "example": "my-machine"}], "responses": {"200": {"description": "Machine reboot issued successfully"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Machine not found"}, "422": {"description": "Action not supported on target machine"}}, "summary": "Reboot machine", "security": [{"ApiKeyAuth": ["reboot:machine"]}, {"CookieAuth": ["reboot:machine"]}], "tags": ["machines"]}}, "/api/v2/machines/{machine}/actions/start": {"post": {"description": "Start target machine", "operationId": "start-machine", "parameters": [{"in": "path", "name": "machine", "required": true, "schema": {"type": "string"}, "example": "my-machine"}], "responses": {"200": {"description": "Machine start issued successfully"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Machine not found"}, "422": {"description": "Action not supported on target machine"}}, "summary": "Start machine", "security": [{"ApiKeyAuth": ["start:machine"]}, {"CookieAuth": ["start:machine"]}], "tags": ["machines"]}}, "/api/v2/machines/{machine}/actions/stop": {"post": {"description": "Stop target machine", "operationId": "stop-machine", "parameters": [{"in": "path", "name": "machine", "required": true, "schema": {"type": "string"}, "example": "my-machine"}], "responses": {"200": {"description": "Machine stop issued successfully"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Machine not found"}, "422": {"description": "Action not supported on target machine"}}, "summary": "Stop machine", "security": [{"ApiKeyAuth": ["stop:machine"]}, {"CookieAuth": ["stop:machine"]}], "tags": ["machines"]}}, "/api/v2/machines/{machine}/actions/suspend": {"post": {"description": "Suspend target machine", "operationId": "suspend-machine", "parameters": [{"in": "path", "name": "machine", "required": true, "schema": {"type": "string"}, "example": "my-machine"}], "responses": {"200": {"description": "Machine suspend issued successfully"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Machine not found"}, "422": {"description": "Action not supported on target machine"}}, "summary": "Suspend machine", "security": [{"ApiKeyAuth": ["suspend:machine"]}, {"CookieAuth": ["suspend:machine"]}], "tags": ["machines"]}}, "/api/v2/machines/{machine}/actions/resume": {"post": {"description": "Resume target machine", "operationId": "resume-machine", "parameters": [{"in": "path", "name": "machine", "required": true, "schema": {"type": "string"}, "example": "my-machine"}], "responses": {"200": {"description": "Machine resume issued successfully"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Machine not found"}, "422": {"description": "Action not supported on target machine"}}, "summary": "Resume machine", "security": [{"ApiKeyAuth": ["resume:machine"]}, {"CookieAuth": ["resume:machine"]}], "tags": ["machines"]}}, "/api/v2/machines/{machine}/actions/undefine": {"post": {"description": "Undefine target machine", "operationId": "undefine-machine", "parameters": [{"in": "path", "name": "machine", "required": true, "schema": {"type": "string"}, "example": "my-machine"}, {"in": "query", "name": "delete_domain_image", "schema": {"type": "boolean"}}], "responses": {"200": {"description": "Machine undefine issued successfully"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Machine not found"}, "422": {"description": "Action not supported on target machine"}}, "summary": "Undefine machine", "security": [{"ApiKeyAuth": ["undefine:machine"]}, {"CookieAuth": ["undefine:machine"]}], "tags": ["machines"]}}, "/api/v2/machines/{machine}/actions/rename": {"post": {"description": "Rename target machine", "operationId": "rename-machine", "parameters": [{"in": "path", "name": "machine", "required": true, "schema": {"type": "string"}, "example": "my-machine"}, {"in": "query", "name": "name", "required": true, "description": "New machine name", "schema": {"type": "string"}, "example": "my-renamed-machine"}], "responses": {"200": {"description": "Machine renamed successfully"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Machine not found"}, "422": {"description": "Action not supported on target machine"}}, "summary": "Rename machine", "security": [{"ApiKeyAuth": ["rename:machine"]}, {"CookieAuth": ["rename:machine"]}], "tags": ["machines"]}}, "/api/v2/machines/{machine}/actions/resize": {"post": {"description": "Resize target machine", "operationId": "resize-machine", "parameters": [{"in": "path", "name": "machine", "required": true, "schema": {"type": "string"}, "example": "my-machine"}, {"in": "query", "name": "size", "required": true, "schema": {"type": "string"}, "example": "9417745961a84bffbf6419e5of68faa5"}], "responses": {"200": {"description": "Machine resize issued successfully"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Machine not found"}, "422": {"description": "Action not supported on target machine"}}, "summary": "Resize machine", "security": [{"ApiKeyAuth": ["resize:machine"]}, {"CookieAuth": ["resize:machine"]}], "tags": ["machines"]}}, "/api/v2/machines/{machine}/actions/clone": {"post": {"description": "Clone target machine", "operationId": "clone-machine", "parameters": [{"in": "path", "name": "machine", "required": true, "schema": {"type": "string"}, "example": "my-machine"}, {"in": "query", "name": "name", "required": true, "schema": {"type": "string"}, "example": "my-machine-clone"}, {"in": "query", "name": "run_async", "schema": {"type": "boolean"}, "example": false}], "responses": {"200": {"description": "Machine clone issued successfully"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Machine not found"}, "422": {"description": "Action not supported on target machine"}}, "summary": "Clone machine", "security": [{"ApiKeyAuth": ["clone:machine"]}, {"CookieAuth": ["clone:machine"]}], "tags": ["machines"]}}, "/api/v2/machines/{machine}/actions/console": {"x-cli-ignore": true, "post": {"description": "Open VNC console on target machine", "operationId": "console", "parameters": [{"in": "path", "name": "machine", "required": true, "schema": {"type": "string"}, "example": "my-machine"}], "responses": {"200": {"description": "Machine console opened successfully"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Machine not found"}, "422": {"description": "Action not supported on target machine"}, "501": {"description": "Action not implemented"}}, "summary": "Open console", "security": [{"ApiKeyAuth": ["console:machine"]}, {"CookieAuth": ["console:machine"]}], "tags": ["machines"]}}, "/api/v2/machines/{machine}/actions/ssh": {"x-cli-ignore": true, "post": {"description": "Open secure shell on target machine", "operationId": "ssh", "parameters": [{"in": "path", "name": "machine", "required": true, "schema": {"type": "string"}, "example": "my-machine"}], "responses": {"302": {"description": "Redirect to machine shell"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Machine not found"}, "422": {"description": "Action not supported on target machine"}}, "summary": "Open secure shell", "security": [{"ApiKeyAuth": ["read:cloud", "read:machine", "ssh:machine"]}, {"CookieAuth": ["read:cloud", "read:machine", "ssh:machine"]}], "tags": ["machines"]}}, "/api/v2/machines/{machine}/actions/associate-key": {"put": {"description": "Associate a key with a machine.", "operationId": "associate-key", "parameters": [{"in": "path", "name": "machine", "required": true, "schema": {"type": "string"}, "example": "my-machine"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/KeyMachineAssociation"}}}}, "responses": {"200": {"description": "Association successful"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Machine or Key not found"}, "422": {"description": "Action not supported on target machine"}, "503": {"description": "Could not connect to target machine"}}, "summary": "Associate a key with a machine", "security": [{"ApiKeyAuth": ["associate_key:machine", "read:cloud", "read_private:key"]}, {"CookieAuth": ["associate_key:machine", "read:cloud", "read_private:key"]}], "tags": ["machines"]}}, "/api/v2/machines/{machine}/actions/disassociate-key": {"delete": {"description": "Disassociate a key from a machine.", "operationId": "disassociate-key", "parameters": [{"in": "path", "name": "machine", "required": true, "schema": {"type": "string"}, "example": "my-machine"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/KeyMachineDisassociation"}}}}, "responses": {"200": {"description": "Disassociation successful"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Machine or Key not found"}, "422": {"description": "Action not supported on target machine"}}, "summary": "Disassociate a key from a machine", "security": [{"ApiKeyAuth": ["disassociate_key:machine", "read:cloud"]}, {"CookieAuth": ["disassociate_key:machine", "read:cloud"]}], "tags": ["machines"]}}, "/api/v2/machines/{machine}/snapshots": {"get": {"description": "List snapshots of target machine", "operationId": "list-snapshots", "parameters": [{"in": "path", "name": "machine", "required": true, "schema": {"type": "string"}, "example": "my-machine"}], "responses": {"200": {"description": "List machine snapshots response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ListSnapshotsResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Machine not found"}, "422": {"description": "Action not supported on target machine"}}, "summary": "List machine snapshots", "security": [{"ApiKeyAuth": ["read:machine", "list_snapshots:machine"]}, {"CookieAuth": ["read:machine", "list_snapshots:machine"]}], "tags": ["snapshots"]}, "post": {"description": "Create snapshots of target machine", "operationId": "create-snapshot", "parameters": [{"in": "path", "name": "machine", "required": true, "schema": {"type": "string"}, "example": "my-machine"}, {"in": "query", "name": "name", "required": true, "schema": {"type": "string"}, "example": "my-snapshot"}], "responses": {"200": {"description": "Create machine snapshot response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateSnapshotResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Machine not found"}, "422": {"description": "Action not supported on target machine"}}, "summary": "Create snapshot", "security": [{"ApiKeyAuth": ["read:machine", "list_snapshots:machine", "create_snapshots:machine"]}, {"CookieAuth": ["read:machine", "list_snapshots:machine", "create_snapshots:machine"]}], "tags": ["snapshots"]}}, "/api/v2/machines/{machine}/snapshots/{snapshot}": {"post": {"description": "Revert machine to snapshot", "operationId": "revert-to-snapshot", "parameters": [{"in": "path", "name": "machine", "required": true, "schema": {"type": "string"}, "example": "my-machine"}, {"in": "path", "name": "snapshot", "required": true, "schema": {"type": "string"}, "example": "my-snapshot"}], "responses": {"200": {"description": "Revert machine to snapshot issued successfully"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Machine not found"}, "422": {"description": "Action not supported on target machine"}}, "summary": "Revert to snapshot", "security": [{"ApiKeyAuth": ["read:machine", "list_snapshots:machine", "revert_to_snapshots:machine"]}, {"CookieAuth": ["read:machine", "list_snapshots:machine", "revert_to_snapshots:machine"]}], "tags": ["snapshots"]}, "delete": {"description": "Remove target machine snapshot", "operationId": "remove-snapshot", "parameters": [{"in": "path", "name": "machine", "required": true, "schema": {"type": "string"}, "example": "my-machine"}, {"in": "path", "name": "snapshot", "required": true, "schema": {"type": "string"}, "example": "my-snapshot"}], "responses": {"200": {"description": "Snapshot removed successfully"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Machine not found"}, "422": {"description": "Action not supported on target machine"}}, "summary": "Remove snapshot", "security": [{"ApiKeyAuth": ["read:machine", "list_snapshots:machine", "create_snapshots:machine"]}, {"CookieAuth": ["read:machine", "list_snapshots:machine", "create_snapshots:machine"]}], "tags": ["snapshots"]}}, "/api/v2/networks": {"get": {"description": "List networks owned by the active org. READ permission required on network & cloud.", "operationId": "list-networks", "parameters": [{"name": "cloud", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Filter by cloud id": {"value": "0194030499e74b02bdf68fa7130fb0b2"}, "Filter by cloud name": {"value": "OSP10-new"}, "Filter by cloud provider": {"value": "provider:digitalocean"}}}, {"name": "search", "description": "Only return results matching search filter", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Filter by network name": {"value": "cinet3"}}}, {"name": "sort", "description": "Order results by", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Sort by name, descending": {"value": "-name"}}}, {"name": "start", "description": "Start results from index or id", "in": "query", "required": false, "schema": {"type": "string"}, "examples": {"Start from the 50th result": {"value": "50"}, "Start from item with id xyz": {"value": "xyz"}}}, {"name": "limit", "description": "Limit number of results, 1000 max", "in": "query", "required": false, "schema": {"type": "integer"}}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return id, name & owned_by": {"value": "id,name,owned_by"}}}, {"name": "deref", "description": "Dereference foreign keys", "in": "query", "schema": {"type": "string", "default": "auto"}, "examples": {"(default) Automatically replace all foreign key ids with referenced resource name ": {"value": "auto"}, "Do not dereference anything, just return ids": {"value": "none"}, "Dereference cloud id to cloud provider": {"value": "cloud:provider"}, "Dereference cloud by provider, creator by email, owner by name": {"value": "cloud:provider, creator:email, owned_by:name"}}}, {"$ref": "#/components/parameters/atParam"}], "responses": {"200": {"description": "List networks response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ListNetworksResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}}, "summary": "List networks", "security": [{"ApiKeyAuth": ["read:network", "read:cloud"]}, {"CookieAuth": ["read:network", "read:cloud"]}], "tags": ["networks"], "x-cli-table-default": ["name", "cloud", "machines", "tags"], "x-cli-table-extended": ["id", "name", "cloud", "external_id", "machines", "tags", "owned_by", "created_by"]}, "post": {"description": "Creates one or more networks on the specified cloud. If async is true, a jobId will be returned.\nREAD permission required on cloud. CREATE_RESOURCES permission required on cloud. CREATE permission required on network.\n", "operationId": "create-network", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateNetworkRequest"}}}}, "responses": {"200": {"description": "Network provisioning started", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateNetworkResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "501": {"description": "Network support is not available"}}, "summary": "Create network", "security": [{"ApiKeyAuth": ["create:network", "read:cloud", "create_resources:cloud"]}, {"CookieAuth": ["create:network", "read:cloud", "create_resources:cloud"]}], "tags": ["networks"]}}, "/api/v2/networks/{network}": {"get": {"description": "Get details about target network", "operationId": "get-network", "parameters": [{"in": "path", "name": "network", "required": true, "schema": {"type": "string"}, "example": "my-network"}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return id, name & owned_by": {"value": "id,name,owned_by"}}}, {"name": "deref", "description": "Dereference foreign keys", "in": "query", "schema": {"type": "string", "default": "auto"}, "examples": {"(default) Automatically replace all foreign key ids with referenced resource name ": {"value": "auto"}, "Do not dereference anything, just return ids": {"value": "none"}, "Dereference cloud id to cloud provider": {"value": "cloud:provider"}, "Dereference cloud by provider, creator by email, owner by name": {"value": "cloud:provider, creator:email, owned_by:name"}}}], "responses": {"200": {"description": "Network returned successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetNetworkResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Network not found"}}, "summary": "Get network", "security": [{"ApiKeyAuth": ["read:network", "read:cloud"]}, {"CookieAuth": ["read:network", "read:cloud"]}], "tags": ["networks"], "x-cli-table-default": ["name", "cloud", "machines", "tags"], "x-cli-table-extended": ["id", "name", "cloud", "location", "external_id", "subnets", "machines", "tags", "owned_by", "created_by"]}, "put": {"description": "Edit target network", "operationId": "edit-network", "parameters": [{"in": "path", "name": "network", "required": true, "schema": {"type": "string"}, "example": "my-network"}, {"in": "query", "name": "name", "required": false, "description": "New network name", "schema": {"type": "string"}, "example": "my-renamed-network"}], "responses": {"200": {"description": "Network successfully updated"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Network not found"}}, "summary": "Edit network", "security": [{"ApiKeyAuth": ["edit:network"]}, {"CookieAuth": ["edit:network"]}], "tags": ["networks"]}, "delete": {"description": "Delete target network", "operationId": "delete-network", "parameters": [{"in": "path", "name": "network", "required": true, "schema": {"type": "string"}, "example": "my-network"}, {"in": "query", "name": "cloud", "required": true, "description": "Cloud the target network belongs to", "schema": {"type": "string"}, "example": "my-cloud"}], "responses": {"200": {"description": "Network deleted successfully"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Network not found"}}, "summary": "Delete network", "security": [{"ApiKeyAuth": ["read:cloud", "read:network", "remove:network"]}, {"CookieAuth": ["read:cloud", "read:network", "remove:network"]}], "tags": ["networks"]}}, "/api/v2/sizes": {"get": {"description": "List sizes owned by the active org. READ permission required on size & cloud.", "operationId": "list-sizes", "parameters": [{"name": "cloud", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Filter by cloud name": {"value": "my-cloud"}, "Filter by cloud id": {"value": "0194030499e74b02bdf68fa7130fb0b2"}, "Filter by cloud provider": {"value": "provider:digitalocean"}}}, {"name": "search", "description": "Only return results matching search filter", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Filter by size name": {"value": "cinet3"}}}, {"name": "sort", "description": "Order results by", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Sort by name, descending": {"value": "-name"}}}, {"name": "start", "description": "Start results from index or id", "in": "query", "required": false, "schema": {"type": "string"}, "examples": {"Start from the 50th result": {"value": "50"}, "Start from item with id xyz": {"value": "xyz"}}}, {"name": "limit", "description": "Limit number of results, 1000 max", "in": "query", "required": false, "schema": {"type": "integer"}}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return id, name & owned_by": {"value": "id,name,owned_by"}}}, {"name": "deref", "description": "Dereference foreign keys", "in": "query", "schema": {"type": "string", "default": "auto"}, "examples": {"(default) Automatically replace all foreign key ids with referenced resource name ": {"value": "auto"}, "Do not dereference anything, just return ids": {"value": "none"}, "Dereference cloud id to cloud provider": {"value": "cloud:provider"}}}, {"$ref": "#/components/parameters/atParam"}], "responses": {"200": {"description": "List sizes response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ListSizesResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}}, "summary": "List sizes", "security": [{"ApiKeyAuth": ["read:cloud"]}, {"CookieAuth": ["read:cloud"]}], "tags": ["sizes"], "x-cli-table-default": ["name", "cloud"], "x-cli-table-extended": ["id", "name", "cloud", "external_id", "machines"]}}, "/api/v2/sizes/{size}": {"get": {"description": "Get details about target size", "operationId": "get-size", "parameters": [{"in": "path", "name": "size", "required": true, "schema": {"type": "string"}, "example": "n2-highcpu-2 (2 vCPUs 2 GB RAM)"}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}}}, {"name": "deref", "description": "Dereference foreign keys", "in": "query", "schema": {"type": "string", "default": "auto"}, "examples": {"(default) Automatically replace all foreign key ids with referenced resource name ": {"value": "auto"}, "Do not dereference anything, just return ids": {"value": "none"}, "Dereference cloud id to cloud provider": {"value": "cloud:provider"}}}], "responses": {"200": {"description": "Size returned successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetSizeResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Size not found"}}, "summary": "Get size", "security": [{"ApiKeyAuth": ["read:cloud"]}, {"CookieAuth": ["read:cloud"]}], "tags": ["sizes"], "x-cli-table-default": ["name", "cloud"], "x-cli-table-extended": ["id", "name", "cloud", "locations", "external_id", "machines"]}}, "/api/v2/locations": {"get": {"description": "List locations owned by the active org. READ permission required on location & cloud.", "operationId": "list-locations", "parameters": [{"name": "cloud", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Filter by cloud name": {"value": "my-cloud"}, "Filter by cloud id": {"value": "0194030499e74b02bdf68fa7130fb0b2"}, "Filter by cloud provider": {"value": "provider:digitalocean"}}}, {"name": "search", "description": "Only return results matching search filter", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Filter by location name": {"value": "cinet3"}}}, {"name": "sort", "description": "Order results by", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Sort by name, descending": {"value": "-name"}}}, {"name": "start", "description": "Start results from index or id", "in": "query", "required": false, "schema": {"type": "string"}, "examples": {"Start from the 50th result": {"value": "50"}, "Start from item with id xyz": {"value": "xyz"}}}, {"name": "limit", "description": "Limit number of results, 1000 max", "in": "query", "required": false, "schema": {"type": "integer"}}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return id, name & owned_by": {"value": "id,name,owned_by"}}}, {"name": "deref", "description": "Dereference foreign keys", "in": "query", "schema": {"type": "string", "default": "auto"}, "examples": {"(default) Automatically replace all foreign key ids with referenced resource name ": {"value": "auto"}, "Do not dereference anything, just return ids": {"value": "none"}, "Dereference cloud id to cloud provider": {"value": "cloud:provider"}}}, {"$ref": "#/components/parameters/atParam"}], "responses": {"200": {"description": "List locations response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ListLocationsResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}}, "summary": "List locations", "security": [{"ApiKeyAuth": ["read:cloud"]}, {"CookieAuth": ["read:cloud"]}], "tags": ["locations"], "x-cli-table-default": ["name", "cloud"], "x-cli-table-extended": ["id", "name", "cloud", "external_id", "machines"]}}, "/api/v2/locations/{location}": {"get": {"description": "Get details about target location", "operationId": "get-location", "parameters": [{"in": "path", "name": "location", "required": true, "schema": {"type": "string"}, "example": "us-central1-a"}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}}}, {"name": "deref", "description": "Dereference foreign keys", "in": "query", "schema": {"type": "string", "default": "auto"}, "examples": {"(default) Automatically replace all foreign key ids with referenced resource name ": {"value": "auto"}, "Do not dereference anything, just return ids": {"value": "none"}, "Dereference cloud id to cloud provider": {"value": "cloud:provider"}}}], "responses": {"200": {"description": "Location returned successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetLocationResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Location not found"}}, "summary": "Get location", "security": [{"ApiKeyAuth": ["read:cloud"]}, {"CookieAuth": ["read:cloud"]}], "tags": ["locations"], "x-cli-table-default": ["name", "cloud"], "x-cli-table-extended": ["id", "name", "cloud", "locations", "external_id", "machines"]}}, "/api/v2/volumes": {"get": {"description": "List volumes owned by the active org. READ permission required on volume & cloud.", "operationId": "list-volumes", "parameters": [{"name": "cloud", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Filter by cloud id": {"value": "0194030499e74b02bdf68fa7130fb0b2"}, "Filter by cloud name": {"value": "OSP10-new"}, "Filter by cloud provider": {"value": "provider:digitalocean"}}}, {"name": "search", "description": "Only return results matching search filter", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Filter by volume location": {"value": "location:Amsterdam"}}}, {"name": "sort", "description": "Order results by", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Sort by name, descending": {"value": "-name"}}}, {"name": "start", "description": "Start results from index or id", "in": "query", "required": false, "schema": {"type": "string"}, "examples": {"Start from the 50th result": {"value": "50"}, "Start from item with id xyz": {"value": "xyz"}}}, {"name": "limit", "description": "Limit number of results, 1000 max", "in": "query", "required": false, "schema": {"type": "integer"}}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return id, name & owned_by": {"value": "id,name,owned_by"}}}, {"name": "deref", "description": "Dereference foreign keys", "in": "query", "schema": {"type": "string"}, "examples": {"(default) Automatically replace all foreign key ids with referenced resource name ": {"value": "auto"}, "Do not dereference anything, just return ids": {"value": "none"}, "Dereference cloud id to cloud provider": {"value": "cloud:provider"}, "Dereference cloud by provider, creator by email, owner by name": {"value": "cloud:provider, creator:email, owned_by:name"}}}, {"$ref": "#/components/parameters/atParam"}], "responses": {"200": {"description": "List volumes response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ListVolumesResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}}, "summary": "List volumes", "security": [{"ApiKeyAuth": ["read:volume", "read:cloud"]}, {"CookieAuth": ["read:volume", "read:cloud"]}], "tags": ["volumes"], "x-cli-table-default": ["name", "size", "cloud", "location", "attached_to", "tags"], "x-cli-table-extended": ["id", "name", "size", "cloud", "location", "external_id", "attached_to", "tags", "owned_by", "created_by"]}, "post": {"description": "Creates one or more volumes on the specified cloud. If async is true, a jobId will be returned.\nREAD permission required on cloud. CREATE_RESOURCES permission required on cloud. READ permission required on location.\nCREATE_RESOURCES permission required on location. CREATE permission required on volume.\n", "operationId": "create-volume", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateVolumeRequest"}}}}, "responses": {"200": {"description": "Volume provisioning started", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateVolumeResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "501": {"description": "Volume support is not available"}}, "summary": "Create volume", "security": [{"ApiKeyAuth": ["create:volume", "read:cloud", "create_resources:cloud", "read:location", "create_resources:location"]}, {"CookieAuth": ["create:volume", "read:cloud", "create_resources:cloud", "read:location", "create_resources:location"]}], "tags": ["volumes"]}}, "/api/v2/volumes/{volume}": {"get": {"description": "Get details about target volume", "operationId": "get-volume", "parameters": [{"in": "path", "name": "volume", "required": true, "schema": {"type": "string"}, "example": "my-volume"}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return id, name & owned_by": {"value": "id,name,owned_by"}}}, {"name": "deref", "description": "Dereference foreign keys", "in": "query", "schema": {"type": "string", "default": "auto"}, "examples": {"(default) Automatically replace all foreign key ids with referenced resource name ": {"value": "auto"}, "Do not dereference anything, just return ids": {"value": "none"}, "Dereference cloud id to cloud provider": {"value": "cloud:provider"}, "Dereference cloud by provider, creator by email, owner by name": {"value": "cloud:provider, creator:email, owned_by:name"}}}], "responses": {"200": {"description": "Volume returned successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetVolumeResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Volume not found"}}, "summary": "Get volume", "security": [{"ApiKeyAuth": ["read:volume", "read:cloud"]}, {"CookieAuth": ["read:volume", "read:cloud"]}], "tags": ["volumes"], "x-cli-table-default": ["name", "size", "cloud", "location", "attached_to", "tags"], "x-cli-table-extended": ["id", "name", "size", "cloud", "location", "external_id", "attached_to", "tags", "owned_by", "created_by"]}, "put": {"description": "Edit target volume", "operationId": "edit-volume", "parameters": [{"in": "path", "name": "volume", "required": true, "schema": {"type": "string"}, "example": "my-volume"}, {"in": "query", "name": "name", "required": false, "description": "New volume name", "schema": {"type": "string"}, "example": "my-renamed-volume"}], "responses": {"200": {"description": "Volume successfully updated"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Volume not found"}}, "summary": "Edit volume", "security": [{"ApiKeyAuth": ["edit:volume", "read:cloud"]}, {"CookieAuth": ["edit:volume", "read:cloud"]}], "tags": ["volumes"]}, "delete": {"description": "Delete target volume", "operationId": "delete-volume", "parameters": [{"in": "path", "name": "volume", "required": true, "schema": {"type": "string"}, "example": "my-volume"}], "responses": {"200": {"description": "Volume successfully deleted"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Volume not found"}}, "summary": "Delete volume", "security": [{"ApiKeyAuth": ["read:volume", "delete:volume", "read:cloud"]}, {"CookieAuth": ["read:volume", "delete:volume", "read:cloud"]}], "tags": ["volumes"]}}, "/api/v2/zones": {"get": {"description": "List zones owned by the active org. READ permission required on zone & cloud.", "operationId": "list-zones", "parameters": [{"name": "cloud", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Filter by cloud id": {"value": "0194030499e74b02bdf68fa7130fb0b2"}, "Filter by cloud name": {"value": "OSP10-new"}, "Filter by cloud provider": {"value": "provider:digitalocean"}}}, {"name": "search", "description": "Only return results matching search filter", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Filter by zone name": {"value": "cinet3"}}}, {"name": "sort", "description": "Order results by", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Sort by name, descending": {"value": "-name"}}}, {"name": "start", "description": "Start results from index or id", "in": "query", "required": false, "schema": {"type": "string"}, "examples": {"Start from the 50th result": {"value": "50"}, "Start from item with id xyz": {"value": "xyz"}}}, {"name": "limit", "description": "Limit number of results, 1000 max", "in": "query", "required": false, "schema": {"type": "integer"}}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return id, name & owned_by": {"value": "id,name,owned_by"}}}, {"name": "deref", "description": "Dereference foreign keys", "in": "query", "schema": {"type": "string", "default": "auto"}, "examples": {"(default) Automatically replace all foreign key ids with referenced resource name ": {"value": "auto"}, "Do not dereference anything, just return ids": {"value": "none"}, "Dereference cloud id to cloud provider": {"value": "cloud:provider"}, "Dereference cloud by provider, creator by email, owner by name": {"value": "cloud:provider, creator:email, owned_by:name"}}}, {"$ref": "#/components/parameters/atParam"}], "responses": {"200": {"description": "List zones response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ListZonesResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}}, "summary": "List zones", "security": [{"ApiKeyAuth": ["read:zone", "read:cloud"]}, {"CookieAuth": ["read:zone", "read:cloud"]}], "tags": ["zones"], "x-cli-table-default": ["name", "cloud", "machines", "tags"], "x-cli-table-extended": ["id", "name", "cloud", "external_id", "machines", "tags", "owned_by", "created_by"]}, "post": {"description": "Creates one or more zones on the specified cloud. If async is true, a jobId will be returned.\nREAD permission required on cloud. CREATE_RESOURCES permission required on cloud. CREATE permission required on zone.\n", "operationId": "create-zone", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateZoneRequest"}}}}, "responses": {"200": {"description": "Zone provisioning started", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateZoneResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}}, "summary": "Create zone", "security": [{"ApiKeyAuth": ["create:zone", "read:cloud", "create_resources:cloud"]}, {"CookieAuth": ["create:zone", "read:cloud", "create_resources:cloud"]}], "tags": ["zones"]}}, "/api/v2/zones/{zone}": {"get": {"description": "Get details about target zone", "operationId": "get-zone", "parameters": [{"in": "path", "name": "zone", "required": true, "schema": {"type": "string"}, "example": "my-zone"}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return id, name & owned_by": {"value": "id,name,owned_by"}}}, {"name": "deref", "description": "Dereference foreign keys", "in": "query", "schema": {"type": "string", "default": "auto"}, "examples": {"(default) Automatically replace all foreign key ids with referenced resource name ": {"value": "auto"}, "Do not dereference anything, just return ids": {"value": "none"}, "Dereference cloud id to cloud provider": {"value": "cloud:provider"}, "Dereference cloud by provider, creator by email, owner by name": {"value": "cloud:provider, creator:email, owned_by:name"}}}], "responses": {"200": {"description": "Zone returned successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetZoneResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Zone not found"}}, "summary": "Get zone", "security": [{"ApiKeyAuth": ["read:zone", "read:cloud"]}, {"CookieAuth": ["read:zone", "read:cloud"]}], "tags": ["zones"], "x-cli-table-default": ["name", "cloud", "machines", "tags"], "x-cli-table-extended": ["id", "name", "cloud", "location", "external_id", "subnets", "machines", "tags", "owned_by", "created_by"]}, "put": {"description": "Edit target zone", "operationId": "edit-zone", "parameters": [{"in": "path", "name": "zone", "required": true, "schema": {"type": "string"}, "example": "my-zone"}], "responses": {"200": {"description": "Zone successfully updated"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Zone not found"}}, "summary": "Edit zone", "security": [{"ApiKeyAuth": ["edit:zone"]}, {"CookieAuth": ["edit:zone"]}], "tags": ["zones"]}, "delete": {"description": "Delete target zone", "operationId": "delete-zone", "parameters": [{"in": "path", "name": "zone", "required": true, "schema": {"type": "string"}, "example": "my-zone"}], "responses": {"200": {"description": "Zone successfully deleted"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Zone not found"}}, "summary": "Delete zone", "security": [{"ApiKeyAuth": ["read:zone", "delete:zone", "read:cloud"]}, {"CookieAuth": ["read:zone", "delete:zone", "read:cloud"]}], "tags": ["zones"]}}, "/api/v2/keys": {"get": {"description": "List keys owned by the active org. READ permission required on key.", "operationId": "list-keys", "parameters": [{"name": "search", "description": "Only return results matching search filter", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Filter by owner": {"value": "owned_by:csk@mist.io"}}}, {"name": "sort", "description": "Order results by", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Sort by name, descending": {"value": "-name"}}}, {"name": "start", "description": "Start results from index or id", "in": "query", "required": false, "schema": {"type": "string"}, "examples": {"Start from the 50th result": {"value": "50"}, "Start from item with id xyz": {"value": "xyz"}}}, {"name": "limit", "description": "Limit number of results, 1000 max", "in": "query", "required": false, "schema": {"type": "integer"}}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return id, name & owned_by": {"value": "id,name,owned_by"}}}, {"name": "deref", "description": "Dereference foreign keys", "in": "query", "schema": {"type": "string", "default": "auto"}, "examples": {"(default) Automatically replace all foreign key ids with referenced resource name": {"value": "auto"}, "Do not dereference anything, just return ids": {"value": "none"}, "Dereference creator by email, owner by name": {"value": "creator:email, owned_by:name"}}}, {"$ref": "#/components/parameters/atParam"}], "responses": {"200": {"description": "List keys response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ListKeysResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}}, "summary": "List keys", "security": [{"ApiKeyAuth": ["read:key"]}, {"CookieAuth": ["read:key"]}], "tags": ["keys"], "x-cli-table-default": ["name", "default", "tags"], "x-cli-table-extended": ["id", "name", "default", "tags", "owned_by", "created_by"]}, "post": {"description": "Adds a new key and returns the key's id. ADD permission required on key.", "operationId": "add-key", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AddKeyRequest"}}}}, "responses": {"200": {"description": "Key added succesfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AddKeyResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}}, "summary": "Add key", "security": [{"ApiKeyAuth": ["add:key"]}, {"CookieAuth": ["add:key"]}], "tags": ["keys"]}}, "/api/v2/keys/{key}": {"get": {"description": "Get details about target key", "operationId": "get-key", "parameters": [{"in": "path", "name": "key", "required": true, "schema": {"type": "string"}, "example": "my-key"}, {"in": "query", "name": "private", "description": "Return the private key. Requires READ_PRIVATE permission on key.", "required": false, "schema": {"type": "boolean", "default": false}}, {"name": "sort", "description": "Order results by", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Sort by name, descending": {"value": "-name"}}}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return id, name & owned_by": {"value": "id,name,owned_by"}}}, {"name": "deref", "description": "Dereference foreign keys", "in": "query", "schema": {"type": "string", "default": "auto"}, "examples": {"(default) Automatically replace all foreign key ids with referenced resource name": {"value": "auto"}, "Do not dereference anything, just return ids": {"value": "none"}, "Dereference creator by email, owner by name": {"value": "creator:email, owned_by:name"}}}], "responses": {"200": {"description": "Key returned successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetKeyResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Key not found"}}, "summary": "Get key", "security": [{"ApiKeyAuth": ["read:key"]}, {"CookieAuth": ["read:key"]}], "tags": ["keys"], "x-cli-table-default": ["name", "default", "tags"], "x-cli-table-extended": ["id", "name", "default", "tags", "owned_by", "created_by"]}, "put": {"description": "Edit target key", "operationId": "edit-key", "parameters": [{"in": "path", "name": "key", "required": true, "schema": {"type": "string"}, "example": "my-key"}, {"in": "query", "name": "name", "required": false, "description": "New key name", "schema": {"type": "string"}, "example": "my-renamed-key"}, {"in": "query", "name": "default", "required": false, "description": "Set as default", "schema": {"type": "boolean"}}], "responses": {"200": {"description": "Key successfully updated"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Key not found"}}, "summary": "Edit key", "security": [{"ApiKeyAuth": ["edit:key"]}, {"CookieAuth": ["edit:key"]}], "tags": ["keys"]}, "delete": {"description": "Delete target key", "operationId": "delete-key", "parameters": [{"in": "path", "name": "key", "required": true, "schema": {"type": "string"}, "example": "my-key"}], "responses": {"200": {"description": "key deleted successfully"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Key not found"}}, "summary": "Delete key", "security": [{"ApiKeyAuth": ["delete:key"]}, {"CookieAuth": ["delete:key"]}], "tags": ["keys"]}}, "/api/v2/scripts": {"get": {"description": "List scripts owned by the active org. READ permission required on script.", "operationId": "list-scripts", "parameters": [{"name": "search", "description": "Only return results matching search filter", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Filter by script name": {"value": "my-script"}}}, {"name": "sort", "description": "Order results by", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Sort by name, descending": {"value": "-name"}}}, {"name": "start", "description": "Start results from index or id", "in": "query", "required": false, "schema": {"type": "string"}, "examples": {"Start from the 3rd result": {"value": "3"}, "Start from item with id xyz": {"value": "xyz"}}}, {"name": "limit", "description": "Limit number of results, 1000 max", "in": "query", "required": false, "schema": {"type": "integer"}}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return id, name & created_by": {"value": "id,name,created_by"}}}, {"name": "deref", "description": "Dereference foreign keys", "in": "query", "schema": {"type": "string", "default": "auto"}, "examples": {"(default) Automatically replace all foreign key ids with referenced resource name ": {"value": "auto"}, "Do not dereference anything, just return ids": {"value": "none"}, "Dereference creator by email, owner by name": {"value": "creator:email, owned_by:name'"}}}, {"$ref": "#/components/parameters/atParam"}], "responses": {"200": {"description": "List scripts response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ListScriptsResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}}, "summary": "List scripts", "security": [{"ApiKeyAuth": ["read:script"]}, {"CookieAuth": ["read:script"]}], "tags": ["scripts"], "x-cli-table-default": ["name", "tags"], "x-cli-table-extended": ["id", "name", "description", "tags", "owned_by", "created_by"]}, "post": {"description": "Add script to user scripts", "operationId": "add-script", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AddScriptRequest"}}}}, "responses": {"200": {"description": "Script added succesfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "string"}}}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}}, "summary": "Add script", "security": [{"ApiKeyAuth": ["add:script"]}, {"CookieAuth": ["add:script"]}], "tags": ["scripts"]}}, "/api/v2/scripts/{script}": {"get": {"description": "Get details about target script", "operationId": "get-script", "parameters": [{"in": "path", "name": "script", "required": true, "schema": {"type": "string"}, "example": "my-script"}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return id, name & owned_by": {"value": "id,name,owned_by"}}}, {"name": "deref", "description": "Dereference foreign keys", "in": "query", "schema": {"type": "string", "default": "auto"}, "examples": {"(default) Automatically replace all foreign key ids with referenced resource name ": {"value": "auto"}, "Do not dereference anything, just return ids": {"value": "none"}, "Dereference creator by email, owner by name": {"value": "creator:email, owned_by:name'"}}}], "responses": {"200": {"description": "Script returned successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetScriptResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Script not found"}}, "summary": "Get script", "security": [{"ApiKeyAuth": ["read:script"]}, {"CookieAuth": ["read:script"]}], "tags": ["scripts"], "x-cli-table-default": ["name", "tags"], "x-cli-table-extended": ["id", "name", "description", "tags", "owned_by", "created_by"]}, "post": {"description": "Start a script job to run the script.", "operationId": "run-script", "parameters": [{"in": "path", "name": "script", "required": true, "schema": {"type": "string"}, "example": "my-script"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/RunScriptRequest"}}}}, "responses": {"200": {"description": "Run script job started successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RunScriptResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Script not found"}}, "summary": "Run script", "security": [{"ApiKeyAuth": ["read:cloud", "run_script:machine", "run:script"]}, {"CookieAuth": ["read:cloud", "run_script:machine", "run:script"]}], "tags": ["scripts"]}, "put": {"description": "Edit target script", "operationId": "edit-script", "parameters": [{"in": "path", "name": "script", "required": true, "schema": {"type": "string"}, "example": "my-script"}, {"in": "query", "name": "name", "required": false, "description": "New script name", "schema": {"type": "string"}, "example": "my-renamed-script"}, {"in": "query", "name": "description", "required": false, "description": "New script description", "schema": {"type": "string"}, "example": "description"}], "responses": {"200": {"description": "Script successfully updated"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Script not found"}}, "summary": "Edit script", "security": [{"ApiKeyAuth": ["edit:script"]}, {"CookieAuth": ["edit:script"]}], "tags": ["scripts"]}, "delete": {"description": "Delete target script", "operationId": "delete-script", "parameters": [{"in": "path", "name": "script", "required": true, "schema": {"type": "string"}, "example": "my-script"}], "responses": {"200": {"description": "Script deleted successfully"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Script not found"}}, "summary": "Delete script", "security": [{"ApiKeyAuth": ["delete:script"]}, {"CookieAuth": ["delete:script"]}], "tags": ["scripts"]}}, "/api/v2/scripts/{script}/file": {"get": {"description": "Download script file or archive", "operationId": "download-script", "parameters": [{"in": "path", "name": "script", "required": true, "schema": {"type": "string"}, "example": "my-script"}], "responses": {"200": {"description": "Script downloaded successfully", "content": {"application/octet-stream": {"schema": {"type": "string", "format": "binary"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Script not found"}}, "summary": "Download script", "tags": ["scripts"]}}, "/api/v2/scripts/{script}/url": {"get": {"description": "Generate url for fetching script file", "operationId": "generate-script-url", "parameters": [{"in": "path", "name": "script", "required": true, "schema": {"type": "string"}, "example": "my-script"}], "responses": {"200": {"description": "Script url generated successfully", "content": {"application/json": {"schema": {"type": "object", "properties": {"url": {"type": "string"}}}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Script not found"}}, "summary": "Generate script url", "security": [{"ApiKeyAuth": ["read:script"]}, {"CookieAuth": ["read:script"]}], "tags": ["scripts"]}}, "/api/v2/rules": {"get": {"description": "Return a filtered list of rules", "operationId": "list-rules", "parameters": [{"name": "search", "description": "Only return results matching search filter", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Filter by total_run_count": {"value": "total_run_count:5"}, "Filter by name": {"value": "rule-disk*"}, "Composite filter": {"value": "provider:packet AND total_run_count:5"}}}, {"name": "sort", "description": "Order results by", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Sort by name, descending": {"value": "-name"}}}, {"name": "start", "description": "Start results from index or id", "in": "query", "required": false, "schema": {"type": "string"}, "examples": {"Start from the 50th result": {"value": "50"}, "Start from item with id xyz": {"value": "xyz"}}}, {"name": "limit", "description": "Limit number of results, 1000 max", "in": "query", "required": false, "schema": {"type": "integer"}}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return id, name & owned_by": {"value": "id,name,owned_by"}}}, {"$ref": "#/components/parameters/atParam"}], "responses": {"200": {"description": "List rules response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ListRulesResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}}, "summary": "List rules", "security": [{"ApiKeyAuth": ["read:rule"]}, {"CookieAuth": ["read:rule"]}], "tags": ["rules"], "x-cli-table-default": ["name", "queries", "actions", "tags"], "x-cli-table-extended": ["id", "name", "resource_type", "selectors", "queries", "actions", "window", "frequency", "tags"]}, "post": {"description": "Add a new rule, READ permission required on target resource, ADD permission required on Rule", "operationId": "add-rule", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AddRuleRequest"}}}}, "responses": {"200": {"description": "Rule added succesfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Rule"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}}, "summary": "Add rule", "security": [{"ApiKeyAuth": ["add:rule"]}, {"CookieAuth": ["add:rule"]}], "tags": ["rules"]}}, "/api/v2/rules/{rule}": {"get": {"description": "Get details about target rule", "operationId": "get-rule", "parameters": [{"in": "path", "name": "rule", "required": true, "schema": {"type": "string"}, "example": "my-rule"}, {"name": "sort", "description": "Order results by", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Sort by name, descending": {"value": "-name"}}}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return id, name & owned_by": {"value": "id,name,owned_by"}}}], "responses": {"200": {"description": "Rule returned successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetRuleResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Rule not found"}}, "summary": "Get rule", "security": [{"ApiKeyAuth": ["read:rule"]}, {"CookieAuth": ["read:rule"]}], "tags": ["rules"], "x-cli-table-default": ["name", "queries", "actions", "tags"], "x-cli-table-extended": ["id", "name", "resource_type", "selectors", "queries", "actions", "window", "frequency", "tags"]}, "post": {"description": "Edit a rule given its UUID, EDIT permission required on rule", "operationId": "edit-rule", "parameters": [{"in": "path", "name": "rule", "required": true, "schema": {"type": "string"}, "example": "my-rule"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/EditRuleRequest"}}}}, "responses": {"200": {"description": "Rule updated succesfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Rule"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Rule not found"}}, "summary": "Update rule", "security": [{"ApiKeyAuth": ["read:cloud", "edit:rule"]}, {"CookieAuth": ["read:cloud", "edit:rule"]}], "tags": ["rules"]}, "put": {"description": "Enable or disable a rule", "operationId": "toggle-rule", "parameters": [{"in": "path", "name": "rule", "required": true, "schema": {"type": "string"}, "example": "my-rule"}, {"in": "query", "name": "action", "required": true, "schema": {"type": "string", "enum": ["enable", "disable"]}, "example": "disable"}], "responses": {"200": {"description": "Rule toggled successfully"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Rule not found"}}, "summary": "Toggle rule", "security": [{"ApiKeyAuth": ["write:rule"]}, {"CookieAuth": ["write:rule"]}], "tags": ["rules"]}, "patch": {"description": "Rename a rule", "operationId": "rename-rule", "parameters": [{"in": "path", "name": "rule", "required": true, "schema": {"type": "string"}, "example": "my-rule"}, {"in": "query", "name": "name", "required": true, "schema": {"type": "string"}, "example": "my-renamed-rule"}], "responses": {"200": {"description": "Rule renamed successfully"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Rule not found"}}, "summary": "Rename rule", "security": [{"ApiKeyAuth": ["write:rule"]}, {"CookieAuth": ["write:rule"]}], "tags": ["rules"]}, "delete": {"description": "Delete a rule given its UUID.", "operationId": "delete-rule", "parameters": [{"in": "path", "name": "rule", "required": true, "schema": {"type": "string"}, "example": "my-rule"}], "responses": {"200": {"description": "Rule deleted successfully"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Rule not found"}}, "summary": "Delete rule", "security": [{"ApiKeyAuth": ["delete:rule"]}, {"CookieAuth": ["delete:rule"]}], "tags": ["rules"]}}, "/api/v2/orgs": {"x-cli-ignore": true, "get": {"description": "List orgs owned by the requester. If parameter allorgs is true and requester is an admin then all orgs will be listed.", "operationId": "list-orgs", "parameters": [{"name": "allorgs", "description": "Return all existing organizations", "schema": {"type": "string"}, "in": "query", "required": false, "example": true}, {"name": "search", "description": "Only return results matching search filter", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Filter by orgs by name": {"value": "name:Acme"}}}, {"name": "sort", "description": "Order results by", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Sort by name, descending": {"value": "-name"}}}, {"name": "start", "description": "Start results from index or id", "in": "query", "required": false, "schema": {"type": "string"}, "examples": {"Start from the 50th result": {"value": "50"}, "Start from item with id xyz": {"value": "xyz"}}}, {"name": "limit", "description": "Limit number of results, 100 max", "in": "query", "required": false, "schema": {"type": "integer"}}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return name, id, teams": {"value": "name,id,teams"}}}, {"name": "deref", "description": "Dereference foreign keys", "in": "query", "schema": {"type": "string", "default": "auto"}, "examples": {"(default) Automatically replace all foreign key ids with referenced resource name": {"value": "auto"}, "Do not dereference anything, just return ids": {"value": "none"}, "Dereference teams": {"value": "teams:name"}}}, {"$ref": "#/components/parameters/atParam"}], "responses": {"200": {"description": "List orgs response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ListOrgsResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}}, "summary": "List orgs", "security": [{"ApiKeyAuth": [""]}, {"CookieAuth": [""]}], "tags": ["orgs"], "x-cli-table-default": ["name", "clouds_count", "teams_count"], "x-cli-table-extended": ["name", "id", "clouds_count", "teams_count", "last_active"]}}, "/api/v2/orgs/{org}": {"x-cli-ignore": true, "get": {"description": "Get details about target org", "operationId": "get-org", "parameters": [{"in": "path", "name": "org", "required": true, "schema": {"type": "string"}, "example": "my-org"}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return name, id, teams": {"value": "name,id,teams"}}}, {"name": "deref", "description": "Dereference foreign keys", "in": "query", "schema": {"type": "string", "default": "auto"}, "examples": {"(default) Automatically replace all foreign key ids with referenced resource name": {"value": "auto"}, "Do not dereference anything, just return ids": {"value": "none"}, "Dereference teams by name": {"value": "teams:name"}}}], "responses": {"200": {"description": "Organization returned successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetOrgResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Org not found"}}, "summary": "Get Org", "security": [{"ApiKeyAuth": [""]}, {"CookieAuth": [""]}], "tags": ["orgs"], "x-cli-table-extended": ["name", "id", "clouds_count", "total_machine_count", "last_active"]}}, "/api/v2/orgs/{org}/members": {"x-cli-ignore": true, "get": {"description": "List org members owned by the requester. The requester must be a member of the org.", "operationId": "list-org-members", "parameters": [{"in": "path", "name": "org", "required": true, "schema": {"type": "string"}, "example": "my-org"}, {"name": "search", "description": "Only return results matching search filter", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Filter by orgs by email": {"value": "email:dev@mist.io"}}}, {"name": "sort", "description": "Order results by", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Sort by name, descending": {"value": "-name"}}}, {"name": "start", "description": "Start results from index or id", "in": "query", "required": false, "schema": {"type": "string"}, "examples": {"Start from the 50th result": {"value": "50"}, "Start from item with id xyz": {"value": "xyz"}}}, {"name": "limit", "description": "Limit number of results, 1000 max", "in": "query", "required": false, "schema": {"type": "integer"}}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return email, last name, registration date": {"value": "email,last_name,registration_date"}}}, {"$ref": "#/components/parameters/atParam"}], "responses": {"200": {"description": "List org members response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ListOrgMembersResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}}, "summary": "List org members", "security": [{"ApiKeyAuth": [""]}, {"CookieAuth": [""]}], "tags": ["orgs"], "x-cli-table-default": ["email"], "x-cli-table-extended": ["email", "id", "last_login", "registration_date"]}}, "/api/v2/orgs/{org}/members/{member}": {"x-cli-ignore": true, "get": {"description": "Get details about target member", "operationId": "get-member", "parameters": [{"in": "path", "name": "org", "required": true, "schema": {"type": "string"}, "example": "my-org"}, {"in": "path", "name": "member", "required": true, "schema": {"type": "string"}, "example": "my-member"}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return email, last_name": {"value": "email,last_name"}}}], "responses": {"200": {"description": "member returned successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetOrgMemberResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Org not found"}}, "summary": "Get Org", "security": [{"ApiKeyAuth": [""]}, {"CookieAuth": [""]}], "tags": ["orgs"], "x-cli-table-default": ["email"], "x-cli-table-extended": ["email", "id", "last_login", "registration_date"]}}, "/api/v2/orgs/{org}/teams": {"x-cli-ignore": true, "get": {"description": "List teams in org.", "operationId": "list-org-teams", "parameters": [{"name": "org", "in": "path", "description": "Organization id", "schema": {"type": "string"}, "required": true, "example": "my-org"}, {"name": "search", "description": "Only return results matching search filter", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Filter by teams by name": {"value": "name:finance"}}}, {"name": "sort", "description": "Order results by", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Sort by name, descending": {"value": "-name"}}}, {"name": "start", "description": "Start results from index or id", "in": "query", "required": false, "schema": {"type": "string"}, "examples": {"Start from the 50th result": {"value": "50"}, "Start from item with id xyz": {"value": "xyz"}}}, {"name": "limit", "description": "Limit number of results, 1000 max", "in": "query", "required": false, "schema": {"type": "integer"}}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return name, members": {"value": "name,members"}}}, {"name": "deref", "description": "Dereference foreign keys", "in": "query", "schema": {"type": "string", "default": "auto"}, "examples": {"(default) Automatically replace all foreign key ids with referenced resource name": {"value": "auto"}, "Do not dereference anything, just return ids": {"value": "none"}, "Dereference members by email": {"value": "members:email"}}}, {"$ref": "#/components/parameters/atParam"}], "responses": {"200": {"description": "List org teams response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ListOrgTeamsResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}}, "summary": "List org teams", "security": [{"ApiKeyAuth": [""]}, {"CookieAuth": [""]}], "tags": ["orgs"], "x-cli-table-default": ["name", "members_count"], "x-cli-table-extended": ["id", "name", "members_count", "members", "description", "policy"]}}, "/api/v2/jobs/{job_id}": {"get": {"description": null, "operationId": "get-job", "parameters": [{"in": "path", "name": "job_id", "required": true, "schema": {"type": "string"}, "example": "ab74e2f0b7ae4999b1e4013e20dac418"}], "responses": {"200": {"description": "Job returned successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetJobResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Job not found"}}, "summary": "Get job", "security": [{"ApiKeyAuth": ["read:job"]}, {"CookieAuth": ["read:job"]}], "tags": ["jobs"]}}, "/api/v2/users": {"get": {"description": "Return current user if requester is not admin. Return all users for admin.", "operationId": "list-users", "parameters": [{"name": "search", "description": "Only return results matching search filter", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Filter by email": {"value": "email:dev@mist.io"}}}, {"name": "sort", "description": "Order results by", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Sort by name, descending": {"value": "-name"}}}, {"name": "start", "description": "Start results from index or id", "in": "query", "required": false, "schema": {"type": "string"}, "examples": {"Start from the 50th result": {"value": "50"}, "Start from item with id xyz": {"value": "xyz"}}}, {"name": "limit", "description": "Limit number of results, 1000 max", "in": "query", "required": false, "schema": {"type": "integer"}}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return email, last_login & registration_date": {"value": "email,last_login,registration_date"}}}, {"name": "deref", "description": "Dereference foreign keys", "in": "query", "schema": {"type": "string", "default": "auto"}, "examples": {"(default) Automatically replace all foreign key ids with referenced resource name ": {"value": "auto"}, "Do not dereference anything, just return ids": {"value": "none"}}}, {"$ref": "#/components/parameters/atParam"}], "responses": {"200": {"description": "List users response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ListUsersResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}}, "security": [{"ApiKeyAuth": [""]}, {"CookieAuth": [""]}], "summary": "List users", "tags": ["users"], "x-cli-table-default": ["email"], "x-cli-table-extended": ["email", "id", "last_login", "registration_date"]}}, "/api/v2/datapoints": {"get": {"description": "Get datapoints for a specific query", "operationId": "get-datapoints", "parameters": [{"in": "query", "name": "query", "required": true, "schema": {"type": "string"}, "examples": {"Query system_load1": {"value": "system_load1"}, "Query net_bytes_sent": {"value": "rate(net_bytes_sent{interface=\"eth0\", machine_id=\"1234\"})"}}}, {"in": "query", "name": "tags", "required": false, "schema": {"type": "string"}, "examples": {"Example string": {"value": "cluster=east1,production"}, "Example dictionary": {"value": {"cluster": "east1", "production": ""}}}}, {"in": "query", "name": "search", "required": false, "schema": {"type": "string"}, "examples": {"Filter by machine type": {"value": "state:running"}}}, {"in": "query", "name": "start", "required": false, "schema": {"type": "string"}, "examples": {"Unix timestamp": {"value": 1633096171}, "RFC3339": {"value": "2019-10-12T07:20:50.52Z"}}}, {"in": "query", "name": "end", "required": false, "schema": {"type": "string"}, "examples": {"Unix timestamp": {"value": 1633096171}, "RFC3339": {"value": "2019-10-12T07:20:50.52Z"}}}, {"in": "query", "name": "step", "required": false, "schema": {"type": "string"}, "examples": {"5 seconds (float)": {"value": 5.0}, "5 seconds (duration format)": {"value": "5s"}, "1 minute": {"value": "1m"}, "2 hours": {"value": "2h"}, "20 days": {"value": "20d"}, "4 weeks": {"value": "4w"}, "1 year": {"value": "1y"}}}, {"in": "query", "name": "time", "required": false, "schema": {"type": "string"}, "examples": {"Unix timestamp": {"value": 1633096171}, "RFC3339": {"value": "2019-10-12T07:20:50.52Z"}}}], "responses": {"200": {"description": "Datapoints returned successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetDatapointsResponse"}}}}, "400": {"description": "Bad Request"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "422": {"description": "Unprocessable Entity"}, "503": {"description": "Service Unavailable"}}, "summary": "Get datapoints", "security": [{"ApiKeyAuth": ["read:cloud", "read:machine"]}, {"CookieAuth": ["read:cloud", "read:machine"]}], "tags": ["datapoints"]}}, "/api/v2/secrets": {"get": {"description": "List secrets owned by the active org. READ permission required on secret.", "operationId": "list-secrets", "parameters": [{"name": "search", "description": "Only return results matching search filter", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Filter by name": {"value": "name:clouds/EC2-Tokyo"}}}, {"name": "sort", "description": "Order results by", "schema": {"type": "string"}, "in": "query", "required": false, "examples": {"Sort by name, descending": {"value": "-name"}}}, {"name": "start", "description": "Start results from index or id", "in": "query", "required": false, "schema": {"type": "string"}, "examples": {"Start from the 50th result": {"value": "50"}, "Start from item with id xyz": {"value": "xyz"}}}, {"name": "limit", "description": "Limit number of results, 1000 max", "in": "query", "required": false, "schema": {"type": "integer"}}, {"name": "only", "description": "Only return these fields", "in": "query", "schema": {"type": "string"}, "examples": {"Only return id": {"value": "id"}, "Return id, name & created_by": {"value": "id,title,created_by"}}}], "responses": {"200": {"description": "List secrets response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ListSecretsResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}}, "summary": "List secrets", "security": [{"ApiKeyAuth": ["read:secret"]}, {"CookieAuth": ["read:secret"]}], "tags": ["secrets"], "x-cli-table-default": ["id", "name", "tags"], "x-cli-table-extended": ["id", "name", "tags", "owned_by", "created_by"]}, "post": {"description": "Creates a new secret and returns the secret's id. CREATE permission required on secret.", "operationId": "create-secret", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateSecretRequest"}}}}, "responses": {"200": {"description": "Secret added succesfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Secret"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "409": {"description": "Path already exists. Change name of key"}}, "summary": "Create secret", "security": [{"ApiKeyAuth": ["create:secret"]}, {"CookieAuth": ["create:secret"]}], "tags": ["secrets"]}}, "/api/v2/secrets/{secret}": {"get": {"description": "Read target secret", "operationId": "get-secret", "parameters": [{"in": "path", "name": "secret", "required": true, "schema": {"type": "string"}}, {"in": "query", "name": "value", "description": "Return the secret's value. Requires READ_VALUE permission on secret.", "required": false, "schema": {"type": "boolean"}}], "responses": {"200": {"description": "Secret returned successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetSecretResponse"}}}}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Secret not found"}}, "summary": "Get secret", "security": [{"ApiKeyAuth": ["read:secret"]}, {"CookieAuth": ["read:secret"]}], "tags": ["secrets"]}, "delete": {"description": "Delete target secret", "operationId": "delete-secret", "parameters": [{"in": "path", "name": "secret", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"description": "Secret deleted successfully"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Secret not found"}}, "summary": "Delete secret", "security": [{"ApiKeyAuth": ["delete:secret"]}, {"CookieAuth": ["delete:secret"]}], "tags": ["secrets"]}, "put": {"description": "Edit/update target secret", "operationId": "edit-secret", "parameters": [{"in": "path", "name": "secret", "required": true, "schema": {"type": "string"}}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/EditSecretRequest"}}}}, "responses": {"200": {"description": "Secret edited successfully", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Secret"}}}}, "400": {"description": "Missing `secret` required parameter"}, "401": {"description": "Authentication failed"}, "403": {"description": "You are not authorized to perform this action"}, "404": {"description": "Secret not found"}}, "summary": "Edit secret", "security": [{"ApiKeyAuth": ["edit:secret"]}, {"CookieAuth": ["edit:secret"]}], "tags": ["secrets"]}}}, "security": [], "servers": [{"url": "https://mist.io/", "description": "Mist Hosted Service"}], "tags": [], "x-cli-waiters": {"job-finished": {"short": "Wait job", "long": "Wait until job finishes", "delay": 2, "attempts": 900, "retryCodes": [404], "operationId": "get-job", "matchers": [{"select": "response.body#data.finished_at", "test": "notEqual", "expected": 0, "state": "success"}, {"select": "response.body#data.error", "test": "notEqual", "expected": false, "state": "failure"}], "updates": "response.body#data.logs[:].action", "after": {"create-machine": {"job_id": "response.body#jobId"}}}}}
