{
    "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"
                }
            }
        }
    }
}
